Index: branches/cnb_branch_20090113/ppSub/src/ppSub.c
===================================================================
--- branches/cnb_branch_20090113/ppSub/src/ppSub.c	(revision 21120)
+++ branches/cnb_branch_20090113/ppSub/src/ppSub.c	(revision 21208)
@@ -63,4 +63,5 @@
     psTimerStop();
 
+    pmSubtractionVisualClose(); //close plot windows, if -visual is set
     psFree(config);
     pmModelClassCleanup();
Index: branches/cnb_branch_20090113/ppSub/src/ppSubArguments.c
===================================================================
--- branches/cnb_branch_20090113/ppSub/src/ppSubArguments.c	(revision 21120)
+++ branches/cnb_branch_20090113/ppSub/src/ppSubArguments.c	(revision 21208)
@@ -244,4 +244,5 @@
     psMetadataAddS32(arguments, PS_LIST_TAIL, "-bin2", 0, "Binning factor for second level", 0);
     psMetadataAddStr(arguments, PS_LIST_TAIL, "-dumpconfig", 0, "file to dump configuration to", NULL);
+    psMetadataAddBool(arguments, PS_LIST_TAIL, "-visual", 0, "Show diagnostic plots", NULL);
 
     if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 4) {
@@ -357,4 +358,8 @@
     }
 
+    if (psMetadataLookupBool(NULL, arguments, "-visual")) {
+        pmSubtractionSetVisual(true);
+    }
+
     // Translate the kernel type
     psString type = psMetadataLookupStr(NULL, arguments, "-type"); // Name of kernel type
Index: branches/cnb_branch_20090113/ppSub/src/ppSubReadout.c
===================================================================
--- branches/cnb_branch_20090113/ppSub/src/ppSubReadout.c	(revision 21120)
+++ branches/cnb_branch_20090113/ppSub/src/ppSubReadout.c	(revision 21208)
@@ -451,8 +451,13 @@
     outRO->mask = (psImage*)psBinaryOp(outRO->mask, inConv->mask, "|", refConv->mask);
 
+    outRO->data_exists = outCell->data_exists = outCell->parent->data_exists = true;
+
+    // examine the subtraction
+    pmSubtractionVisualShowSubtraction(minuend->image,
+                                       subtrahend->image,
+                                       outRO->image);
+
     psFree(inConv);
     psFree(refConv);
-
-    outRO->data_exists = outCell->data_exists = outCell->parent->data_exists = true;
 
     // Copy astrometry over
