IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 9103


Ignore:
Timestamp:
Oct 2, 2006, 12:32:58 PM (20 years ago)
Author:
Paul Price
Message:

Fixing --no-update.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippScripts/scripts/detrend_reject_exp.pl

    r9097 r9103  
    6767    my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
    6868        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;
    7070    my $metadata = $mdcParser->parse(join "", @$stdout_buf)
    7171        or die "unable to parse metadata config doc";
     
    103103
    104104# 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;
     105unless ($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;
    136150    }
    137151
    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;
    143159    }
    144160
    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
    162162    {
    163163        my $command = "$dettool -adddetrunsummary -det_id $det_id -iteration $iter " .
Note: See TracChangeset for help on using the changeset viewer.