00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HxImageSig3dDouble_h
00012 #define HxImageSig3dDouble_h
00013
00014
00015 #include "HxImageSignature.h"
00016 #include "HxPixelAllocator.h"
00017
00018 #include "HxScalarDouble.h"
00019 #include "HxDataPtr3dScalarTem.h"
00020
00021 class HxImageSig2dDouble;
00022
00023
00026 class HxImageSig3dDouble : public HxImageSignature {
00027 public:
00028 typedef double PixelType;
00029 typedef HxScalarDouble ArithType;
00030 typedef HxScalarDouble ArithTypeDouble;
00031
00032 typedef HxDataPtr3dScalarTem<
00033 PixelType, ArithType> DataPtrType;
00034
00035 typedef HxPixelAllocator<PixelType> Allocator;
00036
00037 typedef HxImageSig2dDouble ProjectDomainImageSigType;
00038 typedef HxImageSig3dDouble ArithImageSigType;
00039 typedef HxImageSig3dDouble ArithImageSigTypeDouble;
00040
00041 HxImageSig3dDouble();
00042
00043 enum { ID = SIG_ID(3, 1, REAL_VALUE, sizeof(PixelType) << 3) };
00044 };
00045
00046 template<>
00047 struct HxClassName<HxImageSig3dDouble> {
00048 operator HxString() {
00049 static HxImageSig3dDouble sig;
00050 return sig.toString();
00051 }
00052 };
00053
00054 inline
00055 HxImageSig3dDouble::HxImageSig3dDouble()
00056 {
00057 _imageDimensionality = 3;
00058 _pixelDimensionality = 1;
00059 _pixelType = REAL_VALUE;
00060 _pixelPrecision = sizeof(PixelType) << 3;
00061 }
00062
00063 #endif
00064