00001 /* 00002 * Copyright (c) 2001, University of Amsterdam, The Netherlands. 00003 * All rights reserved. 00004 * 00005 * 00006 * Author(s): 00007 * Jan-Mark Geusebroek (mark@science.uva.nl) 00008 * Dennis Koelma (koelma@wins.uva.nl) 00009 * Edo Poll (poll@wins.uva.nl) 00010 */ 00011 00012 #ifndef HxImageSig2dComplex_h 00013 #define HxImageSig2dComplex_h 00014 00015 00016 #include "HxImageSignature.h" 00017 #include "HxPixelAllocator.h" 00018 00019 #include "HxComplex.h" 00020 #include "HxDataPtr2dTem.h" 00021 00022 00025 class HxImageSig2dComplex : public HxImageSignature { 00026 public: 00027 typedef HxComplex PixelType; 00028 typedef HxComplex ArithType; 00029 typedef HxComplex ArithTypeDouble; 00030 00031 typedef HxDataPtr2dTem< 00032 PixelType, ArithType> DataPtrType; 00033 00034 typedef HxPixelAllocator<PixelType> Allocator; 00035 00036 typedef HxImageSig2dComplex ProjectDomainImageSigType; 00037 typedef HxImageSig2dComplex ArithImageSigType; 00038 typedef HxImageSig2dComplex ArithImageSigTypeDouble; 00039 00040 HxImageSig2dComplex(); 00041 00042 enum { ID = SIG_ID(2, 2, COMPLEX_VALUE, sizeof(double) << 3) }; 00043 }; 00044 00045 template<> 00046 struct HxClassName<HxImageSig2dComplex> { 00047 operator HxString() { 00048 static HxImageSig2dComplex sig; 00049 return sig.toString(); 00050 } 00051 }; 00052 00053 inline 00054 HxImageSig2dComplex::HxImageSig2dComplex() 00055 { 00056 _imageDimensionality = 2; 00057 _pixelDimensionality = 2; 00058 _pixelType = COMPLEX_VALUE; 00059 _pixelPrecision = sizeof(double) << 3; 00060 } 00061 00062 #endif 00063