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