100 double source, ref,
ons, ratio, offs, Tr, taStar, tau0, sinel;
101 int i, j, npts, noffs=0, nons=0, nphase, bpts, epts;
102 int *p, low_volts = 0,
feed;
103 double weight, div, ttime, factor, be, tauFactor, tsys;
114 printf(
"Unknown Feed %d",
feed);
120 npts = (int)h->
noint;
125 if(gsl_isinf((
double)data[i]))
127 printf(
"Scan %.2f contains inf values\n", h->
scan);
131 if(gsl_isnan((
double)data[i]))
133 printf(
"Scan %.2f contains nan values\n", h->
scan);
144 if(data[i] > 1.0e6 || data[i] < 1.0e9)
160 if(low_volts == npts)
162 printf(
"Scan %.2f contains near zero values\n", h->
scan);
178 printf(
"Scan %.2f Tcal Bogus: %.1f\n", h->
scan, h->
tcal);
216 for(i=bpts;i<epts;i++)
284 ref = offs / (double)noffs;
285 source = ons / (double)nons;
286 ratio = (source - ref) / ref;
289 taStar = tsys * ratio;
309 #ifdef CALC_TAU_FACTOR
312 tau0 = h->
mmh2o / 19.0;
319 sinel = sin(h->
el / 57.296);
320 tauFactor = exp(-tau0 * 1.0 / sinel);
336 #ifndef CALC_TAU_FACTOR
339 tau0 = h->
mmh2o / 19.0;
346 sinel = sin(h->
el / 57.296);
347 tauFactor = exp(-tau0 * 1.0 / sinel);
371 gainEl = 1.0 / gainEl;
376 Tr = taStar * factor;
380 st_print(
" %10.10s %6.2f%10.4f%6.2f%8.2f%3d%4.0f%5.1f%7.1f",
383 ttime, h->
el, source);
388 st_print(
"%7.1f%10.7f%5.0f%9.4f%9.4f%5.2f%7.1f",
389 ref, ratio, tsys, taStar, Tr, factor, Tr*
env->
jfact);
477 int i, j=0, samps, secs, foundmatch = 0;
481 double timeburn, diff;
497 if(strncmp(p->
obsmode,
"CONTFOC", 7))
506 if(strncmp(p->
obsmode,
"CONTEWFC", 8))
515 if(strncmp(p->
obsmode,
"CONTNSFC", 8))
524 if(strncmp(p->
obsmode,
"CONTSEQ", 7))
533 if(strncmp(p->
obsmode,
"CONTCAL", 7))
542 if(strncmp(p->
obsmode,
"CONTMAP", 7))
551 if(strncmp(p->
obsmode,
"CONTFIVE", 8) && strncmp(p->
obsmode,
"CONTQK5", 7))
567 tn = localtime(&iburn);
569 timeburn = (double)tn->tm_hour
570 + (
double)tn->tm_min / 60.0
571 + (double)tn->tm_sec / 3600.0;
575 diff = (timeburn - p->
ut) - 17.0;
579 diff = (timeburn - p->
ut) + 7.0;
587 st_print(
" Source Mode Scan UT Burn_Time Samps Secs Duration\n");
600 st_print(
"Found %d matching scans", j);
613 int i=0, old, indx,
feed, once, old_once = 0,
first = 1, iret;
615 double aTr, aTaStar, ret, newFactor;
616 double lambda, v, surface;
617 double A, a, Te, Fb, Et, Es, Ea, Er, Eb, Es2, num;
619 double contWorkingTime;
620 double contWorkingTsys;
621 float rmsTmb, rmsTr, rmsFlux;
649 contWorkingTsys = 0.0;
650 contWorkingTime = 0.0;
663 st_warn(
"No Valid Data Files Loaded");
677 st_report(
"Looking for scans using ALL Freqs");
686 st_report(
"Looking for scans taken on ALL dates");
695 st_report(
"Looking for scans on ALL Sources");
704 st_report(
"Looking for Entire Range of scan numbers");
758 st_report(
"Using Atmospheric Conditions & Telescope Eff for Calibration");
762 st_report(
"Using Automatically Computed Tau0");
782 st_report(
"Using Te (Taper) = %3.0fdB", Te);
788 st_report(
"Using Blockage = %5.2f%%", Fb * 100.0);
789 st_report(
"Using Lambda = %5.2f mm", lambda / 1000.0);
790 st_report(
"Using Surface = %5.2f microns", surface);
792 Es = 1.0 - exp(-(2.0*a));
793 st_report(
"Using Es (Spillover) = %.2f%%", Es*100.0);
795 num = exp(-(pow(Fb, 2.0) * a)) - exp(-a);
796 Et = (2.0 / a) * ((num*num) / Es);
797 st_report(
"Using Et (Taper) = %.2f%%", Et*100.0);
800 v = (4.0 * M_PI * surface) / lambda;
803 st_report(
"Using Er (Ruze) = %.2f%%", Er * 100.0);
805 Es2 = 1.0 - exp(-(a));
806 Eb = pow(num, 2.0) / pow(Es2, 2.0);
810 st_report(
"Using Eb (Blockage) = %.2f%%", Eb * 100.0);
812 Ea = Et * Es * Er * Eb;
813 st_report(
"Using Ea (App Eff) = %.2f%%", Ea * 100.0);
820 st_report(
"Using Beam Efficencies of: %.2f %.2f %.2f %.2f for Calibration",
829 st_report(
"NOT Appling any Calibration");
869 if(strncmp(p->
obsmode,
"CONTQK5", 7))
877 if(strncmp(p->
obsmode,
"CONTSEQ", 7))
909 st_print(
" Source Freq UT-Date UTC Scan# NS Time El Sig");
910 st_print(
" Sky S-R/R * Tsys = Ta* Tr *Fac Jy's ManTau0 TauFac ElGain");
924 if(!(feed >= 0 && feed < 4))
959 rmsTmb = rmsTr = rmsFlux = 0.0;
970 st_print(
"No Scans Found Matching Search Criteria\n");
987 st_print(
"\n%51.51s Weighted Average of %3d Scans: %8.4f%9.4f %7.1f\n",
" ",
993 st_print(
"%76.76s RMS:%9.4f%9.4f %7.1f\n",
" ", rmsTmb, rmsTr, rmsFlux);
1012 if(
getYesNoQuit(
"\n Use beam eff value of %.3f %.3f. %.3f %.3f: y/N ?",
1034 st_report(
"Sending Results to xgraphic");
1071 int i, j, n, foundone = 0;
1079 st_fail(
"do_objectNormalize(): Must perform a 'gracefit' first");
1097 st_fail(
"do_objectNormalize(): Must perform a 'gracefit' first");
1111 for(i=0;i<n;i++,f++)
1144 float max = -99999.0, *f;
1156 st_fail(
"do_contNormalize(): Must perform a 'gracefit' first");
1168 for(i=0;i<n;i++,f++)
1179 for(i=0;i<n;i++,p++)
1272 if(!strncmp(h->
obsmode,
"CONTSEQ", 7))
1277 if(!strncmp(h->
obsmode,
"CONTQK5", 7))
1282 if(!strncmp(h->
obsmode,
"CONTFOC", 7))
1287 if(!strncmp(h->
obsmode,
"CONTNSFC", 8))
1292 if(!strncmp(h->
obsmode,
"CONTEWFC", 8))
1297 if(!strncmp(h->
obsmode,
"CONTMAP", 7))
1303 st_report(
"kp_bin_cal(): Using 4 Phase Switch Pattern");
1309 for(i=0,j=0;i<dl;i++)
1313 ydata[i] = (data[j] - data[j+1]) *ascale *0.5;
1314 rfil += (data[j] + data[j+1]) *0.5;
1318 ydata[i] = (data[j] - data[j+1] + data[j+2] - data[j+3]) *ascale *0.25;
1319 rfil += (data[j] + data[j+1] + data[j+2] + data[j+3]) *0.25;
1338 st_report(
"BIN_CAL: cal = %f, rfil = %f", cal, rfil);
1341 for(i=0; i < dl; i++)
1347 st_report(
"Ydata[%2d] = %6.1f", i, ydata[i]);
1353 for(i=0,j=0;i<dl;i++)
1357 ydata[i] = (data[j] + data[j+1]) / 2.0;
1362 ydata[i] = (data[j] + data[j+1] + data[j+2] + data[j+3]) /
1385 double sig, ref, ratio, avg2;
1387 st_report(
"seq_bin_and_cal_data(%d): Using two Phase Switch Pattern", phase);
1411 sig = data[j+1] + data[j+3];
1412 ref = data[j] + data[j+2];
1424 sig = data[j] + data[j+2];
1425 ref = data[j+1] + data[j+3];
1431 ratio = (sig - ref) / ref;
1433 ydata[i] = h->
stsys * ratio * (double)p[k];
1437 st_report(
"Ratio: %10.6f: K = %5.1f", ratio, ydata[i] );
1438 avg2 += fabs(ydata[i]);
1462 for(i=0,j=0;i<dl;i++)
1464 ydata[i] = (data[j] + data[j+1]) / 2.0;
1484 double sig, ref, ratio;
1486 st_report(
"foc_bin_and_cal_data(%d): Using two Phase Switch Pattern", phase);
1505 sig = data[j+1] + data[j+3];
1506 ref = data[j] + data[j+2];
1518 sig = data[j] + data[j+2];
1519 ref = data[j+1] + data[j+3];
1525 ratio = (sig - ref) / ref;
1527 ydata[i] = h->
stsys * ratio * (double)p[k];
1531 st_report(
"Ratio: %10.6f: K = %5.1f", ratio, ydata[i] );
1549 for(i=0,j=0;i<dl;i++)
1551 ydata[i] = (data[j] + data[j+1]) / 2.0;
1574 double sig, ref, ratio;
1576 st_report(
"map_bin_and_cal_data(%d): Using %d Phase Switch Pattern", phase, phase);
1591 sig = data[j] + data[j+2];
1592 ref = data[j+1] + data[j+3];
1599 ratio = (ref -
sig) / sig * -1.0;
1603 ratio = (sig - ref) / ref;
1606 ydata[i] = h->
stsys * ratio;
1610 st_report(
"Ratio[%2d]: %10.6f: K = %6.2f", i, ratio, ydata[i] );
1618 for(i=0,j=0;i<dl;i++)
1620 ydata[i] = (data[j] + data[j+1]) / 2.0;
1637 float ascale = 1.0, cal;
1642 if(!strncmp(h->
obsmode,
"CONTSEQ", 7))
1647 if(!strncmp(h->
obsmode,
"CONTQK5", 7))
1652 if(!strncmp(h->
obsmode,
"CONTFOC", 7))
1657 if(!strncmp(h->
obsmode,
"CONTNSFC", 8))
1662 if(!strncmp(h->
obsmode,
"CONTEWFC", 8))
1667 if(!strncmp(h->
obsmode,
"CONTMAP", 7))
1673 st_report(
"smt_bin_cal(): Using 2 Phase Switch Pattern");
1680 ydata[i] = (data[j] - data[j+1]) *ascale * 0.5;
1681 rfil += (data[j] + data[j+1]) * 0.25;
1690 st_report(
"rfil: %f, dl = %d", rfil, dl);
1695 cal = h->
stsys/rfil;
1708 st_report(
"Ydata[%2d] = %6.1f", i, ydata[i]);
1717 ydata[i] = (data[j] + data[j+1]) / 2.0;
1753 int i, dlen, oldzline;
1755 dlen = (int)h->
noint;
1761 st_fail(
"Too many Continuum Samples: %d", dlen);
1875 if(
processContinuum(&image->head, &image->yplot1[0], &ydata[0], &dlen,
"Sequence"))
1883 for(i=0;i<dlen;i++,yp++)
1906 if(h->scanang == 0.0)
1911 if(h->scanang == 90.0)
1913 deltax = h->deltayr;
1917 deltax = sqrt(h->deltaxr * h->deltaxr + h->deltayr * h->deltayr);
1929 int i, dlen, size, xb, logplot = 0;
1930 double deltax, peak, npeak;
1932 if(
processContinuum(&image->head, &image->yplot1[0], &ydata[0], &dlen,
"ContMap"))
1939 env->
map_w = (int)image->head.noxpts;
1940 env->
map_h = (
int)image->head.noypts;
1943 if(
env->
map_w != (
int)image->head.noxpts)
1946 st_report(
"cont_display_mapscan(): Warning: Mis-match between env->map_w and head.noxpts");
1949 if(
env->
map_h != (
int)image->head.noypts)
1952 st_report(
"cont_display_mapscan(): Warning: Mis-match between env->map_h and head.noypts");
1963 xb = size / 2 - size;
1966 npeak = 9999999999999999.0;
1967 peak = -9999999999999999.0;
1976 if(ydata[i] < npeak)
1982 st_report(
"Plot Data: Peak = %f, -Peak = %f", peak, npeak);
1984 npeak = fabs(npeak) + 0.001;
1997 st_fail(
"Scan %.2f Has a Peak of 0.0", image->head.scan);
2037 float *phases, *
data;
2047 dlen = (int)head->noint;
2051 dlen /= head->nophase;
2055 st_fail(
"Continuum Observation %s: too many samples: %d", mode, dlen);
2068 if(!strncmp(head->obsmode,
"CONTQK5 ", 8) || !strncmp(head->obsmode,
"CONTSEQ ", 8) || !strncmp(head->obsmode,
"CONTMAP ", 8))
2079 avg /= (double)dlen;
2086 st_report(
"Removing an average baseline of: %.3f Kelvin", avg);
2098 if(
env->
dobaseline && !strncmp(head->obsmode,
"CONTMAP ", 8))
2100 st_report(
"contDisplayMapScan(): Removing Baselines");
2118 float splits[2][5], means[5];
2119 int i, j, dlen, old_plotstyle;;
2124 if(
processContinuum(&image->head, &image->yplot1[0], &ydata[0], &dlen,
"Five-Pt"))
2130 st_print(
" Az Offset: %7.2f, El Offset: %7.2f\n\n", image->head.uxpnt, image->head.uypnt);
2132 for(i=0,j=0;i<dlen;i+=4,j++)
2134 st_print(
" %7.2f %7.2f %7.2f %7.2f %s\n",
2135 ydata[0+i], ydata[1+i], ydata[2+i], ydata[3+i],
fiveStrs[j]);
2140 x1 = -image->head.bfwhm;
2142 x3 = image->head.bfwhm;
2146 splits[
OFFS][0] = (fabs(ydata[ 0]) + fabs(ydata[ 3])) / 2.0;
2147 splits[
ONS ][0] = (fabs(ydata[ 1]) + fabs(ydata[ 2])) / 2.0;
2149 splits[
OFFS][1] = (fabs(ydata[ 4]) + fabs(ydata[ 7])) / 2.0;
2150 splits[
ONS ][1] = (fabs(ydata[ 5]) + fabs(ydata[ 6])) / 2.0;
2152 splits[
OFFS][2] = (fabs(ydata[ 8]) + fabs(ydata[11])) / 2.0;
2153 splits[
ONS ][2] = (fabs(ydata[ 9]) + fabs(ydata[10])) / 2.0;
2155 splits[
OFFS][3] = (fabs(ydata[12]) + fabs(ydata[15])) / 2.0;
2156 splits[
ONS ][3] = (fabs(ydata[13]) + fabs(ydata[14])) / 2.0;
2158 splits[
OFFS][4] = (fabs(ydata[16]) + fabs(ydata[19])) / 2.0;
2159 splits[
ONS ][4] = (fabs(ydata[17]) + fabs(ydata[18])) / 2.0;
2170 splits[OFFS][3], splits[OFFS][2], splits[OFFS][4]);
2172 splits[ONS ][3], splits[ONS ][2], splits[ONS ][4]);
2177 st_print(
" %7.2f\n", splits[OFFS][1]);
2178 st_print(
" %7.2f\n", splits[ONS ][1]);
2182 if(
cont_gauss(splits[OFFS][3], splits[OFFS][2], splits[OFFS][4], x1, x2, x3, &a, &b, &c) )
2184 if( (1.0 / b) > 0.0)
2186 bw = sqrt( 1.0 / b) * 1.664;
2189 st_print(
"AZ: OFFS: Peak = %7.2f, b = %f, Off: = %5.2f, BW = %7.2f, Corrected: %7.2f\n",
2190 a, b, c, bw, c+image->head.uxpnt);
2195 st_print(
"AZ: OFFS: Fit Failed\n");
2198 if(
cont_gauss(splits[ONS ][3], splits[ONS ][2], splits[ONS ][4], x1, x2, x3, &a, &b, &c) )
2200 if( (1.0 / b) > 0.0)
2202 bw = sqrt( 1.0 / b) * 1.664;
2205 st_print(
"AZ: ONS: Peak = %7.2f, b = %f, Off: = %5.2f, BW = %7.2f, Corrected: %7.2f\n",
2206 a, b, c, bw, c+image->head.uxpnt);
2215 if(
cont_gauss(splits[OFFS][1], splits[OFFS][2], splits[OFFS][0], x1, x2, x3, &a, &b, &c) )
2217 if( (1.0 / b) > 0.0)
2219 bw = sqrt( 1.0 / b) * 1.664;
2222 st_print(
"EL: OFFS: Peak = %7.2f, b = %f, Off: = %5.2f, BW = %7.2f, Corrected: %7.2f\n",
2223 a, b, c, bw, c+image->head.uypnt);
2228 st_print(
"EL: OFFS: Fit Failed\n");
2231 if(
cont_gauss(splits[ONS ][1], splits[ONS ][2], splits[ONS ][0], x1, x2, x3, &a, &b, &c) )
2233 if( (1.0 / b) > 0.0)
2235 bw = sqrt( 1.0 / b) * 1.664;
2238 st_print(
"EL: ONS: Peak = %7.2f, b = %f, Off: = %5.2f, BW = %7.2f, Corrected: %7.2f\n",
2239 a, b, c, bw, c+image->head.uypnt);
2249 means[0] = (-ydata[ 0] + ydata[ 1] + ydata[ 2] - ydata[ 3]) / 4.0;
2250 means[1] = (-ydata[ 4] + ydata[ 5] + ydata[ 6] - ydata[ 7]) / 4.0;
2251 means[2] = (-ydata[ 8] + ydata[ 9] + ydata[10] - ydata[11]) / 4.0;
2252 means[3] = (-ydata[12] + ydata[13] + ydata[14] - ydata[15]) / 4.0;
2253 means[4] = (-ydata[16] + ydata[17] + ydata[18] - ydata[19]) / 4.0;
2261 st_print(
" %7.2f %7.2f %7.2f\n", means[3], means[2], means[4]);
2270 if(
cont_gauss(means[3], means[2], means[4], x1, x2, x3, &a, &b, &c) )
2272 if( (1.0 / b) > 0.0)
2274 bw = sqrt( 1.0 / b) * 1.664;
2277 st_print(
"AZ: Peak = %7.2f, b = %f, Off: = %5.2f, BW = %7.2f, Corrected: %7.2f\n",
2278 a, b, c, bw, image->head.uxpnt-c);
2286 if(
cont_gauss(means[1], means[2], means[0], x1, x2, x3, &a, &b, &c) )
2288 if( (1.0 / b) > 0.0)
2290 bw = sqrt( 1.0 / b) * 1.664;
2293 st_print(
"EL: Peak = %7.2f, b = %f, Off: = %5.2f, BW = %7.2f, Corrected: %7.2f\n",
2294 a, b, c, bw, image->head.uypnt-c);
2331 int i, j, dlen, steps, save_ps;
2333 double f0, wl, aa1[4];
2334 double xd[256], yd[256], s[256];
2335 char fstr1[80], fstr2[80];
2340 f0 = image->head.focusr;
2341 strcpy(fstr1,
"AX-Focus");
2342 strcpy(fstr2,
"AX Focus");
2346 f0 = image->head.focusv;
2347 strcpy(fstr1,
"NS-Focus");
2348 strcpy(fstr2,
"NS Focus");
2352 f0 = image->head.focush;
2353 strcpy(fstr1,
"EW-Focus");
2354 strcpy(fstr2,
"EW Focus");
2358 st_fail(
"Unknown Focus type: %d", type);
2362 if(
processContinuum(&image->head, &image->yplot1[0], &ydata[0], &dlen, fstr1))
2367 steps = (int)image->head.lamp;
2368 wl = image->head.lwid;
2378 wl = image->head.wl;
2381 f0 -= (wl * (int)(steps/2));
2388 for(i=0;i<dlen;i+=2)
2390 ydata[i] -= ydata[i+1];
2394 st_report(
"Ydata[%2d] = %6.1f", i, ydata[i]);
2404 for(i=0,j=0;i<dlen;i++)
2406 ydata[i] = ydata[j] / 2.0;
2410 st_report(
"Ydata[%2d] = %6.1f", i, ydata[i]);
2454 xd[i] = f0 + wl * (float)(i);
2464 st_report(
"Guess: Center = %f @ %f: width = %f, dlen = %d", aa1[1], aa1[2], aa1[3], dlen);
2468 st_report(
"%d-Point Gaussian Fit: Y = %.2f, X = %.2f, BW = %.2f", dlen, aa1[1], aa1[2], aa1[3]);
2476 plotGauss(xd, dlen, aa1, &image->head, 2);
2509 st_fail(
"zero_check(): %s data contains ZERO'S, ignoring.", who);
2525 char fname[512], astr[256];
2537 st_report(
"contSaveData(): Removing Baselines");
2543 strcpy(astr,
"AZs00");
2548 strcpy(astr,
"ELs90");
2553 strcpy(astr,
"Pos45");
2558 strcpy(astr,
"Neg45");
2565 sprintf(fname,
"CCMS-%.2f_%.2f_%s.dat", h->
scan, h->
focusr, astr);
2567 if((fp = fopen(fname,
"w")) == NULL)
2569 st_fail(
"Unable to open %s for writting", fname);
2573 st_report(
"Saving results to: %s", fname);
2575 fprintf(fp,
"# Scan Number %8.2f\n", h->
scan);
2576 fprintf(fp,
"# AX-Focus %8.2f\n", h->
focusr);
2583 fprintf(fp,
"# \n");
2587 for(i=0;i<dlen;i++,yp++)
2589 fprintf(fp,
"%3d %10.4f\n", i, *yp);
2603 int i, dlen, nons=0, noffs=0;
2605 double ons, offs, ratio, gainEl;
2620 for(i=0;i<dlen;i++,yp++)
2636 ons /= (double)nons;
2641 offs /= (double)noffs;
2661 st_report(
"Scaling (Tmb / %f), based on Elev Gain Curve", gainEl);
2674 st_report(
"M-Beam = %+6.1f, Average of %2d ONS: %f", h->
mbeam[0], nons, ons);
2675 st_report(
"P-Beam = %+6.1f, Average of %2d OFFS: %f", h->
pbeam[0], noffs, offs);
2676 st_report(
"Total = %6.1f, Average of %2d ONS+OFFS: %f, Ratio: %5.2f",
2685 sprintf(fname,
"sequence_splits.csv");
2686 fp = fopen(fname,
"a");
2690 fprintf(fp,
"%8.2f, %7.3f, %6.4f, %7.1f, %2d, %7.3f, %7.1f, %2d, %7.3f, %6.3f\n",
2694 h->
mbeam[0], nons, ons,
2695 h->
pbeam[0], noffs, offs,
2704 st_report(
"Unable to open %s for appending", fname);
2710 for(i=0;i<dlen;i++,yp++)
2714 printf(
"\n%3d: ", i);
2717 printf(
"%10.2f ", *yp);
2764 st_fail(
"'Ons' must be 0 or 1");
2783 int bl, i,
scan,
first=1, save_ps, save_bl;
2815 if(strncmp(p->
obsmode,
"CONTMAP", 7))
2828 scan = (int)p->
scan;
2834 scan = (int)p->
scan;
2837 st_report(
"crissCross(): Processing Criss Cross Scan %.2f", p->
scan);
2839 sprintf(cmdBuf,
"get %.2f", p->
scan);
2844 sprintf(cmdBuf,
"show");
2847 st_report(
"crissCross(): Delaying %.1f sec", 0.2);
2854 st_report(
"crissCross(): Performing a Gaussian fit");
2856 sprintf(cmdBuf,
"gauss /p");
2859 st_report(
"crissCross(): Delaying %.1f sec", 0.2);
2875 st_report(
"crissCross(): Saving PNG Plot");
2877 sprintf(cmdBuf,
"make /c /g");
int cont_display_sequence(struct LP_IMAGE_INFO *image, int plot)
struct LP_IMAGE_INFO * h0
struct MEASUREMENT measurements[MAX_MEASUREMENTS]
int clearFillContStruct(struct HEADER *h, int dlen, char *xl, char *yl)
float fitcurves[MAX_IFS][MAX_MEASUREMENTS]
int sock_write(struct SOCK *s, char *message, int l)
int incrementBogusTsys(void)
#define LAST_PLOT_CONT_SPTIP
struct PARSE_STACK * args
struct ACCUM_RESULTS_SEND accum_results_send
int incrementBogusData(void)
int accum_v1(float *data, struct HEADER *h, int invert, struct ACCUM_RESULTS *ar)
int plotGauss(double *x, int len, double *a, struct HEADER *h, int mode)
int cont_save_data(float *data, struct HEADER *h)
int four_phase_seq_five[]
int cont_gauss(float y1, float y2, float y3, double x1, double x2, double x3, float *a, float *b, float *c)
int seq_bin_and_cal_data(float *ydata, int dl, int avg, float *data, struct HEADER *h, int phase)
int printH_FlagHelp(char *cmd)
struct ACCUM_RESULTS accum_results[4]
int saveObjectAccum(struct ACCUM_RESULTS_SEND *ars)
double expectedTaStar[MAX_IFS]
#define ACCUM_PLOT_Y_TSYS
float xdata[MAX_CONT_SAMPLES]
float ydata[MAX_CONT_SAMPLES]
struct ACCUM_RESULTS ar[MAX_IFS]
int zero_check(char *who, int dl, float *data)
#define ACCUM_PLOT_Y_SMROR
int incrementRejIgnored(void)
double normalize[MAX_IFS]
int computeRms(float *y, int n, float *rms)
double restFreq(struct HEADER *h)
int processContinuum(struct HEADER *head, float *phases, float *data, int *dl, char *mode)
double findDeltaX(struct HEADER *h)
struct RESULT results[MAX_IFS]
int cont_determine_min_max(float *ydata, int dl, float scan)
#define LAST_PLOT_CONT_ACCUM
int sexagesimal(double dang, char *str, int prec)
struct CONTINUUM_SPTIP cont_sptip_send
float accumArrayTmb[MAX_ACCUM_SCANS]
int foc_bin_and_cal_data(float *ydata, int dl, int avg, float *data, struct HEADER *h, int phase)
int cont_display_data(float *data, struct HEADER *h)
#define PLOT_STYLE_LINEPTS
double expectedTr[MAX_IFS]
int resetRejections(void)
#define LAST_PLOT_CONT_PLAIN
struct OBJECT objects[MAX_OBJECTS]
int printRejections(void)
int cont_display_mapscan(struct LP_IMAGE_INFO *image, int plot)
int cont_display_any_focus(struct LP_IMAGE_INFO *image, int plot, int type)
int kp_bin_and_cal_data(float *ydata, int dl, int avg, float *data, struct HEADER *h)
struct ACCUM_SCAN_RESULT results[MAX_ACCUM_SCANS]
int incrementBogusTcal(void)
int meetsCritiria(struct HEADER *p, int mask)
int smt_bin_and_cal_data(float *ydata, int dl, int avg, float *data, struct HEADER *h)
float accumArrayTr[MAX_ACCUM_SCANS]
int isScanIgnored(double scan)
#define ACCUM_PLOT_Y_TASTAR
struct OBJECT_GLOBAL_MEMORY * OGM
struct CONTINUUM_PLAIN cont_plain_send
int cont_removeBaselines(float *d, int len, double scan)
int incrementRejMode(void)
struct HEADER head[MAX_IFS]
double avgTaStar[MAX_IFS]
float accumArrayFlux[MAX_ACCUM_SCANS]
float fitcurve[MAX_IFS][MAX_ACCUM_SCANS]
#define ACCUM_PLOT_Y_NORMAL
void subArgs(int wt, const char *fmt,...)
double avgJanskys[MAX_IFS]
int cont_display_five(struct LP_IMAGE_INFO *image, int plot)
int map_bin_and_cal_data(float *ydata, int dl, int avg, float *data, struct HEADER *h, int phase)
float ydata[MAX_ATM_ELEMENTS]
int cont_show_phases(float *data, struct HEADER *h, int plot)
double expectedJanskys[MAX_IFS]
#define ACCUM_PLOT_Y_JANSKY
float accumArrayTaStar[MAX_ACCUM_SCANS]