25 #ifndef itkHDF5ImageIO_h
26 #define itkHDF5ImageIO_h
27 #include "ITKIOHDF5Export.h"
47 class MetaDataObjectBase;
48 class MetaDataDictionary;
109 virtual bool CanReadFile(
const char *FileNameToRead) ITK_OVERRIDE;
112 virtual void ReadImageInformation() ITK_OVERRIDE;
115 virtual
void Read(
void *buffer) ITK_OVERRIDE;
125 virtual
bool CanWriteFile(const
char *FileNameToWrite) ITK_OVERRIDE;
128 virtual
void WriteImageInformation() ITK_OVERRIDE;
132 virtual
void Write(const
void *buffer) ITK_OVERRIDE;
138 virtual
SizeType GetHeaderSize(
void) const ITK_OVERRIDE;
140 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
143 ITK_DISALLOW_COPY_AND_ASSIGN(HDF5ImageIO);
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);
194 H5::H5File *m_H5File;
195 H5::DataSet *m_VoxelDataSet;
196 bool m_ImageInformationWritten;
200 #endif // itkHDF5ImageIO_h
Light weight base class for most itk classes.
SmartPointer< Self > Pointer
A base class for specific ImageIO file formats which support streaming.
Control indentation during Print() invocation.
Class that defines how to read HDF5 file format. HDF5 IMAGE FILE FORMAT - As much information as I ca...
StreamingImageIOBase Superclass