Index: trunk/psphot/src/psphotModelBackground.c
===================================================================
--- trunk/psphot/src/psphotModelBackground.c	(revision 23259)
+++ trunk/psphot/src/psphotModelBackground.c	(revision 23287)
@@ -31,6 +31,6 @@
 static bool backgroundModel(psImage *model,  // Model image
                             psImage *modelStdev, // Model stdev image
-                            psImage *image, // Image for which to generate a background model
-                            psImage *mask, // Mask for image
+                            psMetadata *analysis, // Analysis metadata for outputs
+                            pmReadout *readout, // Readout for which to generate a background model
                             psImageBinning *binning, // Binning parameters
                             const pmConfig *config // Configuration
@@ -40,4 +40,6 @@
 
     bool status = true;
+
+    psImage *image = readout->image, *mask = readout->mask; // Image and mask for readout
 
     // select the appropriate recipe information
@@ -135,7 +137,6 @@
 
     // we save the binning structure for use in psphotMagnitudes
-    status = psMetadataAddPtr(recipe, PS_LIST_TAIL, "PSPHOT.BACKGROUND.BINNING", PS_DATA_UNKNOWN | PS_META_REPLACE, "Background binning", binning);
-    PS_ASSERT (status, false);
-
+    psMetadataAddPtr(analysis, PS_LIST_TAIL, "PSPHOT.BACKGROUND.BINNING",
+                     PS_DATA_UNKNOWN | PS_META_REPLACE, "Background binning", binning);
 
     psF32 **modelData = model->data.F32;
@@ -338,5 +339,5 @@
     psImage *modelStdev = psImageAlloc(binning->nXruff, binning->nYruff, PS_TYPE_F32); // Standard deviation
 
-    if (!backgroundModel(model, modelStdev, ro->image, ro->mask, binning, config)) {
+    if (!backgroundModel(model, modelStdev, ro->analysis, ro, binning, config)) {
         psFree(model);
         psFree(modelStdev);
@@ -360,13 +361,11 @@
     pmFPAfile *file = psMetadataLookupPtr (&status, config->files, filename);
     pmFPA *inFPA = file->fpa;
-    pmReadout *readout = pmFPAviewThisReadout (view, inFPA);
-    psImage *image = readout->image;
-    psImage *mask  = readout->mask;
-
-    psImageBinning *binning = backgroundBinning(image, config); // Image binning parameters
+    pmReadout *readout = pmFPAviewThisReadout(view, inFPA);
+
+    psImageBinning *binning = backgroundBinning(readout->image, config); // Image binning parameters
     pmReadout *model = pmFPAGenerateReadout(config, view, "PSPHOT.BACKMDL", inFPA, binning);
     pmReadout *modelStdev = pmFPAGenerateReadout(config, view, "PSPHOT.BACKMDL.STDEV", inFPA, binning);
 
-    if (!backgroundModel(model->image, modelStdev->image, image, mask, binning, config)) {
+    if (!backgroundModel(model->image, modelStdev->image, model->analysis, readout, binning, config)) {
         psError(PS_ERR_UNKNOWN, false, "Unable to generate background model");
         return false;
