Index: trunk/ppImage/src/ppImageOptions.c
===================================================================
--- trunk/ppImage/src/ppImageOptions.c	(revision 8751)
+++ trunk/ppImage/src/ppImageOptions.c	(revision 9342)
@@ -23,33 +23,34 @@
 
     // default flags for various activities
-    options->doMask   	= false;	// Mask bad pixels
+    options->doMask     = false;        // Mask bad pixels
     options->maskValue  = 0xff;         // Default mask value
 
-    options->doNonLin 	= false;	// Non-linearity correction
-    options->doBias   	= false;	// Bias subtraction
-    options->doDark     = false;	// Dark subtraction
+    options->doNonLin   = false;        // Non-linearity correction
+    options->doBias     = false;        // Bias subtraction
+    options->doDark     = false;        // Dark subtraction
     options->doOverscan = false;        // Overscan subtraction
-    options->doFlat   	= false;	// Flat-field normalisation
-    options->doFringe 	= false;	// Fringe subtraction
-    options->doPhotom 	= false;	// Source identification and photometry
-    options->doAstromChip = false;	// Astrometry
-    options->doAstromMosaic = false;	// Astrometry
-
-    options->BaseFITS 	= false;	// create binned image (scale 1)
-    options->ChipFITS 	= false;	// create binned image (scale 1)
-    options->FPA1FITS 	= false;	// create binned image (scale 1)
-    options->FPA2FITS 	= false;	// create binned image (scale 1)
-
-    options->Bin1FITS 	= false;	// create binned image (scale 1)
-    options->Bin2FITS 	= false;	// create binned image (scale 2)
-    options->Bin1JPEG 	= false;	// create jpeg of binned image (scale 1)
-    options->Bin2JPEG 	= false;	// create jpeg of binned image (scale 2)
+    options->doShutter  = false;        // Shutter correction
+    options->doFlat     = false;        // Flat-field normalisation
+    options->doFringe   = false;        // Fringe subtraction
+    options->doPhotom   = false;        // Source identification and photometry
+    options->doAstromChip = false;      // Astrometry
+    options->doAstromMosaic = false;    // Astrometry
+
+    options->BaseFITS   = false;        // create binned image (scale 1)
+    options->ChipFITS   = false;        // create binned image (scale 1)
+    options->FPA1FITS   = false;        // create binned image (scale 1)
+    options->FPA2FITS   = false;        // create binned image (scale 1)
+
+    options->Bin1FITS   = false;        // create binned image (scale 1)
+    options->Bin2FITS   = false;        // create binned image (scale 2)
+    options->Bin1JPEG   = false;        // create jpeg of binned image (scale 1)
+    options->Bin2JPEG   = false;        // create jpeg of binned image (scale 2)
 
     // Overscan defaults
-    options->overscan      = NULL;	// Overscan options
+    options->overscan      = NULL;      // Overscan options
 
     // Non-linearity default options
     options->nonLinearType   = 0;       // Type of non-linearity data (vector, string or metadata)
-    options->nonLinearData   = NULL;	// The non-linearity data
+    options->nonLinearData   = NULL;    // The non-linearity data
     options->nonLinearSource = NULL;    // If the non-linearity data is a menu, this provides the key
 
@@ -119,6 +120,6 @@
 
         // How do we fit it?
-	pmFit overscanFit = PM_FIT_NONE; // Fit type for overscan
-	int overscanOrder = 0;		// Order for overscan fit
+        pmFit overscanFit = PM_FIT_NONE; // Fit type for overscan
+        int overscanOrder = 0;          // Order for overscan fit
         psString fit = psMetadataLookupStr(NULL, recipe, "OVERSCAN.FIT");
         if (! strcasecmp(fit, "POLYNOMIAL")) {
@@ -132,9 +133,9 @@
         } else if (strcasecmp(fit, "NONE")) {
             psLogMsg(__func__, PS_LOG_WARN, "OVERSCAN.FIT (%s) in recipe %s is not one of NONE, POLYNOMIAL, or SPLINE", fit, RECIPE_NAME);
-	    exit(EXIT_FAILURE);
-        }
-
-	// What method do we use to measure the overscan statistics?
-	psStats *overscanStats = NULL;	// Statistics for overscan
+            exit(EXIT_FAILURE);
+        }
+
+        // What method do we use to measure the overscan statistics?
+        psStats *overscanStats = NULL;  // Statistics for overscan
         psString stat = psMetadataLookupStr(NULL, recipe, "OVERSCAN.STAT");
         if (! strcasecmp(stat, "MEAN")) {
@@ -144,5 +145,5 @@
         } else {
             psErrorStackPrint(stderr, "OVERSCAN.STAT (%s) in recipe %s is not one of MEAN or MEDIAN", stat, RECIPE_NAME);
-	    exit(EXIT_FAILURE);
+            exit(EXIT_FAILURE);
         }
 
@@ -156,5 +157,5 @@
     psMaskType maskValue = psMetadataLookupU8(&status, recipe, "MASK.VALUE");
     if (status) {
-	options->maskValue = maskValue;
+        options->maskValue = maskValue;
     }
 
@@ -162,14 +163,15 @@
     options->doDark = psMetadataLookupBool(NULL, recipe, "DARK");
     options->doFlat = psMetadataLookupBool(NULL, recipe, "FLAT");
+    options->doShutter = psMetadataLookupBool(NULL, recipe, "SHUTTER");
 
     // binned image options
-    options->xBin1 = psMetadataLookupS32(&status, recipe, "BIN1.XBIN"); 
+    options->xBin1 = psMetadataLookupS32(&status, recipe, "BIN1.XBIN");
     if (!status) options->xBin1 = 16;
-    options->yBin1 = psMetadataLookupS32(&status, recipe, "BIN1.YBIN"); 
+    options->yBin1 = psMetadataLookupS32(&status, recipe, "BIN1.YBIN");
     if (!status) options->yBin1 = 16;
 
-    options->xBin2 = psMetadataLookupS32(&status, recipe, "BIN2.XBIN"); 
+    options->xBin2 = psMetadataLookupS32(&status, recipe, "BIN2.XBIN");
     if (!status) options->xBin1 = 16;
-    options->yBin2 = psMetadataLookupS32(&status, recipe, "BIN2.YBIN"); 
+    options->yBin2 = psMetadataLookupS32(&status, recipe, "BIN2.YBIN");
     if (!status) options->yBin1 = 16;
 
@@ -183,17 +185,17 @@
     options->Bin2FITS = psMetadataLookupBool(NULL, recipe, "BIN2.FITS");
     options->Bin2JPEG = psMetadataLookupBool(NULL, recipe, "BIN2.JPEG");
-    
+
     options->doPhotom = psMetadataLookupBool(NULL, recipe, "PHOTOM");
     options->doAstromChip = psMetadataLookupBool(NULL, recipe, "ASTROM.CHIP");
     options->doAstromMosaic = psMetadataLookupBool(NULL, recipe, "ASTROM.MOSAIC");
     if ((options->doAstromChip || options->doAstromMosaic) && !options->doPhotom) {
-	psLogMsg(__func__, PS_LOG_ERROR, "Invalid Phase2 Options: cannot do ASTROMetry without PHOTOMetry");
-	exit(EXIT_FAILURE);
+        psLogMsg(__func__, PS_LOG_ERROR, "Invalid Phase2 Options: cannot do ASTROMetry without PHOTOMetry");
+        exit(EXIT_FAILURE);
     }
 
     options->doAddstar = psMetadataLookupBool(NULL, recipe, "ADDSTAR");
     if (options->doAddstar && !(options->doAstromChip || options->doAstromMosaic)) {
-	psLogMsg(__func__, PS_LOG_ERROR, "Invalid Phase2 Options: cannot Addstar without Astrometry");
-	exit(EXIT_FAILURE);
+        psLogMsg(__func__, PS_LOG_ERROR, "Invalid Phase2 Options: cannot Addstar without Astrometry");
+        exit(EXIT_FAILURE);
     }
 
