Index: trunk/psLib/src/mathtypes/psImage.c
===================================================================
--- trunk/psLib/src/mathtypes/psImage.c	(revision 5100)
+++ trunk/psLib/src/mathtypes/psImage.c	(revision 5101)
@@ -9,6 +9,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.83 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-09-16 23:56:51 $
+ *  @version $Revision: 1.84 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-09-23 00:04:36 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -267,4 +267,117 @@
 }
 
+bool psImageSet(const psImage *image,
+                int x,
+                int y,
+                complex value)
+{
+    if (image == NULL)
+        return false;
+    if (x >= image->numRows || y >= image->numCols)
+        return false;
+    if(x < 0)
+        x += image->numRows;
+    if(y < 0)
+        y += image->numCols;
+
+    switch (image->type.type) {
+    case PS_TYPE_U8:
+        *(psU8*)&image->data.U8[x][y] = value;
+        break;
+    case PS_TYPE_U16:
+        *(psU16*)&image->data.U16[x][y] = value;
+        break;
+    case PS_TYPE_U32:
+        *(psU32*)&image->data.U32[x][y] = value;
+        break;
+    case PS_TYPE_U64:
+        *(psU64*)&image->data.U64[x][y] = value;
+        break;
+    case PS_TYPE_S8:
+        *(psS8*)&image->data.S8[x][y] = value;
+        break;
+    case PS_TYPE_S16:
+        *(psS16*)&image->data.S16[x][y] = value;
+        break;
+    case PS_TYPE_S32:
+        *(psS32*)&image->data.S32[x][y] = value;
+        break;
+    case PS_TYPE_S64:
+        *(psS64*)&image->data.S64[x][y] = value;
+        break;
+    case PS_TYPE_F32:
+        *(psF32*)&image->data.F32[x][y] = value;
+        break;
+    case PS_TYPE_F64:
+        *(psF64*)&image->data.F64[x][y] = value;
+        break;
+    case PS_TYPE_C32:
+        *(psC32*)&image->data.C32[x][y] = value;
+        break;
+    case PS_TYPE_C64:
+        *(psC64*)&image->data.C64[x][y] = value;
+        break;
+    default:
+        psError(PS_ERR_BAD_PARAMETER_TYPE, true, "Invalid psImage Data Type\n");
+        return false;
+    }
+
+    return true;
+}
+
+complex psImageGet(const psImage *image,
+                   int x,
+                   int y)
+{
+    if (image == NULL)
+        return NAN;
+    if (x >= image->numRows || y >= image->numCols)
+        return NAN;
+    if(x < 0)
+        x += image->numRows;
+    if(y < 0)
+        y += image->numCols;
+
+    switch (image->type.type) {
+    case PS_TYPE_U8:
+        return image->data.U8[x][y];
+        break;
+    case PS_TYPE_U16:
+        return image->data.U16[x][y];
+        break;
+    case PS_TYPE_U32:
+        return image->data.U32[x][y];
+        break;
+    case PS_TYPE_U64:
+        return image->data.U64[x][y];
+        break;
+    case PS_TYPE_S8:
+        return image->data.S8[x][y];
+        break;
+    case PS_TYPE_S16:
+        return image->data.S16[x][y];
+        break;
+    case PS_TYPE_S32:
+        return image->data.S32[x][y];
+        break;
+    case PS_TYPE_S64:
+        return image->data.S64[x][y];
+        break;
+    case PS_TYPE_F32:
+        return image->data.F32[x][y];
+        break;
+    case PS_TYPE_F64:
+        return image->data.F64[x][y];
+        break;
+    case PS_TYPE_C32:
+        return image->data.C32[x][y];
+        break;
+    case PS_TYPE_C64:
+        return image->data.C64[x][y];
+        break;
+    default:
+        return NAN;
+    }
+}
 
 psImage* psImageRecycle(psImage* old,
Index: trunk/psLib/src/mathtypes/psImage.h
===================================================================
--- trunk/psLib/src/mathtypes/psImage.h	(revision 5100)
+++ trunk/psLib/src/mathtypes/psImage.h	(revision 5101)
@@ -11,6 +11,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.70 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-09-19 22:50:29 $
+ *  @version $Revision: 1.71 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-09-23 00:04:36 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -193,4 +193,29 @@
 );
 
+/** Sets the value of the image at the specified x,y position to value.
+ *
+ *  A negative value for the x or y positions means index from the end.
+ *
+ *  @return bool:       True on success, otherwise false.
+ */
+bool psImageSet(
+    const psImage *image,              ///< the image to set
+    int x,                             ///< x-position
+    int y,                             ///< y-position
+    complex value                      ///< specified value to set
+);
+
+/** Returns the value of the image at the specified x,y position.
+ *
+ *  A negative value for the x or y positions means index from the end.
+ *
+ *  @return complex:        The value at the specified x,y position.
+ */
+complex psImageGet(
+    const psImage *image,              ///< the image from which to get
+    int x,                             ///< x-position
+    int y                              ///< y-position
+);
+
 /** Resize a given image to the given size/type.
  *
Index: trunk/psLib/src/mathtypes/psVector.c
===================================================================
--- trunk/psLib/src/mathtypes/psVector.c	(revision 5100)
+++ trunk/psLib/src/mathtypes/psVector.c	(revision 5101)
@@ -9,6 +9,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.54 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-09-22 02:32:00 $
+*  @version $Revision: 1.55 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-09-23 00:04:36 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -863,4 +863,5 @@
     default:
         psError(PS_ERR_BAD_PARAMETER_TYPE, true, "Invalid psVector Data Type\n");
+        return false;
     }
 
Index: trunk/psLib/src/types/psPixels.c
===================================================================
--- trunk/psLib/src/types/psPixels.c	(revision 5100)
+++ trunk/psLib/src/types/psPixels.c	(revision 5101)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-08-30 01:14:13 $
+ *  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-09-23 00:04:36 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -332,2 +332,45 @@
     return (true);
 }
+
+bool psPixelsSet(psPixels *pixels,
+                 long position,
+                 psPixelCoord value)
+{
+    if (pixels == NULL)
+        return false;
+    if (position > pixels->n)
+        return false;
+    if(position < 0)
+        position += pixels->n;
+    if (position == pixels->n) {
+        if (position >= pixels->nalloc)
+            return false;
+        pixels->n++;
+    }
+    pixels->data[position].x = value.x;
+    pixels->data[position].y = value.y;
+
+    return true;
+}
+
+psPixelCoord psPixelsGet(const psPixels *pixels,
+                         long position)
+{
+    psPixelCoord out;
+    if (pixels == NULL) {
+        out.x = 0; //XXX: should be NAN when changed to float
+        out.y = 0; //XXX: should be NAN when changed to float
+        return out;
+    }
+    if (position >= pixels->n) {
+        out.x = 0; //XXX: should be NAN when changed to float
+        out.y = 0; //XXX: should be NAN when changed to float
+        return out;
+    }
+    if (position < 0)
+        position += pixels->n;
+    out.x = pixels->data[position].x;
+    out.y = pixels->data[position].y;
+    return out;
+}
+
Index: trunk/psLib/src/types/psPixels.h
===================================================================
--- trunk/psLib/src/types/psPixels.h	(revision 5100)
+++ trunk/psLib/src/types/psPixels.h	(revision 5101)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-08-30 01:14:13 $
+ *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-09-23 00:04:36 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -161,3 +161,26 @@
 );
 
+/** Sets the value of the the pixels array at the specified position to value.
+ *
+ *  A negative position means index from the end.
+ *
+ *  @return bool:       True if Successful, otherwise false.
+*/
+bool psPixelsSet(
+    psPixels *pixels,                  ///< pixels to set
+    long position,                     ///< position to set
+    psPixelCoord value                 ///< pixels value to be set
+);
+
+/** Returns the value of the pixels array at the specified position.
+ *
+ *  A negative position means index from the end.
+ *
+ *  @return psPixelCoord:       The value of the pixels at the specified position.
+*/
+psPixelCoord psPixelsGet(
+    const psPixels *pixels,            ///< input pixels from which to get
+    long position                      ///< position to get
+);
+
 #endif // #ifndef PS_PIXELS_H
