Index: trunk/psLib/src/imageops/psImageMap.c
===================================================================
--- trunk/psLib/src/imageops/psImageMap.c	(revision 14988)
+++ 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;
