Index: trunk/psLib/src/imageops/psImageMap.c
===================================================================
--- trunk/psLib/src/imageops/psImageMap.c	(revision 15505)
+++ trunk/psLib/src/imageops/psImageMap.c	(revision 15507)
@@ -7,6 +7,6 @@
  *  @author Eugene Magnier, IfA
  *
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-09-24 02:59:46 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-11-08 04:24:37 $
  *
  *  Copyright 2007 Institute for Astronomy, University of Hawaii
@@ -42,5 +42,4 @@
     psFree (map->map);
     psFree (map->error);
-    psFree (map->field); // XXX ??? this should be freed here, but that causes an error...
     psFree (map->stats);
     psFree (map->binning);
@@ -49,5 +48,5 @@
 }
 
-psImageMap *psImageMapAlloc(psImage *field, psImageBinning *binning, psStats *stats) {
+psImageMap *psImageMapAlloc(const psImage *field, psImageBinning *binning, psStats *stats) {
 
     assert (binning);
@@ -58,6 +57,10 @@
 
     map->binning = psMemIncrRefCounter (binning);
-    map->field   = psMemIncrRefCounter (field);
     map->stats   = psMemIncrRefCounter (stats);
+
+    map->col0 = field->col0;
+    map->row0 = field->row0;
+    map->numCols = field->numCols;
+    map->numRows = field->numRows;
 
     map->map     = psImageAlloc (binning->nXruff, binning->nYruff, PS_TYPE_F32);
@@ -68,5 +71,5 @@
 
     psImageBinningSetScale (map->binning, PS_IMAGE_BINNING_CENTER);
-    psImageBinningSetSkip (map->binning, map->field);
+    psImageBinningSetSkipByOffset (map->binning, map->col0, map->row0);
 
     return map;
@@ -82,5 +85,4 @@
     psMemSetDeallocator(map, (psFreeFunc)psImageMapFree);
 
-    map->field   = NULL;
     map->stats   = psMemIncrRefCounter (stats);
     map->binning = psMemIncrRefCounter (binning);
@@ -106,5 +108,5 @@
 
     psImageBinningSetScale (map->binning, PS_IMAGE_BINNING_CENTER);
-    psImageBinningSetSkip (map->binning, map->field);
+    psImageBinningSetSkipByOffset (map->binning, map->col0, map->row0);
 
     return true;
Index: trunk/psLib/src/imageops/psImageMap.h
===================================================================
--- trunk/psLib/src/imageops/psImageMap.h	(revision 15505)
+++ trunk/psLib/src/imageops/psImageMap.h	(revision 15507)
@@ -7,6 +7,6 @@
  *  @author Eugene Magnier, IfA
  *
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-09-27 04:27:03 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-11-08 04:24:37 $
  *
  *  Copyright 2007 Institute for Astronomy, University of Hawaii
@@ -27,5 +27,6 @@
     psImage *map;
     psImage *error;
-    psImage *field;
+    int col0, row0;                     // Column and row offsets from the original image
+    int numCols, numRows;               // Size of original image
     psImageBinning *binning;
     int nBad;
@@ -34,5 +35,5 @@
 } psImageMap;
 
-psImageMap *psImageMapAlloc(psImage *field, psImageBinning *binning, psStats *stats) PS_ATTR_MALLOC;
+psImageMap *psImageMapAlloc(const psImage *field, psImageBinning *binning, psStats *stats) PS_ATTR_MALLOC;
 
 psImageMap *psImageMapNoImageAlloc(psImageBinning *binning, psStats *stats) PS_ATTR_MALLOC;
