00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __itkStimulateImageIO_h
00021 #define __itkStimulateImageIO_h
00022
00023 #ifdef _MSC_VER
00024 #pragma warning ( disable : 4786 )
00025 #endif
00026
00027 #include <fstream>
00028 #include "itkImageIOBase.h"
00029
00030 namespace itk
00031 {
00032
00056 class ITK_EXPORT StimulateImageIO : public ImageIOBase
00057 {
00058 public:
00060 typedef StimulateImageIO Self;
00061 typedef ImageIOBase Superclass;
00062 typedef SmartPointer<Self> Pointer;
00063
00065 itkNewMacro(Self);
00066
00068 itkTypeMacro(StimulateImageIO, Superclass);
00069
00070
00071
00074 virtual bool CanReadFile(const char*);
00075
00077 virtual void ReadImageInformation();
00078
00080 virtual void Read(void* buffer);
00081
00082
00083
00086 virtual bool CanWriteFile(const char*);
00087
00090 virtual void WriteImageInformation() {};
00091
00094 virtual void Write(const void* buffer);
00095
00102 itkGetVectorMacro( DisplayRange, const float, 2);
00103
00104 protected:
00105 StimulateImageIO();
00106 ~StimulateImageIO();
00107 void PrintSelf(std::ostream& os, Indent indent) const;
00108
00109 bool OpenStimulateFileForReading(std::ifstream& os, const char* filename);
00110 bool OpenStimulateFileForWriting(std::ofstream& os, const char* filename);
00111 void InternalReadImageInformation(std::ifstream& file);
00112
00113 private:
00114 std::string m_DataFileName;
00115 char m_SdtOrient[256];
00116 float m_DisplayRange[2];
00117 float m_DisplayThresh;
00118 char m_FidName[256];
00119
00120 StimulateImageIO(const Self&);
00121 void operator=(const Self&);
00122 };
00123
00124 }
00125
00126 #endif // __itkStimulateImageIO_h