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 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