Changeset 13618 for trunk/ippScripts/scripts/detrend_reject_imfile.pl
- Timestamp:
- Jun 4, 2007, 2:25:37 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/ippScripts/scripts/detrend_reject_imfile.pl (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippScripts/scripts/detrend_reject_imfile.pl
r13590 r13618 120 120 my @means; # Array of means 121 121 my @variances; # Array of variances 122 my @binVariances; # Array of binned variances 122 123 my @meanStdevs; # Array of mean stdevs 123 124 my @names; # Array of names (class_id) … … 129 130 ## calculate the root-mean-square of the bd_stdevs 130 131 push @variances, $file->{bg_stdev}*$file->{bg_stdev}; 132 push @binVariances, $file->{bin_stdev}*$file->{bin_stdev}; 131 133 push @names, $file->{class_id}; 132 134 } … … 180 182 my $reject_imfile_meanstdev = rejection_limit( 'IMFILE.MEANSTDEV', $det_type, $filter ); 181 183 my $reject_imfile_sn = rejection_limit( 'IMFILE.SN', $det_type, $filter ); 184 my $reject_imfile_bin_sn = rejection_limit( 'IMFILE.BIN.SN', $det_type, $filter ); 182 185 my $reject_exp_mean = rejection_limit( 'EXP.MEAN', $det_type, $filter ); 183 186 my $reject_exp_stdev = rejection_limit( 'EXP.STDEV', $det_type, $filter ); 184 187 my $reject_exp_meanstdev = rejection_limit( 'EXP.MEANSTDEV', $det_type, $filter ); 185 188 my $reject_exp_sn = rejection_limit( 'EXP.SN', $det_type, $filter ); 189 my $reject_exp_bin_sn = rejection_limit( 'EXP.BIN.SN', $det_type, $filter ); 186 190 187 191 my $logName = caturi( $workdir, "$exp_tag.detreject.$det_id.$iter.log" ); # Name for log … … 199 203 $mean -= $expected; 200 204 my $stdev = sqrt($variances[$i]); # Stdev for this imfile 205 my $binStdev = sqrt($binVariances[$i]); # Stdev for this imfile 201 206 my $name = $names[$i]; 202 207 … … 247 252 } else { 248 253 print $logFile "No rejection on imfile S/N for $name\n"; 254 } 255 if ($reject_imfile_bin_sn) { 256 if ($mean < $binStdev * $reject_imfile_bin_sn) { 257 print $logFile "Rejecting exposure based on bad imfile binned S/N for $name: "; 258 $reject = 1; 259 } else { 260 print $logFile "Imfile binned S/N for $name meets requirements: "; 261 } 262 print $logFile "mean: $mean vs binStdev*SNlimit: " . $binStdev * $reject_imfile_bin_sn . "\n"; 263 } else { 264 print $logFile "No rejection on imfile binned S/N for $name\n"; 249 265 } 250 266 } … … 255 271 my $varianceStats = Statistics::Descriptive::Sparse->new(); # Statistics calculator for variances 256 272 $varianceStats->add_data(@variances); 273 my $binVarianceStats = Statistics::Descriptive::Sparse->new(); # Statistics calculator for variances 274 $binVarianceStats->add_data(@binVariances); 257 275 258 276 my $mean = $meanStats->mean(); # Mean of the imfile means … … 263 281 } 264 282 my $stdev = sqrt($varianceStats->mean()); # Root-Mean-Square of the imfile stdevs (root mean of variances) 283 my $binStdev = sqrt($binVarianceStats->mean()); # Root-Mean-Square of the imfile stdevs (root mean of variances) 265 284 my $exp_sn = 0.0; 266 285 if ($stdev > 0) { $exp_sn = $mean / $stdev; } … … 318 337 print $logFile "No rejection for exp S/N\n"; 319 338 } 339 # reject if the signal-to-noise is insufficient 340 if ($reject_exp_bin_sn) { 341 if (abs($mean) < abs($binStdev * $reject_exp_bin_sn)) { 342 print $logFile "Rejecting exposure based on poor binned S/N: \n"; 343 $reject = 1; 344 } else { 345 print $logFile "Exposure binned S/N meets requirements: \n"; 346 } 347 print $logFile "signal: $mean vs noise: $binStdev (s/n limit is: $reject_exp_bin_sn)\n"; 348 } else { 349 print $logFile "No rejection for exp binned S/N\n"; 350 } 320 351 321 352 close $logFile; … … 326 357 my $bg_stdev = $stdev; 327 358 my $bg_mean_stdev = $meanStdev; 359 my $bin_stdev = $binStdev; 328 360 329 361 unless ($no_update) { 330 362 my $command = "$dettool -addresidexp -det_id $det_id -iteration $iter -exp_tag $exp_tag"; 331 363 $command .= " -recip $recipe1,$recipe2 -path_base $outputRoot "; 332 $command .= " -bg $bg -bg_stdev $bg_stdev -bg_mean_stdev $bg_mean_stdev ";364 $command .= " -bg $bg -bg_stdev $bg_stdev -bg_mean_stdev $bg_mean_stdev -bin_stdev $bin_stdev"; 333 365 $command .= ' -reject' if $reject; 334 366 $command .= " -dbname $dbname" if defined $dbname;
Note:
See TracChangeset
for help on using the changeset viewer.
