19 #ifndef itkNiftiImageIO_h
20 #define itkNiftiImageIO_h
21 #include "ITKIONIFTIExport.h"
81 #if !defined(ITK_LEGACY_REMOVE)
86 extern ITKIONIFTI_EXPORT std::ostream &
88 extern ITKIONIFTI_EXPORT std::ostream &
123 #if !defined(ITK_LEGACY_REMOVE)
141 DetermineFileType(
const char * FileNameToRead);
150 CanReadFile(
const char * FileNameToRead)
override;
154 ReadImageInformation()
override;
158 Read(
void * buffer)
override;
168 CanWriteFile(
const char * FileNameToWrite)
override;
176 WriteImageInformation()
override;
181 Write(
const void * buffer)
override;
186 GenerateStreamableReadRegionFromRequestedRegion(
const ImageIORegion & requestedRegion)
const override;
189 itkSetMacro(RescaleSlope,
double);
190 itkSetMacro(RescaleIntercept,
double);
209 itkSetMacro(ConvertRASVectors,
bool);
210 itkGetConstMacro(ConvertRASVectors,
bool);
211 itkBooleanMacro(ConvertRASVectors);
229 itkSetMacro(ConvertRASDisplacementVectors,
bool);
230 itkGetConstMacro(ConvertRASDisplacementVectors,
bool);
231 itkBooleanMacro(ConvertRASDisplacementVectors);
235 itkSetMacro(SFORM_Permissive,
bool);
236 itkGetConstMacro(SFORM_Permissive,
bool);
237 itkBooleanMacro(SFORM_Permissive);
244 PrintSelf(std::ostream & os,
Indent indent)
const override;
258 getSFormCodeFromDictionary()
const;
260 getQFormCodeFromDictionary()
const;
266 DefineHeaderObjectDataType();
269 SetNIfTIOrientationFromImageIO(
unsigned short origdims,
unsigned short dims);
272 SetImageIOOrientationFromNIfTI(
unsigned short dims);
275 SetImageIOMetadataFromNIfTI();
279 class NiftiImageProxy;
287 double m_RescaleSlope{ 1.0 };
288 double m_RescaleIntercept{ 0.0 };
290 bool m_ConvertRAS{
false };
291 bool m_ConvertRASVectors{
false };
292 bool m_ConvertRASDisplacementVectors{
true };
299 bool m_SFORM_Corrected{
false };
305 #endif // itkNiftiImageIO_h