Changeset 9103
- Timestamp:
- Oct 2, 2006, 12:32:58 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/ippScripts/scripts/detrend_reject_exp.pl (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippScripts/scripts/detrend_reject_exp.pl
r9097 r9103 67 67 my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = 68 68 run(command => $command, verbose => 1); 69 die "Unable to perform dettool - processed: $error_code\n" if not $success;69 die "Unable to perform dettool -residexp: $error_code\n" if not $success; 70 70 my $metadata = $mdcParser->parse(join "", @$stdout_buf) 71 71 or die "unable to parse metadata config doc"; … … 103 103 104 104 # Go through again to do rejection, and update the database for each exposure 105 my $numRejected = 0; # Number of exposures rejected 106 for (my $i = 0; $i < scalar @means; $i++) { 107 my $expTag = $expTags[$i]; # Exposure ID 108 my $command = "$dettool -updateresidexp -det_id $det_id -iteration $iter -exp_tag $expTag"; # Command to run 109 my $reject = 0; # Reject this exposure? 110 if (defined REJECT_MEAN->{$det_type} and 111 defined $meanStats->standard_deviation() and 112 $meanStats->standard_deviation() > 0 and 113 ($means[$i] - $meanStats->mean()) / $meanStats->standard_deviation() > REJECT_MEAN->{$det_type}) { 114 print "Rejecting $expTag based on bad mean: " . 115 (($means[$i] - $meanStats->mean()) / $meanStats->standard_deviation()) . 116 " vs " . REJECT_MEAN->{$det_type} . "\n"; 117 $reject = 1; 118 } elsif (defined REJECT_STDEV->{$det_type} and 119 defined $stdevStats->standard_deviation() and 120 $stdevStats->standard_deviation() > 0 and 121 ($stdevs[$i] - $stdevStats->mean()) / $stdevStats->standard_deviation() > 122 REJECT_STDEV->{$det_type}) { 123 print "Rejecting $expTag based on bad stdev: " . 124 (($stdevs[$i] - $stdevStats->mean()) / $stdevStats->standard_deviation()) . 125 " vs " . REJECT_STDEV->{$det_type} . "\n"; 126 $reject = 1; 127 } elsif (defined REJECT_MEAN_STDEV->{$det_type} and 128 defined $meanStdevStats->standard_deviation() and 129 $meanStdevStats->standard_deviation() > 0 and 130 ($meanStdevs[$i] - $meanStdevStats->mean()) / $meanStdevStats->standard_deviation() > 131 REJECT_MEAN_STDEV->{$det_type}) { 132 print "Rejecting $expTag based on bad stdev: " . 133 (($meanStdevs[$i] - $meanStdevStats->mean()) / $meanStdevStats->standard_deviation()) . 134 " vs " . REJECT_MEAN_STDEV->{$det_type} . "\n"; 135 $reject = 1; 105 unless ($no_update) { 106 my $numRejected = 0; # Number of exposures rejected 107 for (my $i = 0; $i < scalar @means; $i++) { 108 my $expTag = $expTags[$i]; # Exposure ID 109 my $command = "$dettool -updateresidexp -det_id $det_id -iteration $iter -exp_tag $expTag"; # Command to run 110 my $reject = 0; # Reject this exposure? 111 if (defined REJECT_MEAN->{$det_type} and 112 defined $meanStats->standard_deviation() and 113 $meanStats->standard_deviation() > 0 and 114 ($means[$i] - $meanStats->mean()) / $meanStats->standard_deviation() > REJECT_MEAN->{$det_type}) { 115 print "Rejecting $expTag based on bad mean: " . 116 (($means[$i] - $meanStats->mean()) / $meanStats->standard_deviation()) . 117 " vs " . REJECT_MEAN->{$det_type} . "\n"; 118 $reject = 1; 119 } elsif (defined REJECT_STDEV->{$det_type} and 120 defined $stdevStats->standard_deviation() and 121 $stdevStats->standard_deviation() > 0 and 122 ($stdevs[$i] - $stdevStats->mean()) / $stdevStats->standard_deviation() > 123 REJECT_STDEV->{$det_type}) { 124 print "Rejecting $expTag based on bad stdev: " . 125 (($stdevs[$i] - $stdevStats->mean()) / $stdevStats->standard_deviation()) . 126 " vs " . REJECT_STDEV->{$det_type} . "\n"; 127 $reject = 1; 128 } elsif (defined REJECT_MEAN_STDEV->{$det_type} and 129 defined $meanStdevStats->standard_deviation() and 130 $meanStdevStats->standard_deviation() > 0 and 131 ($meanStdevs[$i] - $meanStdevStats->mean()) / $meanStdevStats->standard_deviation() > 132 REJECT_MEAN_STDEV->{$det_type}) { 133 print "Rejecting $expTag based on bad stdev: " . 134 (($meanStdevs[$i] - $meanStdevStats->mean()) / $meanStdevStats->standard_deviation()) . 135 " vs " . REJECT_MEAN_STDEV->{$det_type} . "\n"; 136 $reject = 1; 137 } 138 139 if ($reject) { 140 $command .= ' -reject'; 141 ### XXX: Need some way to know whether the exposure has already been rejected. 142 ### rejection flag in $exposures? 143 $numRejected++; 144 } 145 146 # Update 147 my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = 148 run(command => $command, verbose => 1); 149 die "Unable to perform dettool -updateresidexp: $error_code\n" if not $success; 136 150 } 137 151 138 if ($reject) { 139 $command .= ' -reject'; 140 ### XXX: Need some way to know whether the exposure has already been rejected. 141 ### rejection flag in $exposures? 142 $numRejected++; 152 # Decide if the current is sufficient to use as a master, and if we can stop iterating 153 my $master = 1; # This is good enough for a master 154 my $stop = 1; # Stop iterating 155 # XXX: This probably isn't sufficient, but will do for now: 156 if ($numRejected > 0) { 157 $master = 0; 158 $stop = 0; 143 159 } 144 160 145 # Update 146 my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = 147 run(command => $command, verbose => 1); 148 die "Unable to perform dettool -updateresidexp: $error_code\n" if not $success; 149 } 150 151 # Decide if the current is sufficient to use as a master, and if we can stop iterating 152 my $master = 1; # This is good enough for a master 153 my $stop = 1; # Stop iterating 154 # XXX: This probably isn't sufficient, but will do for now: 155 if ($numRejected > 0) { 156 $master = 0; 157 $stop = 0; 158 } 159 160 # Put the result into the database 161 unless ($no_update) { 161 # Put the result into the database 162 162 { 163 163 my $command = "$dettool -adddetrunsummary -det_id $det_id -iteration $iter " .
Note:
See TracChangeset
for help on using the changeset viewer.
