Index: trunk/ippScripts/scripts/detrend_reject_imfile.pl
===================================================================
--- trunk/ippScripts/scripts/detrend_reject_imfile.pl	(revision 14115)
+++ trunk/ippScripts/scripts/detrend_reject_imfile.pl	(revision 14439)
@@ -92,4 +92,6 @@
 	{ name => "bg_mean_stdev",  type => "stdev", flag => "-bg_mean_stdev", dtype => "float" },
 	{ name => "bg_stdev",       type => "rms",   flag => "-bg_stdev",      dtype => "float" },  
+	{ name => "bg_skewness",    type => "max",   flag => "-bg_skewness",   dtype => "float" },  
+	{ name => "bg_kurtosis",    type => "max",   flag => "-bg_kurtosis",   dtype => "float" },  
 	{ name => "bin_stdev",      type => "rms",   flag => "-bin_stdev",     dtype => "float" },
 	{ name => "fringe_0",       type => "mean",  flag => "-fringe_0",      dtype => "float" },
@@ -195,15 +197,17 @@
 my $reject_imfile_flux      = rejection_limit( 'IMFILE.FLUX',      $det_type, $filter );
 my $reject_imfile_stdev     = rejection_limit( 'IMFILE.STDEV',     $det_type, $filter );
+my $reject_imfile_skewness  = rejection_limit( 'IMFILE.SKEWNESS',  $det_type, $filter );
+my $reject_imfile_kurtosis  = rejection_limit( 'IMFILE.KURTOSIS',  $det_type, $filter );
 my $reject_imfile_meanstdev = rejection_limit( 'IMFILE.MEANSTDEV', $det_type, $filter );
-my $reject_imfile_sn        = rejection_limit( 'IMFILE.SN',        $det_type, $filter );
+my $reject_imfile_snr       = rejection_limit( 'IMFILE.SNR',       $det_type, $filter );
 my $reject_imfile_bin_stdev = rejection_limit( 'IMFILE.BIN.STDEV', $det_type, $filter );
-my $reject_imfile_bin_sn    = rejection_limit( 'IMFILE.BIN.SN',    $det_type, $filter );
+my $reject_imfile_bin_snr   = rejection_limit( 'IMFILE.BIN.SNR',   $det_type, $filter );
 my $reject_exp_mean         = rejection_limit( 'EXP.MEAN',         $det_type, $filter );
 my $reject_exp_flux         = rejection_limit( 'EXP.FLUX',         $det_type, $filter );
 my $reject_exp_stdev        = rejection_limit( 'EXP.STDEV',        $det_type, $filter );
 my $reject_exp_meanstdev    = rejection_limit( 'EXP.MEANSTDEV',    $det_type, $filter );
-my $reject_exp_sn           = rejection_limit( 'EXP.SN',           $det_type, $filter );
+my $reject_exp_snr          = rejection_limit( 'EXP.SNR',          $det_type, $filter );
 my $reject_exp_bin_stdev    = rejection_limit( 'EXP.BIN.STDEV',    $det_type, $filter );
-my $reject_exp_bin_sn       = rejection_limit( 'EXP.BIN.SN',       $det_type, $filter );
+my $reject_exp_bin_snr      = rejection_limit( 'EXP.BIN.SNR',      $det_type, $filter );
 
 # storage array
@@ -214,4 +218,6 @@
     my $mean      = $file->{bg};	# Mean for this imfile
     my $stdev     = $file->{bg_stdev}; # Stdev for this imfile
+    my $skewness  = $file->{bg_skewness}; # Skewness for this imfile
+    my $kurtosis  = $file->{bg_kurtosis}; # Kurtosis for this imfile
     my $meanStdev = $file->{bg_mean_stdev}; # Stdev of Means for this imfile
     my $binStdev  = $file->{bin_stdev}; # Binned Stdev for this imfile
@@ -279,4 +285,34 @@
     }
 
+    # reject exposure if, for any imfiles, the skewness is
+    # larger than the limit
+    if ($reject_imfile_stdev > 0) {
+	if ($stdev > $reject_imfile_skewness) {
+	    print $logFile "Rejecting exposure based on bad imfile skewness for $name: ";
+	    $reject = 1;
+	} else {
+	    print $logFile "Imfile skewness for $name meets requirements: ";
+	}
+	print $logFile "$skewness vs $reject_imfile_skewness\n";
+
+    } else {
+	print $logFile "No rejection on imfile skewness for $name\n";
+    }
+
+    # reject exposure if, for any imfiles, the kurtosis is
+    # larger than the limit
+    if ($reject_imfile_stdev > 0) {
+	if ($stdev > $reject_imfile_kurtosis) {
+	    print $logFile "Rejecting exposure based on bad imfile kurtosis for $name: ";
+	    $reject = 1;
+	} else {
+	    print $logFile "Imfile kurtosis for $name meets requirements: ";
+	}
+	print $logFile "$kurtosis vs $reject_imfile_kurtosis\n";
+
+    } else {
+	print $logFile "No rejection on imfile kurtosis for $name\n";
+    }
+
     # reject exposure if, for any imfiles, the variance of the imfile
     # component means is larger than the limit
@@ -297,6 +333,6 @@
     # means are less than the limit.  this test is sensible for images
     # which have finite residual flux such as a flat-field image.  
-    if ($reject_imfile_sn > 0) {
-	if ($mean < $stdev * $reject_imfile_sn) {
+    if ($reject_imfile_snr > 0) {
+	if ($mean < $stdev * $reject_imfile_snr) {
 	    print $logFile "Rejecting exposure based on bad imfile S/N for $name: ";
 	    $reject = 1;
@@ -304,5 +340,5 @@
 	    print $logFile "Imfile S/N for $name meets requirements: ";
 	}
-	print $logFile "mean: $mean vs stdev*SNlimit: " . $stdev * $reject_imfile_sn . "\n";
+	print $logFile "mean: $mean vs stdev*SNlimit: " . $stdev * $reject_imfile_snr . "\n";
     } else {
 	print $logFile "No rejection on imfile S/N for $name\n";
@@ -324,6 +360,6 @@
 	print $logFile "No rejection on imfile binned stdev for $name\n";
     }
-    if ($reject_imfile_bin_sn > 0) {
-	if ($mean < $binStdev * $reject_imfile_bin_sn) {
+    if ($reject_imfile_bin_snr > 0) {
+	if ($mean < $binStdev * $reject_imfile_bin_snr) {
 	    print $logFile "Rejecting exposure based on bad imfile binned S/N for $name: ";
 	    $reject = 1;
@@ -331,5 +367,5 @@
 	    print $logFile "Imfile binned S/N for $name meets requirements: ";
 	}
-	print $logFile "mean: $mean vs binStdev*SNlimit: " . $binStdev * $reject_imfile_bin_sn . "\n";
+	print $logFile "mean: $mean vs binStdev*SNlimit: " . $binStdev * $reject_imfile_bin_snr . "\n";
     } else {
 	print $logFile "No rejection on imfile binned S/N for $name\n";
@@ -345,7 +381,7 @@
 my $fringe_err         = $stats->value_for_flag ("-fringe_1");
 my $fringe_mean_stdev  = $stats->value_for_flag ("-fringe_2");
-my $dfringe_mean       = $stats->value_for_flag ("-user_1");
-my $dfringe_err        = $stats->value_for_flag ("-user_2");
-my $dfringe_mean_stdev = $stats->value_for_flag ("-user_3");
+my $dfringe_mean       = $stats->value_for_flag ("-fringe_resid_0");
+my $dfringe_err        = $stats->value_for_flag ("-fringe_resid_1");
+my $dfringe_mean_stdev = $stats->value_for_flag ("-fringe_resid_2");
 
 # other stats (flux depends on bg and exp_time)
@@ -355,11 +391,11 @@
 
 # other stats
-my $exp_sn = 0.0;
-if ($stdev > 0) { $exp_sn = $mean / $stdev; }
+my $exp_snr = 0.0;
+if ($stdev > 0) { $exp_snr = $mean / $stdev; }
 
 ## Reject based on the exposure ensemble stats
 # reject if the exposure ensemble mean is deviant
 unless ($no_op) {
-    print $logFile "Exposure mean $mean, stdev $stdev, mean stdev $meanStdev, exp s/n: $exp_sn\n";
+    print $logFile "Exposure mean $mean, stdev $stdev, mean stdev $meanStdev, exp s/n: $exp_snr\n";
 
     # reject exposure if the ensemble mean residual counts deviate
@@ -426,6 +462,6 @@
 
     # reject if the signal-to-noise is insufficient
-    if ($reject_exp_sn > 0) {
-	if (abs($mean) < abs($stdev * $reject_exp_sn)) {
+    if ($reject_exp_snr > 0) {
+	if (abs($mean) < abs($stdev * $reject_exp_snr)) {
 	    print $logFile "Rejecting exposure based on poor S/N: \n";
 	    $reject = 1;
@@ -433,5 +469,5 @@
 	    print $logFile "Exposure S/N meets requirements: \n";
 	}
-	print $logFile "signal: $mean vs noise: $stdev (s/n limit is: $reject_exp_sn)\n";
+	print $logFile "signal: $mean vs noise: $stdev (s/n limit is: $reject_exp_snr)\n";
     } else {
 	print $logFile "No rejection for exp S/N\n";
@@ -450,6 +486,6 @@
     }
     # reject if the signal-to-noise is insufficient
-    if ($reject_exp_bin_sn > 0) {
-	if (abs($mean) < abs($binStdev * $reject_exp_bin_sn)) {
+    if ($reject_exp_bin_snr > 0) {
+	if (abs($mean) < abs($binStdev * $reject_exp_bin_snr)) {
 	    print $logFile "Rejecting exposure based on poor binned S/N: \n";
 	    $reject = 1;
@@ -457,5 +493,5 @@
 	    print $logFile "Exposure binned S/N meets requirements: \n";
 	}
-	print $logFile "signal: $mean vs noise: $binStdev (s/n limit is: $reject_exp_bin_sn)\n";
+	print $logFile "signal: $mean vs noise: $binStdev (s/n limit is: $reject_exp_bin_snr)\n";
     } else {
 	print $logFile "No rejection for exp binned S/N\n";
