Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

HxImageTem3d.h

00001 /*
00002  *  Copyright (c) 1998, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *
00006  *  Author(s):
00007  *  Dennis Koelma (koelma@wins.uva.nl)
00008  *  Edo Poll (poll@wins.uva.nl)
00009  */
00010 
00011 #ifndef HxImageTem3d_h
00012 #define HxImageTem3d_h
00013 
00014 #include "HxImageTem.h"
00015 
00016 
00019 template<class ImageSigT>
00020 class HxImageTem3d : public HxImageTem<ImageSigT> {
00021 public:
00022                             HxImageTem3d(int width = 1, int height = 1,
00023                                 int depth = 1);
00024                             HxImageTem3d(size_t* sizes);
00025                             HxImageTem3d(const HxImageTem3d &);
00026     virtual                 ~HxImageTem3d();
00027 
00028     int                     width() const;
00029     int                     height() const;
00030     int                     depth() const;
00031 
00032     virtual DataPtrType     dataPtrClone() const;
00033 
00034 // template operations
00035 
00036 // neighbourhood operations
00037 
00038     virtual void            neighbourhoodOp(const HxImageData* kernel,
00039                                 HxString nfName);
00040 
00041 // geometric operations
00042 
00043     virtual void            geometricOp2d(const HxImageData* arg,
00044                                 HxMatrix func, HxGeoIntType gi,
00045                                 HxVec3Double translate, HxValue background);
00046     virtual HxImageData*    projectDomain(int dimension, int coordinate);
00047     virtual void            inverseProjectDomain(int dimension, int coordinate,
00048                                 const HxImageData* arg);
00049 
00050 // sample operations
00051 
00052     virtual void            getValues(
00053                                 HxPointListConstIter first,
00054                                 HxPointListConstIter last,
00055                                 HxValueListBackInserter);
00056 
00057     virtual HxValue         sampleIdentMask(const HxImageData* mask,
00058                                 HxPoint p, HxSizes size, int label,
00059                                 HxString sFunc);
00060     virtual void            sampleIdentMask(const HxImageData* mask,
00061                                 HxPoint p, HxSizes size, int label,
00062                                 HxString sFunc,
00063                                 HxValueListBackInserter res);
00064     virtual HxValue         sampleWeightMask(const HxImageData* mask,
00065                                 HxPoint p, HxString sFunc);
00066 private:
00067     typename ImageSigT::PixelType*   _data;
00068 };
00069 
00070 #ifdef INC_TEMPLATE_SRC
00071 #include "HxImageTem3d.c"
00072 #endif
00073 
00074 #endif

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