Changeset 112
- Timestamp:
- Oct 8, 2003, 12:00:41 AM (23 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/perl/src/fr.smooth (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/perl/src/fr.smooth
r70 r112 24 24 $CCDKEYWORD = `gconfig CCDNUM-KEYWORD`; chop $CCDKEYWORD; 25 25 $dbmode = `gconfig DETREND-DB-MODE`; chop $dbmode; 26 26 27 @frstats = `cat $frstats`; 27 28 for ($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 } 29 34 } 30 35 ($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; 39 if ($?) { &escape ("can't get fringe points for image"); } 40 ($name, $Fs, $Fr) = split (" ", `getfringe $infile $ccds[$ccd] $frpts $binning`); 31 41 32 42 $mask = `detsearch -ccd $ccds[$ccd] -type mask -time $start -select -quiet`; chop $mask; … … 35 45 # unbin and insert header keywords 36 46 open (MANA, "|mana --norc"); 47 48 # convert BIASSEC string to x1, x2, y1, y2 vars 49 print MANA "macro parsesec\n"; 50 print MANA " \$f = \$1\n"; 51 print MANA " getchr \$f : n\n"; 52 print MANA " substr \$f 1 {\$n-1} x1\n"; 53 print MANA " strlen \$f N\n"; 54 print MANA " substr \$f \$n {\$N-\$n} f\n"; 55 56 print MANA " getchr \$f , n\n"; 57 print MANA " substr \$f 1 {\$n-1} x2\n"; 58 print MANA " strlen \$f N\n"; 59 print MANA " substr \$f \$n {\$N-\$n} f\n"; 60 61 print MANA " getchr \$f : n\n"; 62 print MANA " substr \$f 1 {\$n-1} y1\n"; 63 print MANA " strlen \$f N\n"; 64 print MANA " substr \$f \$n {\$N-\$n} f\n"; 65 66 print MANA " getchr \$f ] n\n"; 67 print MANA " substr \$f 1 {\$n-1} y2\n"; 68 print MANA " strlen \$f N\n"; 69 print MANA " substr \$f \$n {\$N-\$n} f\n"; 70 print MANA "end\n"; 71 37 72 print MANA "list kernel\n"; 38 73 print MANA " 0.025\n"; … … 47 82 print MANA "end\n"; 48 83 print MANA "macro go\n"; 49 print MANA " rd a $infile\n";50 print MANA " rebin a A -$binning\n";51 84 print MANA " \$CCDKEYWORD = $CCDKEYWORD\n"; 85 # read in mask, rebin 52 86 if ($dbmode eq "MEF") { 53 87 print MANA " rd mask $mask -n $ccds[$ccd]\n"; … … 55 89 print MANA " rd mask $mask\n"; 56 90 } 91 print MANA " keyword mask NAXIS1 nx2\n"; 92 print MANA " keyword mask NAXIS2 ny2\n"; 93 print MANA " rebin mask binmask $binning -norm\n"; 94 print MANA " clip binmask 0.9 0.0 1.1 0.0\n"; 95 96 print MANA " rd a $infile\n"; 97 print MANA " set a = a * binmask\n"; 98 # print MANA " set a = a * binmask + $Fs*not(binmask)\n"; 99 print MANA " rebin a A -$binning\n"; 57 100 print MANA " keyword A NAXIS1 nx1\n"; 58 101 print MANA " keyword A NAXIS2 ny1\n"; 59 print MANA " keyword mask NAXIS1 nx2\n";60 print MANA " keyword mask NAXIS2 ny2\n";61 102 print 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 104 print MANA " extract A b 0 0 \$nx1 \$ny1 0 0 \$nx2 \$ny2\n"; 105 print MANA " keyword b DATASEC line\n"; 106 print MANA " parsesec \$line\n"; 107 print MANA " sprint newline \"[%d:%d,%d:%d]\" {\$x1*2} {\$x2*2} {\$y1*2} {\$y2*2}\n"; 108 print 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]; 65 116 66 117 # add keywords for fringe amplitude, fit, etc … … 69 120 print MANA " keyword b FRNG_SKY -wf $Fs\n"; 70 121 print 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"; 122 print MANA " keyword b FRNG_REF -w $RefChip\n"; 123 print MANA " keyword b FRNG_PTS -w \"$frpts\"\n"; 124 print MANA " keyword b TVSTART -w $start\n"; 125 print MANA " keyword b TVSTOP -w $stop\n"; 126 print MANA " keyword b EL_SYS -w \"$elsys\"\n"; 127 print MANA " keyword b EL_SMTH -w \"$version\"\n"; 128 print MANA " keyword b REL_DATE -w \"$now\"\n"; 74 129 75 130 # add comments for the new keywords … … 79 134 print MANA " keyword b FRNG_RNG -wc \"Fringe Frame fringe strength\"\n"; 80 135 print MANA " keyword b FRNG_REF -wc \"Fringe Cross Correlation reference chip\"\n"; 136 print MANA " keyword b FRNG_PTS -wc \"Fringe Point File\"\n"; 81 137 print MANA " keyword b TVSTART -wc \"data validity start time\"\n"; 82 138 print MANA " keyword b TVSTOP -wc \"data validity stop time\"\n"; 83 139 print MANA " keyword b OBSTYPE -w \"FRINGE\"\n"; 84 140 print MANA " keyword b EXPTYPE -w \"FRINGE\"\n"; 141 print MANA " keyword b EL_SYS -wc \"Elixir System Version\"\n"; 142 print MANA " keyword b EL_SMTH -wc \"Elixir Smooth Version\"\n"; 143 print MANA " keyword b REL_DATE -wc \"UTC Release Date\"\n"; 85 144 86 145 print MANA " keyword b COMMENT -ws \"Fringe (NN) = C0 + C1 * Fringe (REF)\"\n"; … … 91 150 print MANA " keyword b COMMENT -ws \"Elixir smoothing: 3x3 kernel (3): 0.025, 0.100, 0.025\"\n"; 92 151 93 print MANA " wd b $outfile\n"; 152 print MANA " stat b - - - -\n"; 153 print MANA " \$range = \$MAX - \$MIN + 4\n"; 154 print MANA " if (\$range < 100)\n"; 155 print MANA " \$range = 100\n"; 156 print MANA " end\n"; 157 print MANA " sprintf bscale %9.4f {\$range / 2^16}\n"; 158 print MANA " \$bzero = \$bscale * int ((\$MIN + \$range / 2) / \$bscale)\n"; 159 160 print MANA " wd b $outfile -bzero \$bzero -bscale \$bscale \n"; 94 161 print MANA " exit 0\n"; 95 162 … … 126 193 } 127 194 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.
