18 #ifndef itkMetaImageIO_h
19 #define itkMetaImageIO_h
20 #include "ITKIOMetaExport.h"
27 #include "metaObject.h"
28 #include "metaImage.h"
75 CanReadFile(
const char *)
override;
79 ReadImageInformation()
override;
83 Read(
void * buffer)
override;
86 GetMetaImagePointer();
93 CanWriteFile(
const char *)
override;
97 WriteImageInformation()
override;
102 Write(
const void * buffer)
override;
108 SetDataFileName(
const char * filename);
115 m_MetaImage.SetDoublePrecision(precision);
123 GenerateStreamableReadRegionFromRequestedRegion(
const ImageIORegion & requestedRegion)
const override;
126 GetActualNumberOfSplitsForWriting(
unsigned int numberOfRequestedSplits,
131 GetSplitRegionForWriting(
unsigned int ithPiece,
132 unsigned int numberOfActualSplits,
142 if (m_MetaImage.CompressedData())
158 if (this->GetUseCompression())
169 itkSetMacro(SubSamplingFactor,
unsigned int);
170 itkGetConstMacro(SubSamplingFactor,
unsigned int);
184 SetDefaultDoublePrecision(
unsigned int precision);
186 GetDefaultDoublePrecision();
193 PrintSelf(std::ostream & os,
Indent indent)
const override;
194 template <
unsigned int VNRows,
unsigned int VNColumns = VNRows>
196 WriteMatrixInMetaData(std::ostringstream & strs,
const MetaDataDictionary & metaDict,
const std::string & metaString);
202 MetaImage m_MetaImage{};
204 unsigned int m_SubSamplingFactor{};
209 template <
unsigned int VNRows,
unsigned int VNColumns>
213 const std::string & metaString)
218 for (
unsigned int i = 0; i < VNRows; ++i)
220 for (
unsigned int j = 0; j < VNColumns; ++j)
223 if (i != VNRows - 1 || j != VNColumns - 1)
236 #endif // itkMetaImageIO_h