Changeset 10333
- Timestamp:
- Nov 30, 2006, 4:34:00 PM (20 years ago)
- Location:
- trunk/ippScripts/scripts
- Files:
-
- 2 edited
-
detrend_reject_exp.pl (modified) (8 diffs)
-
detrend_reject_imfile.pl (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippScripts/scripts/detrend_reject_exp.pl
r9821 r10333 58 58 my @expTags; # Array of exposure IDs 59 59 my @means; # Array of means 60 my @stdevs; # Array of standard deviations 61 my @meanStdevs; # Array of standard deviations of the mean 60 62 my @variances; # Array of variances 61 63 my @accept; # Array of accept flags … … 70 72 push @expTags, $exposure->{exp_tag}; 71 73 push @means, $exposure->{bg}; 74 push @stdevs, $exposure->{bg_stdev}; 75 push @meanStdevs, $exposure->{bg_mean_stdev}; 72 76 push @variances, $exposure->{bg_stdev}**2; 73 77 push @accept, $exposure->{accept}; … … 76 80 my $meanStats = Statistics::Descriptive::Sparse->new(); # Statistics calculator 77 81 $meanStats->add_data(@means); 78 my $varianceStats = Statistics::Descriptive::Sparse->new(); # Statistics calculator 79 $varianceStats->add_data(@variances); 82 my $stdevStats = Statistics::Descriptive::Sparse->new(); # Statistics calculator 83 $stdevStats->add_data(@stdevs); 84 my $meanStdevStats = Statistics::Descriptive::Sparse->new(); # Statistics calculator 85 $meanStdevStats->add_data(@meanStdevs); 80 86 81 87 $ipprc->define_camera($camera); … … 85 91 my $reject_meanstdev = rejection_limit( 'ENSEMBLE.MEANSTDEV', $det_type, $filter ); 86 92 87 # rejections based on comparison with ensemble statistics 88 ## these should probably be 3-sigma clipped statistics themselves... 89 my $mean = $meanStats->mean(); 90 my $meanStdev = $meanStats->standard_deviation(); 91 if (not defined $meanStdev) { $meanStdev = 0; } 92 93 my $var = $varianceStats->mean(); 94 my $varStdev = $varianceStats->standard_deviation(); 95 96 print "Ensemble mean $mean +/- $meanStdev, stdev " . sqrt($var) . " +/- " . sqrt($varStdev) . "\n\n"; 93 print "Ensemble mean " . $meanStats->mean() . " +/- " . $meanStats->standard_deviation . 94 ", stdev " . $stdevStats->mean() . " +/- " . $stdevStats->standard_deviation() . "\n\n"; 97 95 98 96 # Go through again to do rejection, and update the database for each exposure … … 111 109 goto UPDATE; 112 110 } 113 if ($reject_mean && ($meanStdev > 0)) { 114 my $nSigma = abs($means[$i] - $mean) / $meanStdev; 111 112 if ($reject_mean and defined $meanStats->standard_deviation() ) { 113 my $nSigma = abs($means[$i] - $meanStats->mean() ) / $meanStats->standard_deviation(); 115 114 if ($nSigma > $reject_mean) { 116 115 print "Rejecting $expTag based on outlier mean value: " . 117 "$means[$i] is $nSigma vs " . $reject_mean . "\n";116 "$means[$i] --> $nSigma sigma vs " . $reject_mean . "\n"; 118 117 $reject = 1; 119 118 goto UPDATE; … … 122 121 print "no rejection for exposure mean\n"; 123 122 } 124 if ($reject_stdev && ($varStdev > 0)) { 125 my $nSigma = abs($variances[$i] - $var) / $varStdev; 123 124 if ($reject_stdev and defined $stdevStats->standard_deviation() > 0) { 125 my $nSigma = abs($stdevs[$i] - $stdevStats->mean() ) / $stdevStats->standard_deviation(); 126 126 if ($nSigma > $reject_stdev) { 127 127 print "Rejecting $expTag based on outlier stdev: " . 128 sqrt($variances[$i]) . " is $nSigma vs " . $reject_stdev . "\n";128 $stdevs[$i] . " --> $nSigma sigma vs " . $reject_stdev . "\n"; 129 129 $reject = 1; 130 130 goto UPDATE; … … 132 132 } else { 133 133 print "no rejection for exposure stdev\n"; 134 } 135 136 if ($reject_meanstdev and defined $meanStdevStats->standard_deviation() > 0) { 137 my $nSigma = abs($meanStdevs[$i] - $meanStdevStats->mean() ) / $meanStdevStats->standard_deviation(); 138 if ($nSigma > $reject_meanstdev) { 139 print "Rejecting $expTag based on outlier mean stdev: " . 140 $meanStdevs[$i] . " --> $nSigma sigma vs " . $reject_stdev . "\n"; 141 $reject = 1; 142 goto UPDATE; 143 } 144 } else { 145 print "no rejection for exposure mean stdev\n"; 134 146 } 135 147 … … 174 186 # Put the result into the database 175 187 unless ($no_update) { 188 my $varianceStats = Statistics::Descriptive::Sparse->new(); # Statistics calculator 189 $varianceStats->add_data(@variances); 190 176 191 my $command = "$dettool -adddetrunsummary -det_id $det_id -iteration $iter" . 177 " -bg " . $mean . " -bg_stdev " . sqrt($var) .178 " -bg_mean_stdev " . $meanSt dev;192 " -bg " . $meanStats->mean() . " -bg_stdev " . sqrt($varianceStats->mean()) . 193 " -bg_mean_stdev " . $meanStats->standard_deviation(); 179 194 $command .= " -accept" if $master; 180 195 -
trunk/ippScripts/scripts/detrend_reject_imfile.pl
r9892 r10333 125 125 126 126 if ($reject_imfile_mean) { 127 if (abs($mean) > $reject_imfile_mean ) {127 if (abs($mean) > $reject_imfile_mean * $stdev) { 128 128 print "Rejecting exposure based on bad imfile mean for imfile $i: " . 129 129 $mean . " vs " . $reject_imfile_mean . "\n"; … … 164 164 # reject if the exposure ensemble mean is deviant 165 165 if ($reject_exp_mean) { 166 if (abs($mean) > $reject_exp_mean ) {166 if (abs($mean) > $reject_exp_mean * $stdev) { 167 167 print "Rejecting exposure based on bad mean: " . ($mean / $stdev) . " vs " . 168 168 $reject_exp_mean . "\n";
Note:
See TracChangeset
for help on using the changeset viewer.
