25 #ifndef itkHDF5ImageIO_h 26 #define itkHDF5ImageIO_h 27 #include "ITKIOHDF5Export.h" 46 class MetaDataObjectBase;
47 class MetaDataDictionary;
108 virtual bool CanReadFile(
const char *FileNameToRead) ITK_OVERRIDE;
111 virtual void ReadImageInformation() ITK_OVERRIDE;
114 virtual
void Read(
void *buffer) ITK_OVERRIDE;
124 virtual
bool CanWriteFile(const
char *FileNameToWrite) ITK_OVERRIDE;
127 virtual
void WriteImageInformation() ITK_OVERRIDE;
131 virtual
void Write(const
void *buffer) ITK_OVERRIDE;
137 virtual
SizeType GetHeaderSize(
void) const ITK_OVERRIDE;
139 virtual
void PrintSelf(
std::ostream & os,
Indent indent) const ITK_OVERRIDE;
142 HDF5ImageIO(const Self &) ITK_DELETE_FUNCTION;
143 void operator=(const Self &) ITK_DELETE_FUNCTION;
145 void WriteString(const
std::
string &path,
146 const
std::
string &value);
147 void WriteString(const
std::
string &path,
149 std::
string ReadString(const
std::
string &path);
151 void WriteScalar(const
std::
string &path,
153 void WriteScalar(const
std::
string &path,
155 void WriteScalar(const
std::
string &path,
156 const
unsigned long &value);
158 template <typename TScalar>
159 void WriteScalar(const
std::
string &path,
160 const TScalar &value);
162 template <typename TScalar>
163 TScalar ReadScalar(const
std::
string &DataSetName);
165 template <typename TScalar>
166 void WriteVector(const
std::
string &path,
167 const
std::vector<TScalar> &vec);
169 template <typename TScalar>
170 std::vector<TScalar> ReadVector(const
std::
string &DataSetName);
172 void WriteDirections(const
std::
string &path,
173 const
std::vector<
std::vector<
double> > &dir);
175 std::vector<
std::vector<
double> > ReadDirections(const
std::
string &path);
177 template <typename TType>
178 bool WriteMeta(const
std::
string &name,
180 template <typename TType>
181 bool WriteMetaArray(const
std::
string &name,
183 template <typename TType>
185 const
std::
string &HDFPath,
186 const
std::
string &name,
187 unsigned long numElements);
188 void SetupStreaming(
H5::DataSpace *imageSpace,
189 H5::DataSpace *slabSpace);
190 H5::H5File *m_H5File;
191 H5::DataSet *m_VoxelDataSet;
192 bool m_ImageInformationWritten;
196 #endif // itkHDF5ImageIO_h
Abstract superclass defines image IO interface.
SmartPointer< Self > Pointer
A base class for specific ImageIO file formats which support streaming.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
Control indentation during Print() invocation.
Class that defines how to read HDF5 file format. HDF5 IMAGE FILE FORMAT - As much information as I ca...