18 #ifndef itkDCMTKImageIO_h
19 #define itkDCMTKImageIO_h
20 #include "ITKIODCMTKExport.h"
73 m_DImage = UserProvided;
74 m_DicomImageSetByUser =
true;
81 bool CanReadFile(
const char *)
override;
84 void ReadImageInformation()
override;
87 void Read(
void *buffer)
override;
93 bool CanWriteFile(
const char *)
override;
96 void WriteImageInformation()
override;
100 void Write(
const void *buffer)
override;
103 void SetLogLevel(LogLevel level);
106 LogLevel GetLogLevel()
const;
110 void PrintSelf(std::ostream & os,
Indent indent)
const override;
113 void OpenDicomImage();
116 void ReorderRGBValues(
void *buffer,
const void* data,
unsigned long count,
unsigned int voxel_size);
125 ReorderRGBValues(
void *buffer,
const void* data,
unsigned long count,
unsigned int voxel_size)
127 auto * output_buffer =
static_cast<T*
>(buffer);
128 const auto** input_buffer =
static_cast<const T**
>(
const_cast<void *
>(data));
129 for (
unsigned long pos = 0; pos < count; ++pos)
131 for (
unsigned int color = 0; color < voxel_size; ++color)
133 *(output_buffer++)=input_buffer[color][pos];
154 #endif // itkDCMTKImageIO_h
Light weight base class for most itk classes.
std::string m_LastFileName
Abstract superclass defines image IO interface.
void SetDicomImagePointer(DicomImage *UserProvided)
void ReorderRGBValues(void *buffer, const void *data, unsigned long count, unsigned int voxel_size)
bool m_DicomImageSetByUser
Control indentation during Print() invocation.
Read DICOM image file format.
Base class for most ITK classes.
double m_RescaleIntercept