00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00031 #ifndef __itkGE5ImageIO_h
00032 #define __itkGE5ImageIO_h
00033
00034 #ifdef _MSC_VER
00035 #pragma warning ( disable : 4786 )
00036 #endif
00037
00038 #include <fstream>
00039 #include "itkImageIOBase.h"
00040 #include "itkIPLCommonImageIO.h"
00041 #include "itkGEImageHeader.h"
00042
00043
00044 namespace itk
00045 {
00054 class ITK_EXPORT GE5ImageIO : public IPLCommonImageIO
00055 {
00056 public:
00058 typedef GE5ImageIO Self;
00059 typedef IPLCommonImageIO Superclass;
00060 typedef SmartPointer<Self> Pointer;
00061
00063 itkNewMacro(Self);
00064
00066 itkTypeMacro(GE5ImageIO, Superclass);
00067
00068
00069
00076 virtual bool CanReadFile(const char* FileNameToRead) ;
00077
00079
00080
00081
00083
00084
00085
00087
00088
00089
00093
00094
00095
00096
00097
00104
00105
00106
00108
00109
00110
00113
00114
00115 protected:
00116 GE5ImageIO();
00117 ~GE5ImageIO();
00118
00119
00120 virtual struct GEImageHeader *ReadHeader(const char *FileNameToRead);
00121 private:
00122
00123
00124
00125 enum GE_SU_ENUM {
00126
00140 SU_HDR_LEN=114
00141 };
00142
00143
00144
00145 enum GE_EX_ENUM {
00146
00270 EX_HDR_LEN=1024
00271 };
00272
00273 enum GE_SE_ENUM {
00437 SE_HDR_LEN=1020
00438 };
00439
00440
00441
00442 enum GE_IMAGE_HEADER_ENUM {
00443
00749 IM_HDR_LEN=1022
00750 };
00751
00752
00753
00754
00755
00756 enum GE_RELATIVE_STARTS {
00757 SU_HDR_START=0,
00758 EX_HDR_START=SU_HDR_LEN,
00759 SE_HDR_START=EX_HDR_START+EX_HDR_LEN,
00760 IM_HDR_START=SE_HDR_START+SE_HDR_LEN,
00761 IMG_HDR_START=0
00762 };
00763 int checkGe5xImages (char const * const imageFileTemplate);
00764 GE5ImageIO(const Self&);
00765 void operator=(const Self&);
00766 };
00768
00769 }
00770
00771 #endif // __itkAnalyzeImageIO_h
00772