Changeset 12672
- Timestamp:
- Mar 28, 2007, 6:23:08 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/ippScripts/scripts/detrend_reject_imfile.pl (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippScripts/scripts/detrend_reject_imfile.pl
r12671 r12672 115 115 my @variances; # Array of variances 116 116 my @meanStdevs; # Array of mean stdevs 117 my @names; # Array of names (class_id) 117 118 open my $list1File, '>' . $list1Name; 118 119 open my $list2File, '>' . $list2Name; … … 125 126 ## calculate the root-mean-square of the bd_stdevs 126 127 push @variances, $file->{bg_stdev}*$file->{bg_stdev}; 127 128 push @names, $file->{class_id}; 128 129 } 129 130 close $list1File; … … 172 173 my $reject_exp_sn = rejection_limit( 'EXP.SN', $det_type, $filter ); 173 174 175 my $logName = "$exp_tag.detreject.$det_id.$iter.log"; # Name for log 176 my $logFile; 177 unless ($no_op) { 178 open $logFile, "> $logName" or &my_die("Unable to open log file $logName", $det_id, $iter, $exp_tag, $PS_EXIT_SYS_ERROR); 179 } 180 174 181 # Reject based on the stats of the imfiles 175 182 # it is VALID to reject on more than one criterion … … 179 186 $mean -= $expected; 180 187 my $stdev = sqrt($variances[$i]); # Stdev for this imfile 188 my $name = $names[$i]; 181 189 182 190 last if $no_op; … … 184 192 if ($reject_imfile_mean) { 185 193 if (abs($mean) > $reject_imfile_mean * $stdev) { 186 print "Rejecting exposure based on bad imfile mean for imfile $i: " .194 print $logFile "Rejecting exposure based on bad imfile mean for $name: " . 187 195 $mean . " vs " . $reject_imfile_mean . "\n"; 188 196 $reject = 1; 189 last;190 197 } 191 198 } else { 192 print " no rejection for imfile mean\n";199 print "No rejection on imfile mean for $name\n"; 193 200 } 194 201 if ($reject_imfile_stdev) { 195 202 if ($stdev > $reject_imfile_stdev) { 196 print "Rejecting exposure based on bad imfile stdev for imfile $i: " .203 print $logFile "Rejecting exposure based on bad imfile stdev for $name: " . 197 204 $stdev . " vs " . $reject_imfile_stdev . "\n"; 198 205 $reject = 1; 199 last; 200 } 201 } else { 202 print "no rejection for imfile stdev\n"; 206 } 207 } else { 208 print "No rejection on imfile stdev for $name\n"; 203 209 } 204 210 if ($reject_imfile_meanstdev) { 205 211 if ($meanStdevs[$i] > $reject_imfile_meanstdev) { 206 print "Rejecting exposure based on bad imfile mean stdev for imfile $i: " .212 print $logFile "Rejecting exposure based on bad imfile mean stdev for $name: " . 207 213 $meanStdevs[$i] . " vs " . $reject_imfile_meanstdev . "\n"; 208 214 $reject = 1; 209 last; 210 } 211 } else { 212 print "no rejection for imfile mean stdev\n"; 215 } 216 } else { 217 print "No rejection on imfile mean stdev for $name\n"; 213 218 } 214 219 if ($reject_imfile_sn) { 215 220 if ($mean < $stdev * $reject_imfile_sn) { 216 print "Rejecting exposure based on bad imfile S/N for imfile $i: \n"; 217 print "mean: " . $mean . " vs " . "stdev*SNlimit: " . $stdev * $reject_imfile_sn . "\n"; 218 $reject = 1; 219 last; 220 } 221 } else { 222 print "no rejection for imfile S/N\n"; 221 print $logFile "Rejecting exposure based on bad imfile S/N for $name: "; 222 print $logFile "mean: " . $mean . " vs " . "stdev*SNlimit: " . $stdev * $reject_imfile_sn . "\n"; 223 $reject = 1; 224 } 225 } else { 226 print "No rejection on imfile S/N for $name\n"; 223 227 } 224 228 } … … 240 244 if ($stdev > 0) { $exp_sn = $mean / $stdev; } 241 245 242 print "exposure mean $mean, stdev $stdev, mean stdev $meanStdev, exp s/n: $exp_sn\n"; 246 unless ($no_op) { 247 print $logFile "Exposure mean $mean, stdev $stdev, mean stdev $meanStdev, exp s/n: $exp_sn\n"; 248 } 243 249 244 250 ## Reject based on the exposure ensemble stats … … 247 253 if ($reject_exp_mean) { 248 254 if (abs($mean) > $reject_exp_mean * $stdev) { 249 print "Rejecting exposure based on bad mean: \n";250 print "mean: $mean, stdev: $stdev (limit is: % $reject_exp_mean\n";255 print $logFile "Rejecting exposure based on bad mean: \n"; 256 print $logFile "mean: $mean, stdev: $stdev (limit is: % $reject_exp_mean\n"; 251 257 $reject = 1; 252 258 } 253 259 } else { 254 print "no rejection for exp mean\n";260 print $logFile "No rejection for exp mean\n"; 255 261 } 256 262 # reject if the exposure ensemble stdev is deviant 257 263 if ($reject_exp_stdev) { 258 264 if ($stdev > $reject_exp_stdev) { 259 print "Rejecting exposure based on bad stdev: " . $stdev . " vs " .265 print $logFile "Rejecting exposure based on bad stdev: " . $stdev . " vs " . 260 266 $reject_exp_stdev . "\n"; 261 267 $reject = 1; 262 268 } 263 269 } else { 264 print "no rejection for exp stdev\n";270 print $logFile "No rejection for exp stdev\n"; 265 271 } 266 272 # reject if the exposure ensemble mean stdev is deviant 267 273 if ($reject_exp_meanstdev) { 268 274 if ($meanStdev > $reject_exp_meanstdev) { 269 print "Rejecting exposure based on bad mean stdev: " . $meanStdev . " vs " .275 print $logFile "Rejecting exposure based on bad mean stdev: " . $meanStdev . " vs " . 270 276 $reject_exp_meanstdev . "\n"; 271 277 $reject = 1; 272 278 } 273 279 } else { 274 print "no rejection for exp mean stdev\n";280 print $logFile "No rejection for exp mean stdev\n"; 275 281 } 276 282 # reject if the signal-to-noise is insufficient 277 283 if ($reject_exp_sn) { 278 284 if (abs($mean) < abs($stdev * $reject_exp_sn)) { 279 print "Rejecting exposure based on poor S/N: \n"; 280 print "signal: $mean vs noise: $stdev (s/n limit is: $reject_exp_sn)\n"; 281 $reject = 1; 282 } 283 } else { 284 print "no rejection for exp S/N\n"; 285 } 285 print $logFile "Rejecting exposure based on poor S/N: \n"; 286 print $logFile "signal: $mean vs noise: $stdev (s/n limit is: $reject_exp_sn)\n"; 287 $reject = 1; 288 } 289 } else { 290 print $logFile "No rejection for exp S/N\n"; 291 } 292 } 293 294 unless ($no_op) { 295 close $logFile; 286 296 } 287 297
Note:
See TracChangeset
for help on using the changeset viewer.
