Index: trunk/psModules/src/imcombine/pmSubtractionVisual.c
===================================================================
--- trunk/psModules/src/imcombine/pmSubtractionVisual.c	(revision 26893)
+++ trunk/psModules/src/imcombine/pmSubtractionVisual.c	(revision 29004)
@@ -21,4 +21,5 @@
 
 #include "pmVisual.h"
+#include "pmVisualUtils.h"
 
 #include "pmHDU.h"
@@ -61,5 +62,9 @@
  *    @return true for success */
 bool pmSubtractionVisualPlotConvKernels(psImage *convKernels) {
-    if (!pmVisualIsVisual() || !plotConvKernels) return true;
+
+    if (!pmVisualTestLevel("ppsub.kernels", 1)) return true;
+
+    if (!plotConvKernels) return true;
+
     if (!pmVisualInitWindow(&kapa1, "ppSub:Images")) {
         return false;
@@ -75,5 +80,9 @@
     @return true for success */
 bool pmSubtractionVisualPlotStamps(pmSubtractionStampList *stamps, pmReadout *ro) {
-    if (!pmVisualIsVisual() || !plotStamps) return true;
+
+    if (!pmVisualTestLevel("ppsub.stamps", 1)) return true;
+
+    if (!plotStamps) return true;
+
     if (!pmVisualInitWindow (&kapa1, "ppSub:Images")) {
         return false;
@@ -145,5 +154,8 @@
 bool pmSubtractionVisualPlotLeastSquares (pmSubtractionStampList *stamps, bool dual) {
 
-    if (!pmVisualIsVisual() || !plotLeastSquares) return true;
+    if (!pmVisualTestLevel("ppsub.chisq", 1)) return true;
+
+    if (!plotLeastSquares) return true;
+
     if (!pmVisualInitWindow (&kapa1, "PPSub:Images")) {
         return false;
@@ -204,5 +216,9 @@
 
 bool pmSubtractionVisualShowSubtraction(psImage *image, psImage *ref, psImage *sub) {
-    if (!pmVisualIsVisual() || !plotImage) return true;
+
+    if (!pmVisualTestLevel("ppsub.images.sub", 1)) return true;
+
+    if (!plotImage) return true;
+
     if (!pmVisualInitWindow (&kapa1, "PPSub:Images")) {
         return false;
@@ -218,5 +234,6 @@
 bool pmSubtractionVisualShowKernels(pmSubtractionKernels *kernels) {
 
-    if (!pmVisualIsVisual()) return true;
+    if (!pmVisualTestLevel("ppsub.kernels.final", 1)) return true;
+
     if (!pmVisualInitWindow (&kapa1, "PPSub:Images")) {
         return false;
@@ -264,5 +281,6 @@
 bool pmSubtractionVisualShowBasis(pmSubtractionStampList *stamps) {
 
-    if (!pmVisualIsVisual()) return true;
+    if (!pmVisualTestLevel("ppsub.basis", 1)) return true;
+
     if (!pmVisualInitWindow (&kapa2, "ppSub:StampMasterImage")) {
         return false;
@@ -425,5 +443,5 @@
 bool pmSubtractionVisualShowFitInit(pmSubtractionStampList *stamps) {
 
-    if (!pmVisualIsVisual()) return true;
+    if (!pmVisualTestLevel("ppsub.fit", 1)) return true;
 
     // generate 4 storage images large enough to hold the N stamps:
@@ -462,5 +480,5 @@
 bool pmSubtractionVisualShowFitAddStamp(psKernel *target, psKernel *source, psKernel *convolution, double background, double norm, int index) {
 
-    if (!pmVisualIsVisual()) return true;
+    if (!pmVisualTestLevel("ppsub.stamp", 1)) return true;
 
     double sum;
@@ -543,5 +561,6 @@
     }
 
-    if (!pmVisualIsVisual()) return true;
+    if (!pmVisualTestLevel("ppsub.fit", 1)) return true;
+
     if (!pmVisualInitWindow(&kapa1, "ppSub:Images")) return false;
     if (!pmVisualInitWindow(&kapa2, "ppSub:Misc")) return false;
@@ -605,5 +624,6 @@
     Graphdata graphdata;
 
-    if (!pmVisualIsVisual()) return true;
+    if (!pmVisualTestLevel("ppsub.fit", 1)) return true;
+
     if (!pmVisualInitWindow(&kapa3, "ppSub:plots")) return false;
 
