IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 112


Ignore:
Timestamp:
Oct 8, 2003, 12:00:41 AM (23 years ago)
Author:
eugene
Message:

added code to update DATASEC keyword
added / improved keyword entries & comments

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/perl/src/fr.smooth

    r70 r112  
    2424$CCDKEYWORD = `gconfig CCDNUM-KEYWORD`; chop $CCDKEYWORD;
    2525$dbmode = `gconfig DETREND-DB-MODE`; chop $dbmode;
     26
    2627@frstats = `cat $frstats`;
    2728for ($i = 0; $i < @frstats; $i++) {
    28     if ($frstats[$i] =~ m|^\s*\#|) { splice @frstats, $i, 1; $i--; }
     29    if ($frstats[$i] =~ m|^\s*\#|) {
     30        ($tmp, $entry, $value) = split (" ", $frstats[$i]);
     31        if ($entry eq "REF_CHIP") { $RefChip = $ccds[$value]; }
     32        splice @frstats, $i, 1; $i--;
     33    }
    2934}
    3035($C0, $C1, $Fs, $Fr) = split (" ", $frstats[$ccd]);
     36
     37# find fringe-point file
     38$frpts  = `detsearch -quiet -image $infile $ccds[$ccd] split -type frpts`; chop $frpts;
     39if ($?) { &escape ("can't get fringe points for image"); }
     40($name, $Fs, $Fr) = split (" ", `getfringe $infile $ccds[$ccd] $frpts $binning`);
    3141
    3242$mask = `detsearch -ccd $ccds[$ccd] -type mask -time $start -select -quiet`; chop $mask;
     
    3545# unbin and insert header keywords
    3646open (MANA, "|mana --norc");
     47
     48# convert BIASSEC string to x1, x2, y1, y2 vars
     49print MANA "macro parsesec\n";
     50print MANA "  \$f = \$1\n";
     51print MANA "  getchr \$f : n\n";
     52print MANA "  substr \$f 1 {\$n-1} x1\n";
     53print MANA "  strlen \$f N\n";
     54print MANA "  substr \$f \$n {\$N-\$n} f\n";
     55 
     56print MANA "  getchr \$f , n\n";
     57print MANA "  substr \$f 1 {\$n-1} x2\n";
     58print MANA "  strlen \$f N\n";
     59print MANA "  substr \$f \$n {\$N-\$n} f\n";
     60 
     61print MANA "  getchr \$f : n\n";
     62print MANA "  substr \$f 1 {\$n-1} y1\n";
     63print MANA "  strlen \$f N\n";
     64print MANA "  substr \$f \$n {\$N-\$n} f\n";
     65 
     66print MANA "  getchr \$f ] n\n";
     67print MANA "  substr \$f 1 {\$n-1} y2\n";
     68print MANA "  strlen \$f N\n";
     69print MANA "  substr \$f \$n {\$N-\$n} f\n";
     70print MANA "end\n";
     71
    3772print MANA "list kernel\n";
    3873print MANA "  0.025\n";
     
    4782print MANA "end\n";
    4883print MANA "macro go\n";
    49 print MANA " rd a $infile\n";
    50 print MANA " rebin a A -$binning\n";
    5184print MANA " \$CCDKEYWORD = $CCDKEYWORD\n";
     85# read in mask, rebin
    5286if ($dbmode eq "MEF") {
    5387    print MANA " rd mask $mask -n $ccds[$ccd]\n";
     
    5589    print MANA " rd mask $mask\n";
    5690}
     91print MANA " keyword mask NAXIS1 nx2\n";
     92print MANA " keyword mask NAXIS2 ny2\n";
     93print MANA " rebin mask binmask $binning -norm\n";
     94print MANA " clip binmask 0.9 0.0 1.1 0.0\n";
     95
     96print MANA " rd a $infile\n";
     97print MANA " set a = a * binmask\n";
     98# print MANA " set a = a * binmask + $Fs*not(binmask)\n";
     99print MANA " rebin a A -$binning\n";
    57100print MANA " keyword A NAXIS1 nx1\n";
    58101print MANA " keyword A NAXIS2 ny1\n";
    59 print MANA " keyword mask NAXIS1 nx2\n";
    60 print MANA " keyword mask NAXIS2 ny2\n";
    61102print MANA " delete a\n";
    62 print MANA " extract A a 0 0 \$nx1 \$ny1 0 0 \$nx2 \$ny2\n";
    63 print MANA " kern a kernel \n";
    64 print MANA " set b = a*mask + $Fs*not(mask)\n";
     103
     104print MANA " extract A b 0 0 \$nx1 \$ny1 0 0 \$nx2 \$ny2\n";
     105print MANA " keyword b DATASEC line\n";
     106print MANA " parsesec \$line\n";
     107print MANA " sprint newline \"[%d:%d,%d:%d]\" {\$x1*2} {\$x2*2} {\$y1*2} {\$y2*2}\n";
     108print MANA " keyword b DATASEC -w \$newline\n";
     109
     110@time  = localtime;
     111$now   = sprintf "%04d-%02d-%02dT%02d:%02d:%02d", $time[5]+1900, $time[4]+1, $time[3], $time[2], $time[1], $time[0];
     112$elsys = `gconfig ELIXIR_VERSION`; chop ($elsys);
     113
     114@word = split ("/", $frpts);
     115$frpts = $word[-1];
    65116
    66117# add keywords for fringe amplitude, fit, etc
     
    69120print MANA " keyword b FRNG_SKY -wf $Fs\n";
    70121print MANA " keyword b FRNG_RNG -wf $Fr\n";
    71 print MANA " keyword b FRNG_REF -wd 11\n";
    72 print MANA " keyword b TVSTART  -w $start\n";
    73 print MANA " keyword b TVSTOP   -w $stop\n";
     122print MANA " keyword b FRNG_REF -w  $RefChip\n";
     123print MANA " keyword b FRNG_PTS -w  \"$frpts\"\n";
     124print MANA " keyword b TVSTART  -w  $start\n";
     125print MANA " keyword b TVSTOP   -w  $stop\n";
     126print MANA " keyword b EL_SYS   -w  \"$elsys\"\n";
     127print MANA " keyword b EL_SMTH  -w  \"$version\"\n";
     128print MANA " keyword b REL_DATE -w  \"$now\"\n";
    74129
    75130# add comments for the new keywords
     
    79134print MANA " keyword b FRNG_RNG -wc \"Fringe Frame fringe strength\"\n";
    80135print MANA " keyword b FRNG_REF -wc \"Fringe Cross Correlation reference chip\"\n";
     136print MANA " keyword b FRNG_PTS -wc \"Fringe Point File\"\n";
    81137print MANA " keyword b TVSTART  -wc \"data validity start time\"\n";
    82138print MANA " keyword b TVSTOP   -wc \"data validity stop time\"\n";
    83139print MANA " keyword b OBSTYPE  -w  \"FRINGE\"\n";
    84140print MANA " keyword b EXPTYPE  -w  \"FRINGE\"\n";
     141print MANA " keyword b EL_SYS   -wc \"Elixir System Version\"\n";
     142print MANA " keyword b EL_SMTH  -wc \"Elixir Smooth Version\"\n";
     143print MANA " keyword b REL_DATE -wc \"UTC Release Date\"\n";
    85144
    86145print MANA " keyword b COMMENT  -ws \"Fringe (NN) = C0 + C1 * Fringe (REF)\"\n";
     
    91150print MANA " keyword b COMMENT  -ws \"Elixir smoothing: 3x3 kernel (3): 0.025, 0.100, 0.025\"\n";
    92151
    93 print MANA " wd b $outfile\n";
     152print MANA " stat b - - - -\n";
     153print MANA " \$range = \$MAX - \$MIN + 4\n";
     154print MANA " if (\$range < 100)\n";
     155print MANA "  \$range = 100\n";
     156print MANA " end\n";
     157print MANA " sprintf bscale %9.4f {\$range / 2^16}\n";
     158print MANA " \$bzero = \$bscale * int ((\$MIN + \$range / 2) / \$bscale)\n";
     159
     160print MANA " wd b $outfile -bzero \$bzero -bscale \$bscale \n";
    94161print MANA " exit 0\n";
    95162
     
    126193}
    127194
     195#print MANA " kern a kernel \n";
     196#print MANA " set b = a*mask + $Fs*not(mask)\n";
Note: See TracChangeset for help on using the changeset viewer.