25 #ifndef itkHDF5ImageIO_h
26 #define itkHDF5ImageIO_h
27 #include "ITKIOHDF5Export.h"
111 CanReadFile(
const char * FileNameToRead)
override;
115 ReadImageInformation()
override;
119 Read(
void * buffer)
override;
130 CanWriteFile(
const char * name)
override;
134 WriteImageInformation()
override;
139 Write(
const void * buffer)
override;
146 GetHeaderSize()
const override;
149 PrintSelf(std::ostream & os,
Indent indent)
const override;
153 WriteString(
const std::string & path,
const std::string & value);
155 WriteString(
const std::string & path,
const char * s);
157 ReadString(
const std::string & path);
160 WriteScalar(
const std::string & path,
const bool value);
162 WriteScalar(
const std::string & path,
const long value);
164 WriteScalar(
const std::string & path,
const unsigned long value);
166 WriteScalar(
const std::string & path,
const long long value);
168 WriteScalar(
const std::string & path,
const unsigned long long value);
170 template <
typename TScalar>
172 WriteScalar(
const std::string & path,
const TScalar & value);
174 template <
typename TScalar>
176 ReadScalar(
const std::string & DataSetName);
178 template <
typename TScalar>
180 WriteVector(
const std::string & path,
const std::vector<TScalar> & vec);
182 template <
typename TScalar>
184 ReadVector(
const std::string & DataSetName);
187 WriteDirections(
const std::string & path,
const std::vector<std::vector<double>> & dir);
189 std::vector<std::vector<double>>
190 ReadDirections(
const std::string & path);
192 template <
typename TType>
195 template <
typename TType>
198 template <
typename TType>
201 const std::string & HDFPath,
202 const std::string & name,
203 unsigned long numElements);
205 SetupStreaming(H5::DataSpace * imageSpace, H5::DataSpace * slabSpace);
215 ResetToInitialState();
219 bool m_ImageInformationWritten{
false };
223 #endif // itkHDF5ImageIO_h