IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 14439


Ignore:
Timestamp:
Aug 8, 2007, 11:25:35 AM (19 years ago)
Author:
Paul Price
Message:

Adding skewness and kurtosis and fringe residuals (formerly in 'user') for residuals.

Location:
trunk/ippScripts/scripts
Files:
3 edited

Legend:

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

    r14115 r14439  
    8080       { name => "bg_stdev",       type => "mean",  flag => "ensStdevMean",      dtype => "float" },
    8181       { name => "bg_stdev",       type => "stdev", flag => "ensStdevStdev",     dtype => "float" },
     82       { name => "bg_skewness",    type => "mean",  flag => "ensSkewness",       dtype => "float" },
     83       { name => "bg_kurtosis",    type => "mean",  flag => "ensKurtosis",       dtype => "float" },
     84
    8285   ];
    8386my $rejstats = PS::IPP::Metadata::Stats->new($REJSTATS); # Stats parser
  • trunk/ippScripts/scripts/detrend_reject_imfile.pl

    r14115 r14439  
    9292        { name => "bg_mean_stdev",  type => "stdev", flag => "-bg_mean_stdev", dtype => "float" },
    9393        { name => "bg_stdev",       type => "rms",   flag => "-bg_stdev",      dtype => "float" }, 
     94        { name => "bg_skewness",    type => "max",   flag => "-bg_skewness",   dtype => "float" }, 
     95        { name => "bg_kurtosis",    type => "max",   flag => "-bg_kurtosis",   dtype => "float" }, 
    9496        { name => "bin_stdev",      type => "rms",   flag => "-bin_stdev",     dtype => "float" },
    9597        { name => "fringe_0",       type => "mean",  flag => "-fringe_0",      dtype => "float" },
     
    195197my $reject_imfile_flux      = rejection_limit( 'IMFILE.FLUX',      $det_type, $filter );
    196198my $reject_imfile_stdev     = rejection_limit( 'IMFILE.STDEV',     $det_type, $filter );
     199my $reject_imfile_skewness  = rejection_limit( 'IMFILE.SKEWNESS',  $det_type, $filter );
     200my $reject_imfile_kurtosis  = rejection_limit( 'IMFILE.KURTOSIS',  $det_type, $filter );
    197201my $reject_imfile_meanstdev = rejection_limit( 'IMFILE.MEANSTDEV', $det_type, $filter );
    198 my $reject_imfile_sn        = rejection_limit( 'IMFILE.SN',        $det_type, $filter );
     202my $reject_imfile_snr       = rejection_limit( 'IMFILE.SNR',       $det_type, $filter );
    199203my $reject_imfile_bin_stdev = rejection_limit( 'IMFILE.BIN.STDEV', $det_type, $filter );
    200 my $reject_imfile_bin_sn    = rejection_limit( 'IMFILE.BIN.SN',    $det_type, $filter );
     204my $reject_imfile_bin_snr   = rejection_limit( 'IMFILE.BIN.SNR',   $det_type, $filter );
    201205my $reject_exp_mean         = rejection_limit( 'EXP.MEAN',         $det_type, $filter );
    202206my $reject_exp_flux         = rejection_limit( 'EXP.FLUX',         $det_type, $filter );
    203207my $reject_exp_stdev        = rejection_limit( 'EXP.STDEV',        $det_type, $filter );
    204208my $reject_exp_meanstdev    = rejection_limit( 'EXP.MEANSTDEV',    $det_type, $filter );
    205 my $reject_exp_sn           = rejection_limit( 'EXP.SN',           $det_type, $filter );
     209my $reject_exp_snr          = rejection_limit( 'EXP.SNR',          $det_type, $filter );
    206210my $reject_exp_bin_stdev    = rejection_limit( 'EXP.BIN.STDEV',    $det_type, $filter );
    207 my $reject_exp_bin_sn       = rejection_limit( 'EXP.BIN.SN',       $det_type, $filter );
     211my $reject_exp_bin_snr      = rejection_limit( 'EXP.BIN.SNR',      $det_type, $filter );
    208212
    209213# storage array
     
    214218    my $mean      = $file->{bg};        # Mean for this imfile
    215219    my $stdev     = $file->{bg_stdev}; # Stdev for this imfile
     220    my $skewness  = $file->{bg_skewness}; # Skewness for this imfile
     221    my $kurtosis  = $file->{bg_kurtosis}; # Kurtosis for this imfile
    216222    my $meanStdev = $file->{bg_mean_stdev}; # Stdev of Means for this imfile
    217223    my $binStdev  = $file->{bin_stdev}; # Binned Stdev for this imfile
     
    279285    }
    280286
     287    # reject exposure if, for any imfiles, the skewness is
     288    # larger than the limit
     289    if ($reject_imfile_stdev > 0) {
     290        if ($stdev > $reject_imfile_skewness) {
     291            print $logFile "Rejecting exposure based on bad imfile skewness for $name: ";
     292            $reject = 1;
     293        } else {
     294            print $logFile "Imfile skewness for $name meets requirements: ";
     295        }
     296        print $logFile "$skewness vs $reject_imfile_skewness\n";
     297
     298    } else {
     299        print $logFile "No rejection on imfile skewness for $name\n";
     300    }
     301
     302    # reject exposure if, for any imfiles, the kurtosis is
     303    # larger than the limit
     304    if ($reject_imfile_stdev > 0) {
     305        if ($stdev > $reject_imfile_kurtosis) {
     306            print $logFile "Rejecting exposure based on bad imfile kurtosis for $name: ";
     307            $reject = 1;
     308        } else {
     309            print $logFile "Imfile kurtosis for $name meets requirements: ";
     310        }
     311        print $logFile "$kurtosis vs $reject_imfile_kurtosis\n";
     312
     313    } else {
     314        print $logFile "No rejection on imfile kurtosis for $name\n";
     315    }
     316
    281317    # reject exposure if, for any imfiles, the variance of the imfile
    282318    # component means is larger than the limit
     
    297333    # means are less than the limit.  this test is sensible for images
    298334    # which have finite residual flux such as a flat-field image. 
    299     if ($reject_imfile_sn > 0) {
    300         if ($mean < $stdev * $reject_imfile_sn) {
     335    if ($reject_imfile_snr > 0) {
     336        if ($mean < $stdev * $reject_imfile_snr) {
    301337            print $logFile "Rejecting exposure based on bad imfile S/N for $name: ";
    302338            $reject = 1;
     
    304340            print $logFile "Imfile S/N for $name meets requirements: ";
    305341        }
    306         print $logFile "mean: $mean vs stdev*SNlimit: " . $stdev * $reject_imfile_sn . "\n";
     342        print $logFile "mean: $mean vs stdev*SNlimit: " . $stdev * $reject_imfile_snr . "\n";
    307343    } else {
    308344        print $logFile "No rejection on imfile S/N for $name\n";
     
    324360        print $logFile "No rejection on imfile binned stdev for $name\n";
    325361    }
    326     if ($reject_imfile_bin_sn > 0) {
    327         if ($mean < $binStdev * $reject_imfile_bin_sn) {
     362    if ($reject_imfile_bin_snr > 0) {
     363        if ($mean < $binStdev * $reject_imfile_bin_snr) {
    328364            print $logFile "Rejecting exposure based on bad imfile binned S/N for $name: ";
    329365            $reject = 1;
     
    331367            print $logFile "Imfile binned S/N for $name meets requirements: ";
    332368        }
    333         print $logFile "mean: $mean vs binStdev*SNlimit: " . $binStdev * $reject_imfile_bin_sn . "\n";
     369        print $logFile "mean: $mean vs binStdev*SNlimit: " . $binStdev * $reject_imfile_bin_snr . "\n";
    334370    } else {
    335371        print $logFile "No rejection on imfile binned S/N for $name\n";
     
    345381my $fringe_err         = $stats->value_for_flag ("-fringe_1");
    346382my $fringe_mean_stdev  = $stats->value_for_flag ("-fringe_2");
    347 my $dfringe_mean       = $stats->value_for_flag ("-user_1");
    348 my $dfringe_err        = $stats->value_for_flag ("-user_2");
    349 my $dfringe_mean_stdev = $stats->value_for_flag ("-user_3");
     383my $dfringe_mean       = $stats->value_for_flag ("-fringe_resid_0");
     384my $dfringe_err        = $stats->value_for_flag ("-fringe_resid_1");
     385my $dfringe_mean_stdev = $stats->value_for_flag ("-fringe_resid_2");
    350386
    351387# other stats (flux depends on bg and exp_time)
     
    355391
    356392# other stats
    357 my $exp_sn = 0.0;
    358 if ($stdev > 0) { $exp_sn = $mean / $stdev; }
     393my $exp_snr = 0.0;
     394if ($stdev > 0) { $exp_snr = $mean / $stdev; }
    359395
    360396## Reject based on the exposure ensemble stats
    361397# reject if the exposure ensemble mean is deviant
    362398unless ($no_op) {
    363     print $logFile "Exposure mean $mean, stdev $stdev, mean stdev $meanStdev, exp s/n: $exp_sn\n";
     399    print $logFile "Exposure mean $mean, stdev $stdev, mean stdev $meanStdev, exp s/n: $exp_snr\n";
    364400
    365401    # reject exposure if the ensemble mean residual counts deviate
     
    426462
    427463    # reject if the signal-to-noise is insufficient
    428     if ($reject_exp_sn > 0) {
    429         if (abs($mean) < abs($stdev * $reject_exp_sn)) {
     464    if ($reject_exp_snr > 0) {
     465        if (abs($mean) < abs($stdev * $reject_exp_snr)) {
    430466            print $logFile "Rejecting exposure based on poor S/N: \n";
    431467            $reject = 1;
     
    433469            print $logFile "Exposure S/N meets requirements: \n";
    434470        }
    435         print $logFile "signal: $mean vs noise: $stdev (s/n limit is: $reject_exp_sn)\n";
     471        print $logFile "signal: $mean vs noise: $stdev (s/n limit is: $reject_exp_snr)\n";
    436472    } else {
    437473        print $logFile "No rejection for exp S/N\n";
     
    450486    }
    451487    # reject if the signal-to-noise is insufficient
    452     if ($reject_exp_bin_sn > 0) {
    453         if (abs($mean) < abs($binStdev * $reject_exp_bin_sn)) {
     488    if ($reject_exp_bin_snr > 0) {
     489        if (abs($mean) < abs($binStdev * $reject_exp_bin_snr)) {
    454490            print $logFile "Rejecting exposure based on poor binned S/N: \n";
    455491            $reject = 1;
     
    457493            print $logFile "Exposure binned S/N meets requirements: \n";
    458494        }
    459         print $logFile "signal: $mean vs noise: $binStdev (s/n limit is: $reject_exp_bin_sn)\n";
     495        print $logFile "signal: $mean vs noise: $binStdev (s/n limit is: $reject_exp_bin_snr)\n";
    460496    } else {
    461497        print $logFile "No rejection for exp binned S/N\n";
  • trunk/ippScripts/scripts/detrend_resid.pl

    r14115 r14439  
    8181# values to extract from output metadata and the stats to calculate
    8282my $STATS =
    83    [   
     83   [
    8484       #          PPSTATS KEYWORD         STATISTIC          CHIPTOOL FLAG
    85        { name => "ROBUST_MEDIAN",      type => "mean",  flag => "-bg",            dtype => "float" },
    86        { name => "ROBUST_MEDIAN",      type => "stdev", flag => "-bg_mean_stdev", dtype => "float" },
    87        { name => "ROBUST_STDEV",       type => "rms",   flag => "-bg_stdev",      dtype => "float" },
    88        { name => "FRINGE_0",           type => "mean",  flag => "-fringe_0",      dtype => "float" },
    89        { name => "FRINGE_ERR_0",       type => "rms",   flag => "-fringe_1",      dtype => "float" },
    90        { name => "FRINGE_0",           type => "stdev", flag => "-fringe_2",      dtype => "float" },
    91        { name => "FRINGE_RESID_0",     type => "mean",  flag => "-user_1",        dtype => "float" },
    92        { name => "FRINGE_RESID_ERR_0", type => "rms",   flag => "-user_2",        dtype => "float" },
    93        { name => "FRINGE_RESID_0",     type => "stdev", flag => "-user_3",        dtype => "float" },
     85       { name => "ROBUST_MEDIAN",      type => "mean",  flag => "-bg",             dtype => "float" },
     86       { name => "ROBUST_MEDIAN",      type => "stdev", flag => "-bg_mean_stdev",  dtype => "float" },
     87       { name => "ROBUST_STDEV",       type => "rms",   flag => "-bg_stdev",       dtype => "float" },
     88       { name => "SAMPLE_SKEWNESS",    type => "max",   flag => "-bg_skewness",    dtype => "float" },
     89       { name => "SAMPLE_KURTOSIS",    type => "max",   flag => "-bg_kurtosis",    dtype => "float" },
     90       { name => "FRINGE_0",           type => "mean",  flag => "-fringe_0",       dtype => "float" },
     91       { name => "FRINGE_ERR_0",       type => "rms",   flag => "-fringe_1",       dtype => "float" },
     92       { name => "FRINGE_0",           type => "stdev", flag => "-fringe_2",       dtype => "float" },
     93       { name => "FRINGE_RESID_0",     type => "mean",  flag => "-fringe_resid_0", dtype => "float" },
     94       { name => "FRINGE_RESID_ERR_0", type => "rms",   flag => "-fringe_resid_1", dtype => "float" },
     95       { name => "FRINGE_RESID_0",     type => "stdev", flag => "-fringe_resid_2", dtype => "float" },
    9496   ];
    9597my $stats = PS::IPP::Metadata::Stats->new($STATS); # Stats parser
    9698
    9799my $BINNED_STATS =
    98    [   
     100   [
    99101       { name => "ROBUST_STDEV",   type => "rms",   flag => "-bin_stdev" },
    100102   ];
Note: See TracChangeset for help on using the changeset viewer.