Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

HxImageTem2d.h

00001 /*
00002  *  Copyright (c) 1996, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Dennis Koelma (koelma@wins.uva.nl)
00007  *  Edo Poll (poll@wins.uva.nl)
00008  */
00009 
00010 #ifndef HxImageTem2d_h
00011 #define HxImageTem2d_h
00012 
00013 #include "HxImageTem.h"
00014 
00015 
00018 template<class ImageSigT>
00019 class HxImageTem2d : public HxImageTem<ImageSigT> {
00020 public:
00021                             HxImageTem2d(int width = 1, int height = 1);
00022                             HxImageTem2d(size_t* sizes);
00023                             HxImageTem2d(const HxImageTem2d &);
00024     virtual                 ~HxImageTem2d();
00025 
00026     int                     width() const;
00027     int                     height() const;
00028 
00029     virtual DataPtrType     dataPtrClone() const;
00030 
00031 // template operations
00032 
00033 // neighbourhood operations
00034 
00035     virtual void            neighbourhoodOp(
00036                                 const HxImageData* src, HxString ngbName,
00037                                 HxTagList& tags);
00038 
00039     virtual void            neighbourhoodOp(
00040                                 const HxImageData* src, const HxImageData* kernel, HxString ngbName,
00041                                 HxTagList& tags);
00042 
00043 // geometric operations
00044 
00045     virtual void            geometricOp2d(const HxImageData* arg,
00046                                 HxMatrix func, HxGeoIntType gi,
00047                                 HxVec3Double translate, HxValue background);
00048     virtual HxImageData*    projectDomain(int dimension, int coordinate);
00049     virtual void            inverseProjectDomain(int dimension, int coordinate,
00050                                 const HxImageData* arg);
00051 
00052     virtual void            transpose(const HxImageData* src);
00053 
00054 // sample operations
00055 
00056     virtual void            getValues(
00057                                 HxPointListConstIter first,
00058                                 HxPointListConstIter last,
00059                                 HxValueListBackInserter);
00060 
00061     virtual HxValue         sampleIdentMask(const HxImageData* mask,
00062                                 HxPoint p, HxSizes size, int label,
00063                                 HxString sFunc);
00064     virtual void            sampleIdentMask(const HxImageData* mask,
00065                                 HxPoint p, HxSizes size, int label,
00066                                 HxString sFunc,
00067                                 HxValueListBackInserter res);
00068     virtual HxValue         sampleWeightMask(const HxImageData* mask,
00069                                 HxPoint p, HxString sFunc);
00070 
00071 // output/display operations
00072 
00073     virtual void            getRgbPixels2d(int* pixels, HxString dispF,
00074                                 int bufWidth, int bufHeight,
00075                                 int VX, int VY, int VW, int VH,
00076                                 double SX, double SY, double scaleX, double scaleY,
00077                                 HxGeoIntType gi) const;
00078 
00079 // generic operations
00080 
00081 private:
00082     typename ImageSigT::PixelType*   _data;
00083 };
00084 
00085 #ifdef INC_TEMPLATE_SRC
00086 #include "HxImageTem2d.c"
00087 #endif
00088 
00089 #endif

Generated on Tue Jan 8 13:59:13 2002 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001