00001 /* 00002 * Copyright (c) 1996, 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 HxImageSig2dDouble_h 00012 #define HxImageSig2dDouble_h 00013 00014 00015 #include "HxImageSignature.h" 00016 #include "HxPixelAllocator.h" 00017 #include "HxValueType.h" 00018 00019 #include "HxDataPtr2dScalarTem.h" 00020 #include "HxScalarDouble.h" 00021 #include "HxDataPtr2dScalarTem.h" 00022 00023 00026 class HxImageSig2dDouble : public HxImageSignature { 00027 public: 00028 typedef double PixelType; 00029 typedef HxScalarDouble ArithType; 00030 typedef HxScalarDouble ArithTypeDouble; 00031 00032 typedef HxDataPtr2dScalarTem< 00033 PixelType, ArithType> DataPtrType; 00034 00035 typedef HxPixelAllocator<PixelType> Allocator; 00036 00037 typedef HxImageSig2dDouble ProjectDomainImageSigType; 00038 typedef HxImageSig2dDouble ArithImageSigType; 00039 typedef HxImageSig2dDouble ArithImageSigTypeDouble; 00040 00041 HxImageSig2dDouble(); 00042 00043 enum { ID = SIG_ID(2, 1, REAL_VALUE, sizeof(PixelType) << 3) }; 00044 }; 00045 00046 template<> 00047 struct HxClassName<HxImageSig2dDouble> { 00048 operator HxString() { 00049 static HxImageSig2dDouble sig; 00050 return sig.toString(); 00051 } 00052 }; 00053 00054 inline 00055 HxImageSig2dDouble::HxImageSig2dDouble() 00056 { 00057 _imageDimensionality = 2; 00058 _pixelDimensionality = 1; 00059 _pixelType = REAL_VALUE; 00060 _pixelPrecision = sizeof(PixelType) << 3; 00061 } 00062 00063 #endif 00064