Index: trunk/psLib/src/image/psImage.h
===================================================================
--- trunk/psLib/src/image/psImage.h	(revision 649)
+++ trunk/psLib/src/image/psImage.h	(revision 664)
@@ -7,6 +7,6 @@
  *  @author Ross Harman, MHPCC
  *   
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-05-12 19:46:52 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-13 20:03:35 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -35,26 +35,21 @@
 typedef struct psImage
 {
-    psType type;                    ///< Image data type and dimension.
-    int nCols;                      ///< Number of rows in image
-    int nRows;                      ///< Number of columns in image.
-    int col0;                       ///< Row position relative to parent.
-    int row0;                       ///< Column position relative to parent.
+    psType type;                        ///< Image data type and dimension.
+    unsigned int numCols;               ///< Number of rows in image
+    unsigned int numRows;               ///< Number of columns in image.
+    int col0;                           ///< Row position relative to parent.
+    int row0;                           ///< Column position relative to parent.
 
     union {
-        char **rowsC                ///< Pointers to char integer data.
-        short **rowsS;              ///< Pointers to short integer data.
-        int **rowsI;                ///< Pointers to integer data.
-        long **rowsL ;              ///< Pointers to long integer data.
-        unsigned char **rowsUC;    ///< Pointers to unsigned char integer data.
-        unsigned short **rowsUS;    ///< Pointers to unsigned short integer data.
-        unsigned int **rowsUI;      ///< Pointers to unsigned integer data.
-        unsigned long **rowsUL;     ///< Pointers to unsigned long integer data.
-        float **rowsF;              ///< Pointers to floating point data.
-        double **rowsD;             ///< Pointers to double precision data.
-        complex float **rowsCF;     ///< Pointers to complex floating point data.
-    } rows;                         ///< Union for data types.
-    struct psImage *parent;         ///< Parent, if a subimage.
-    int nChildren;                  ///< Number of subimages.
-    struct psImage *children;       ///< Children of this region.
+        void    **v;                    ///< void pointer to data
+        uint8_t **ui8;                  ///< Pointers to char integer data.
+        int16_t **i16;                  ///< Pointers to short integer data.
+        int32_t **i32;                  ///< Pointers to integer data.
+        float **f32;                    ///< Pointers to floating point data.
+        complex float **c32;            ///< Pointers to complex floating point data.
+    } data;                             ///< Union for data types.
+    struct psImage *parent;             ///< Parent, if a subimage.
+    int nChildren;                      ///< Number of subimages.
+    struct psImage *children;           ///< Children of this region.
 }
 psImage;
@@ -67,5 +62,5 @@
 /** Create an image of the specified size and type.
  *
- * Uses psLib memory allocation functions to create an image struct of the specified size and type. 
+ * Uses psLib memory allocation functions to create an image struct of the specified size and type.
  *
  * @return psImage*: Pointer to psImage.
@@ -73,12 +68,12 @@
  */
 psImage *psImageAlloc(
-    int nCols,  ///< Number of rows in image.
-    int nRows,  ///< Number of columns in image.
-    psType type ///< Type of data for image.
+    unsigned int numCols,               ///< Number of rows in image.
+    unsigned int numRows,               ///< Number of columns in image.
+    psType type                         ///< Type of data for image.
 );
 
 /** Create a subimage of the specified area.
  *
- * Uses psLib memory allocation functions to create an image based on a larger one. 
+ * Uses psLib memory allocation functions to create an image based on a larger one.
  *
  * @return psImage*: Pointer to psImage.
@@ -86,15 +81,15 @@
  */
 psImage *psImageSubset(
-    psImage *out,           ///< Subimage to return, or NULL.
-    const psImage *image,   ///< Parent image.
-    int nCols,              ///< Subimage width (<= image.nCols - col0).
-    int nRows,              ///< Subimage height (<= image.nRows - row0).
-    int col0,               ///< Subimage col-offset (0 <= col0 < nCol).
-    int row0                ///< Subimage row-offset (0 <= row0 < nCol).
+    psImage *out,                       ///< Subimage to return, or NULL.
+    const psImage *image,               ///< Parent image.
+    unsigned int numCols,               ///< Subimage width (<= image.nCols - col0).
+    unsigned int numRows,               ///< Subimage height (<= image.nRows - row0).
+    int col0,                           ///< Subimage col-offset (0 <= col0 < nCol).
+    int row0                            ///< Subimage row-offset (0 <= row0 < nCol).
 );
 
 /** Destroy the specified image.
  *
- *  Uses psLib memory deallocation functions to free an image and any existing children. 
+ *  Uses psLib memory deallocation functions to free an image and any existing children.
  *
  * @return psImage*: Pointer to psImage.
@@ -102,5 +97,5 @@
  */
 void psImageFree(
-    psImage *restrict image ///< Free psImage
+    psImage *restrict image             ///< Free psImage
 );
 
