Wavelet and Image class library  1.3.2
ImageArray.hh
Go to the documentation of this file.
00001 /*
00002  * class ImageArray
00003  *
00004  * $Date$
00005  * $Revision$
00006  *
00007  */
00008 
00009 #ifndef IMAGE_ARRAY_HH__
00010 #define IMAGE_ARRAY_HH__
00011 
00012 class ColumnVector;
00013 
00023 template<class T> class 
00024 ImageArray
00025 {
00026 public:
00027   
00029   ImageArray (void);
00036   ImageArray (int rows, int cols);
00038   virtual ~ImageArray (void);
00039 
00043   inline int rows (void) const { return m_ysize; }
00047   inline int cols (void) const { return m_xsize; }
00051   inline int size (void) const { return m_xysize; }
00059   inline T at (int y, int x) const { return m_ar[abs (y, x)]; }
00060 
00066   virtual T at (int abs) const { return m_ar[abs]; }
00074   inline void to (int y, int x, T val) { m_ar[abs (y, x)] = val; }
00080   virtual void to (int abs, T val) { m_ar[abs] = val; }
00081 
00089   virtual int abs (int y, int x) const { return m_rows[y] + x; }
00090   
00098   T smax (int fromY = 0, int fromX = 0, int toY = -1, int toX = -1) const;
00106   T smin (int fromY = 0, int fromX = 0, int toY = -1, int toX = -1) const;
00114   T amax (int fromY = 0, int fromX = 0, int toY = -1, int toX = -1) const;
00122   T amin (int fromY = 0, int fromX = 0, int toY = -1, int toX = -1) const;
00131   T saverage (int fromY = 0, int fromX = 0, int toY = -1, int toX = -1) const;
00132   
00141   T aaverage (int fromY = 0, int fromX = 0, int toY = -1, int toX = -1) const;
00142 
00152   virtual void resize (int rows, int cols);
00161   virtual void import (int rows, int cols, T *array);
00165   virtual ImageArray<T> *clone (void) const;
00169   virtual void copy (ImageArray<T> &ia);
00173   inline void copy (ImageArray<T> *ia) { copy (*ia); }
00182   virtual bool epsilons (ImageArray<T> &ia, T epsilon) const;
00191   inline bool epsilons (ImageArray<T> *ia, T epsilon) const 
00192   { return epsilons (*ia, epsilon); }
00198   inline bool equals (ImageArray<T> &ia) const { return epsilons (ia, (T)0); }
00199   
00205   inline bool equals (ImageArray<T> *ia) const { return equals (*ia); }
00206 
00212   inline T*& array (void) { return m_ar; }
00213   
00214 protected:
00216   int m_xsize;
00218   int m_ysize;
00220   int m_xysize;
00222   T *m_ar;
00224   int *m_rows;
00227   virtual void updateRowsArray (void);
00228 
00229 }; /* class ImageArray */
00230 
00231 #include "../ImageArray.cc"
00232 
00235 #endif /* IMAGE_ARRAY_HH__ */
00236 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines