Index: trunk/psModules/src/detrend/pmNonLinear.c
===================================================================
--- trunk/psModules/src/detrend/pmNonLinear.c	(revision 5435)
+++ trunk/psModules/src/detrend/pmNonLinear.c	(revision 5516)
@@ -5,6 +5,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-10-20 23:06:24 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-11-15 20:09:03 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -22,4 +22,5 @@
 
 #include "pmNonLinear.h"
+#include "pmSubtractBias.h"
 
 /******************************************************************************
@@ -37,11 +38,17 @@
     PS_ASSERT_IMAGE_TYPE(inputReadout->image, PS_TYPE_F32, NULL);
     PS_ASSERT_PTR_NON_NULL(input1DPoly, NULL);
+    PS_WARN_PTR_NON_NULL(inputReadout->parent);
+    if (inputReadout->parent != NULL) {
+        PS_WARN_PTR_NON_NULL(inputReadout->parent->concepts);
+    }
+    //
+    // Determine trimmed image from metadata.
+    //
+    psImage *trimmedImg = p_psDetermineTrimmedImage(inputReadout);
 
-    psS32 i;
-    psS32 j;
-
-    for (i=0;i<inputReadout->image->numRows;i++) {
-        for (j=0;j<inputReadout->image->numCols;j++) {
-            inputReadout->image->data.F32[i][j] = psPolynomial1DEval(input1DPoly, inputReadout->image->data.F32[i][j]);
+    for (psS32 i=0;i<trimmedImg->numRows;i++) {
+        for (psS32 j=0;j<trimmedImg->numCols;j++) {
+            trimmedImg->data.F32[i][j] = psPolynomial1DEval(input1DPoly,
+                                         trimmedImg->data.F32[i][j]);
         }
     }
@@ -68,4 +75,13 @@
     PS_ASSERT_PTR_NON_NULL(inputReadout->image,NULL);
     PS_ASSERT_IMAGE_TYPE(inputReadout->image, PS_TYPE_F32, NULL);
+    PS_WARN_PTR_NON_NULL(inputReadout->parent);
+    if (inputReadout->parent != NULL) {
+        PS_WARN_PTR_NON_NULL(inputReadout->parent->concepts);
+    }
+    //
+    // Determine trimmed image from metadata.
+    //
+    psImage *trimmedImg = p_psDetermineTrimmedImage(inputReadout);
+
     psLookupTable *tmpLT = psLookupTableAlloc(filename, "%f %f", 0);
     psS32 numLines = psLookupTableRead(tmpLT);
@@ -75,9 +91,9 @@
                  "WARNING: Lookup Table is too small.  Returning original pmReadout.\n");
     } else {
-        for (psS32 i=0;i<inputReadout->image->numRows;i++) {
-            for (psS32 j=0;j<inputReadout->image->numCols;j++) {
-                psF64 tmpD = psLookupTableInterpolate(tmpLT, inputReadout->image->data.F32[i][j], 1);
+        for (psS32 i=0;i<trimmedImg->numRows;i++) {
+            for (psS32 j=0;j<trimmedImg->numCols;j++) {
+                psF64 tmpD = psLookupTableInterpolate(tmpLT, trimmedImg->data.F32[i][j], 1);
                 if (!isnan(tmpD)) {
-                    inputReadout->image->data.F32[i][j] = tmpD;
+                    trimmedImg->data.F32[i][j] = tmpD;
                 } else {
                     numPixels++;
