IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 10719


Ignore:
Timestamp:
Dec 13, 2006, 10:29:46 PM (20 years ago)
Author:
eugene
Message:

rewrite tests to avoid div by zero

Location:
trunk/ippScripts/scripts
Files:
2 edited

Legend:

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

    r10700 r10719  
    7373    push @means, $exposure->{bg};
    7474    push @stdevs, $exposure->{bg_stdev};
    75     push @meanStdevs, $exposure->{bg_mean_stdev} / $exposure->{bg};
     75    # XXX why are we using mean_stdev / bd?
     76    # push @meanStdevs, $exposure->{bg_mean_stdev} / $exposure->{bg};
     77    push @meanStdevs, $exposure->{bg_mean_stdev};
    7678    push @variances, $exposure->{bg_stdev}**2;
    7779    push @accept, $exposure->{accept};
     
    113115
    114116    if ($reject_mean and defined $meanStats->standard_deviation() ) {
    115         my $nSigma = abs($means[$i] - $meanStats->mean() ) / $meanStats->standard_deviation();
    116         if ($nSigma > $reject_mean) {
     117        my $dMean = abs($means[$i] - $meanStats->mean()) ;
     118        if ($dMean > ($reject_mean * $meanStats->standard_deviation())) {
    117119            print "Rejecting $expTag based on outlier mean value: " .
    118                 "$means[$i] --> $nSigma sigma vs " . $reject_mean . "\n";
     120                "$means[$i] --> $dMean vs " . $reject_mean * $meanStats->standard_deviation() . "\n";
    119121            $reject = 1;
    120122            goto UPDATE;
     
    125127
    126128    if ($reject_stdev and defined $stdevStats->standard_deviation() > 0) {
    127         my $nSigma = abs($stdevs[$i] - $stdevStats->mean() ) / $stdevStats->standard_deviation();
    128         if ($nSigma > $reject_stdev) {
     129        my $dMean = abs($stdevs[$i] - $stdevStats->mean());
     130        if ($dMean > ($reject_stdev * $stdevStats->standard_deviation())) {
    129131            print "Rejecting $expTag based on outlier stdev: " .
    130                 $stdevs[$i] . " --> $nSigma sigma vs " . $reject_stdev . "\n";
     132                $stdevs[$i] . " --> $dMean sigma vs " . $reject_stdev . "\n";
    131133            $reject = 1;
    132134            goto UPDATE;
     
    137139   
    138140    if ($reject_meanstdev and defined $meanStdevStats->standard_deviation() > 0) {
    139         my $nSigma = abs($meanStdevs[$i] - $meanStdevStats->mean() ) / $meanStdevStats->standard_deviation();
    140         if ($nSigma > $reject_meanstdev) {
     141        my $dMean = abs($meanStdevs[$i] - $meanStdevStats->mean());
     142        if ($dMean > ($reject_meanstdev * $meanStdevStats->standard_deviation())) {
    141143            print "Rejecting $expTag based on outlier mean stdev: " .
    142                 $meanStdevs[$i] . " --> $nSigma sigma vs " . $reject_meanstdev . "\n";
     144                $meanStdevs[$i] . " --> $dMean sigma vs " . $reject_meanstdev . "\n";
    143145            $reject = 1;
    144146            goto UPDATE;
  • trunk/ippScripts/scripts/detrend_reject_imfile.pl

    r10700 r10719  
    162162    }
    163163    if ($reject_imfile_sn) {
    164         if ($mean / $stdev < $reject_imfile_sn) {
    165             print "Rejecting exposure based on bad imfile S/N for imfile $i: " .
    166                 $mean / $stdev . " vs " . $reject_imfile_sn . "\n";
     164        if ($mean < $stdev * $reject_imfile_sn) {
     165            print "Rejecting exposure based on bad imfile S/N for imfile $i: \n";
     166            print "mean: " . $mean . " vs " . "stdev*SNlimit: " . $stdev * $reject_imfile_sn . "\n";
    167167            $reject = 1;
    168168            last;
     
    193193if ($reject_exp_mean) {
    194194    if (abs($mean) > $reject_exp_mean * $stdev) {
    195         print "Rejecting exposure based on bad mean: " . ($mean / $stdev) . " vs " .
    196             $reject_exp_mean . "\n";
     195        print "Rejecting exposure based on bad mean: \n";
     196        print "mean: $mean, stdev: $stdev (limit is: % $reject_exp_mean\n";
    197197        $reject = 1;
    198198    }
     
    222222# reject if the signal-to-noise is insufficient
    223223if ($reject_exp_sn) {
    224     if ($mean / $stdev < $reject_exp_sn) {
    225         print "Rejecting exposure based on poor S/N: " . $mean / $stdev . " vs " .
    226             $reject_exp_sn . "\n";
     224    if ($mean < $stdev * $reject_exp_sn) {
     225        print "Rejecting exposure based on poor S/N: \n";
     226        print "signal: $mean vs noise: $stdev (s/n limit is: $reject_exp_sn)\n";
    227227        $reject = 1;
    228228    }
     
    306306## the same logical cuts above can be applied to components in an
    307307## imfile, imfiles in an exposure, and exposures in a stack
     308
     309### this function needs to avoid div by zero: compare Signal vs Noise*limit
Note: See TracChangeset for help on using the changeset viewer.