Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxImageSig3dByte.h

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

Generated on Tue Feb 3 14:18:36 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001