Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Fourier/Unimodal/3d/3d.h

Go to the documentation of this file.
00001 #ifndef _VUVOLUMEFOURIERUNIMODAL3D_H_
00002 #define _VUVOLUMEFOURIERUNIMODAL3D_H_
00003 
00004 #include "../unimodal.h"
00005 
00007 
00008 template <int SIZE>
00009 class vu1712 : public vu171
00010 {
00011 public:
00013     vu1712();
00015     vu1712(const vu1712<SIZE>& inst);
00016 
00018     vu1712<SIZE>& operator=(const vu1712<SIZE>& rhs);
00019 
00021     dword getDim1Size(void) const;
00023     dword getDim2Size(void) const;
00025     dword getDim3Size(void) const;
00026 
00028 
00031     dword getSpacing(void) const;
00032 
00034     int getDim1Origin(void) const;
00036     int getDim2Origin(void) const;
00038     int getDim3Origin(void) const;
00039 
00041     vuVector getCenter() const {
00042         return vuVector((float)m_Dim1Size/2,(float)m_Dim2Size/2,(float)m_Dim3Size/2);
00043     }
00044 
00045 protected:
00046     virtual bool readHeader(FILE *file);
00047     virtual bool writeHeader(FILE *file);
00048 
00049 public:
00050     static bool readData(FILE *file, float* vol,
00051                          dword XX, dword YY, dword ZZ,
00052                          dword XXsmall, dword YYsmall, dword ZZsmall);
00053 
00054 
00055     static bool writeData(FILE *file, float* vol,
00056                           dword XX, dword YY, dword ZZ,
00057                           dword XXsmall, dword YYsmall, dword ZZsmall);
00058 
00059     static float* pad(float* v, dword n);
00060 
00061     static bool writeHeader(FILE *file, dword XSize, dword YSize, dword ZSize);
00062     static bool readHeader(FILE *file,dword &XSize,dword &YSize,dword &ZSize);
00063 
00064 protected:
00066     dword m_Dim1Size;
00068     dword m_Dim2Size;
00070     dword m_Dim3Size;
00071 
00073     dword m_Spacing;
00074 
00076     int m_Dim1Origin;
00078     int m_Dim2Origin;
00080     int m_Dim3Origin;
00081 };
00082 
00083 
00084 template class vu1712<1>;
00085 template class vu1712<2>;
00086 template class vu1712<3>;
00087 
00088 typedef vu1712<1> vu1712A;
00089 typedef vu1712<2> vu1712B;
00090 typedef vu1712<3> vu1712C;
00091 
00092 typedef vu1712A vuVolumeFourierUnimodal3dA;
00093 typedef vu1712B vuVolumeFourierUnimodal3dB;
00094 typedef vu1712C vuVolumeFourierUnimodal3dC;
00095 
00096 #endif

Generated on Wed Dec 15 21:20:27 2004 for vuVolume by  doxygen 1.3.9.1