ImageIO class for reading and writing DICOM V3.0 and ACR/NEMA 1&2 uncompressed images. This class is only an adaptor to the GDCM library.
GDCM can be found at: https://sourceforge.net/projects/gdcm
To learn more about the revision shipped with ITK, call
git log – Modules/ThirdParty/GDCM/src/
from an ITK Git checkout.
The compressors supported include "JPEG2000" (default), and "JPEG". The compression level parameter is not supported.
- Warning
- There are several restrictions to this current writer:
- Even though during the writing process you pass in a DICOM file as input The output file may not contains ALL DICOM field from the input file. In particular:
- The SeQuence DICOM field (SQ).
- Fields from Private Dictionary.
- Some very long (>0xfff) binary fields are not loaded (typically 0029|0010), you need to explicitly set the maximum length of elements to load to be bigger (see Get/SetMaxSizeLoadEntry).
- In DICOM some fields are stored directly using their binary representation. When loaded into the MetaDataDictionary some fields are converted to ASCII (only VR: OB/OW/OF and UN are encoded as mime64).
- ITK Sphinx Examples:
-
- Examples
- Examples/IO/DicomImageReadChangeHeaderWrite.cxx, Examples/IO/DicomImageReadPrintTags.cxx, Examples/IO/DicomImageReadWrite.cxx, Examples/IO/DicomSeriesReadGaussianImageWrite.cxx, Examples/IO/DicomSeriesReadImageWrite2.cxx, Examples/IO/DicomSeriesReadPrintTags.cxx, Examples/IO/DicomSeriesReadSeriesWrite.cxx, Examples/IO/ImageReadDicomSeriesWrite.cxx, SphinxExamples/src/IO/GDCM/ReadAndPrintDICOMTags/Code.cxx, SphinxExamples/src/IO/GDCM/ReadDICOMSeriesAndWrite3DImage/Code.cxx, and SphinxExamples/src/IO/GDCM/ResampleDICOMSeries/Code.cxx.
Definition at line 103 of file itkGDCMImageIO.h.
|
bool | CanReadFile (const char *) override |
|
bool | CanWriteFile (const char *) override |
|
virtual CompressionEnum | GetCompressionType () const |
|
const char * | GetNameOfClass () const override |
|
bool | GetValueFromTag (const std::string &tag, std::string &value) |
|
void | InternalSetCompressor (const std::string &_compressor) override |
|
void | Read (void *pointer) override |
|
void | ReadImageInformation () override |
|
virtual void | SetCompressionType (const CompressionEnum _arg) |
|
void | Write (const void *buffer) override |
|
void | WriteImageInformation () override |
|
|
virtual itk::CommonEnums::IOComponent | GetInternalComponentType () const |
|
virtual void | SetInternalComponentType (const itk::CommonEnums::IOComponent _arg) |
|
|
virtual double | GetRescaleSlope () const |
|
virtual double | GetRescaleIntercept () const |
|
|
virtual const char * | GetUIDPrefix () const |
|
virtual void | SetUIDPrefix (const char *_arg) |
|
|
virtual const char * | GetStudyInstanceUID () const |
|
virtual const char * | GetSeriesInstanceUID () const |
|
virtual const char * | GetFrameOfReferenceInstanceUID () const |
|
|
virtual void | SetKeepOriginalUID (bool _arg) |
|
virtual bool | GetKeepOriginalUID () const |
|
virtual void | KeepOriginalUIDOn () |
|
|
virtual void | SetLoadPrivateTags (bool _arg) |
|
virtual bool | GetLoadPrivateTags () const |
|
virtual void | LoadPrivateTagsOn () |
|
|
virtual void | SetReadYBRtoRGB (bool _arg) |
|
virtual bool | GetReadYBRtoRGB () const |
|
virtual void | ReadYBRtoRGBOn () |
|
virtual bool | CanStreamRead () |
|
virtual bool | CanStreamWrite () |
|
virtual ImageIORegion | GenerateStreamableReadRegionFromRequestedRegion (const ImageIORegion &requested) const |
|
virtual unsigned int | GetActualNumberOfSplitsForWriting (unsigned int numberOfRequestedSplits, const ImageIORegion &pasteRegion, const ImageIORegion &largestPossibleRegion) |
|
std::string | GetByteOrderAsString (IOByteOrderEnum) const |
|
virtual unsigned int | GetComponentSize () const |
|
virtual IOComponentEnum | GetComponentType () const |
|
virtual const std::type_info & | GetComponentTypeInfo () const |
|
virtual int | GetCompressionLevel () const |
|
virtual const std::string & | GetCompressor () const |
|
virtual std::vector< double > | GetDefaultDirection (unsigned int k) const |
|
virtual SizeValueType | GetDimensions (unsigned int i) const |
|
virtual std::vector< double > | GetDirection (unsigned int i) const |
|
std::string | GetFileTypeAsString (IOFileEnum) const |
|
SizeType | GetImageSizeInBytes () const |
|
SizeType | GetImageSizeInComponents () const |
|
SizeType | GetImageSizeInPixels () const |
|
virtual bool | GetIsReadAsScalarPlusPalette () const |
|
virtual unsigned int | GetNumberOfDimensions () const |
|
virtual double | GetOrigin (unsigned int i) const |
|
virtual SizeType | GetPixelStride () const |
|
virtual double | GetSpacing (unsigned int i) const |
|
virtual ImageIORegion | GetSplitRegionForWriting (unsigned int ithPiece, unsigned int numberOfActualSplits, const ImageIORegion &pasteRegion, const ImageIORegion &largestPossibleRegion) |
|
const ArrayOfExtensionsType & | GetSupportedReadExtensions () const |
|
const ArrayOfExtensionsType & | GetSupportedWriteExtensions () const |
|
void | SetByteOrderToLittleEndian () |
|
virtual void | SetComponentType (const IOComponentEnum _arg) |
|
virtual void | SetCompressionLevel (int _arg) |
|
virtual void | SetCompressor (std::string _c) |
|
virtual void | SetDirection (unsigned int i, const std::vector< double > &direction) |
|
virtual void | SetDirection (unsigned int i, const vnl_vector< double > &direction) |
|
void | SetFileTypeToBinary () |
|
void | SetNumberOfDimensions (unsigned int) |
|
virtual void | SetOrigin (unsigned int i, double origin) |
|
virtual void | SetSpacing (unsigned int i, double spacing) |
|
template<typename TPixel > |
void | SetTypeInfo (const TPixel *) |
|
virtual bool | SupportsDimension (unsigned long dim) |
|
virtual void | SetFileName (const char *_arg) |
|
virtual const char * | GetFileName () const |
|
virtual void | SetDimensions (unsigned int i, SizeValueType dim) |
|
virtual void | SetIORegion (ImageIORegion _arg) |
|
virtual const ImageIORegion & | GetIORegion () const |
|
virtual void | SetPixelType (const itk::CommonEnums::IOPixel _arg) |
|
virtual itk::CommonEnums::IOPixel | GetPixelType () const |
|
virtual void | SetNumberOfComponents (unsigned int _arg) |
|
virtual const unsigned int & | GetNumberOfComponents () const |
|
virtual void | SetUseCompression (bool _arg) |
|
virtual bool | GetUseCompression () const |
|
virtual void | UseCompressionOn () |
|
virtual void | SetUseStreamedReading (bool _arg) |
|
virtual bool | GetUseStreamedReading () const |
|
virtual void | UseStreamedReadingOn () |
|
virtual void | SetUseStreamedWriting (bool _arg) |
|
virtual bool | GetUseStreamedWriting () const |
|
virtual void | UseStreamedWritingOn () |
|
virtual void | SetExpandRGBPalette (bool _arg) |
|
virtual bool | GetExpandRGBPalette () const |
|
virtual void | ExpandRGBPaletteOn () |
|
virtual void | SetWritePalette (bool _arg) |
|
virtual bool | GetWritePalette () const |
|
virtual void | WritePaletteOn () |
|
virtual void | SetFileType (const IOFileEnum _arg) |
|
virtual IOFileEnum | GetFileType () const |
|
void | SetFileTypeToASCII () |
|
virtual void | SetByteOrder (const IOByteOrderEnum _arg) |
|
virtual IOByteOrderEnum | GetByteOrder () const |
|
void | SetByteOrderToBigEndian () |
|
template<typename TPixel > |
void | SetPixelTypeInfo (const TPixel *) |
|
template<typename TPixel > |
void | SetPixelTypeInfo (const RGBPixel< TPixel > *) |
|
template<typename TPixel > |
void | SetPixelTypeInfo (const RGBAPixel< TPixel > *) |
|
template<unsigned int VLength> |
void | SetPixelTypeInfo (const Offset< VLength > *) |
|
template<typename TPixel , unsigned int VLength> |
void | SetPixelTypeInfo (const Vector< TPixel, VLength > *) |
|
template<typename TCoordinate , unsigned int VPointDimension> |
void | SetPixelTypeInfo (const Point< TCoordinate, VPointDimension > *) |
|
template<typename TPixel , unsigned int VLength> |
void | SetPixelTypeInfo (const CovariantVector< TPixel, VLength > *) |
|
template<typename TPixel , unsigned int VLength> |
void | SetPixelTypeInfo (const SymmetricSecondRankTensor< TPixel, VLength > *) |
|
template<typename TPixel > |
void | SetPixelTypeInfo (const DiffusionTensor3D< TPixel > *) |
|
template<typename TPixel > |
void | SetPixelTypeInfo (const std::complex< TPixel > *) |
|
template<typename TPixel , unsigned int VLength> |
void | SetPixelTypeInfo (const FixedArray< TPixel, VLength > *) |
|
template<typename TPixel > |
void | SetPixelTypeInfo (const VariableLengthVector< TPixel > *) |
|
template<typename TValue > |
void | SetPixelTypeInfo (const Array< TValue > *) |
|
template<typename TPixel , unsigned int VLength> |
void | SetPixelTypeInfo (const Matrix< TPixel, VLength, VLength > *) |
|
template<typename TValue > |
void | SetPixelTypeInfo (const VariableSizeMatrix< TValue > *) |
|
virtual void | AbortGenerateDataOn () |
|
virtual const bool & | GetAbortGenerateData () const |
|
virtual void | SetAbortGenerateData (bool _arg) |
|
virtual void | UpdateOutputData () |
|
void | UpdateProgress (float amount) |
|
virtual void | SetProgress (float _arg) |
|
virtual const float & | GetProgress () const |
|
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
|
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
|
LightObject::Pointer | CreateAnother () const override |
|
virtual void | DebugOff () const |
|
virtual void | DebugOn () const |
|
Command * | GetCommand (unsigned long tag) |
|
bool | GetDebug () const |
|
MetaDataDictionary & | GetMetaDataDictionary () |
|
const MetaDataDictionary & | GetMetaDataDictionary () const |
|
virtual ModifiedTimeType | GetMTime () const |
|
virtual const TimeStamp & | GetTimeStamp () const |
|
bool | HasObserver (const EventObject &event) const |
|
void | InvokeEvent (const EventObject &) |
|
void | InvokeEvent (const EventObject &) const |
|
virtual void | Modified () const |
|
void | Register () const override |
|
void | RemoveAllObservers () |
|
void | RemoveObserver (unsigned long tag) const |
|
void | SetDebug (bool debugFlag) const |
|
void | SetReferenceCount (int) override |
|
void | UnRegister () const noexcept override |
|
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
|
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
|
virtual void | SetObjectName (std::string _arg) |
|
virtual const std::string & | GetObjectName () const |
|
Pointer | Clone () const |
|
virtual void | Delete () |
|
virtual int | GetReferenceCount () const |
|
void | Print (std::ostream &os, Indent indent=0) const |
|
|
| GDCMImageIO () |
|
void | InternalReadImageInformation () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~GDCMImageIO () override |
|
void | AddSupportedReadExtension (const char *extension) |
|
void | AddSupportedWriteExtension (const char *extension) |
|
void | ComputeStrides () |
|
virtual unsigned int | GetActualNumberOfSplitsForWritingCanStreamWrite (unsigned int numberOfRequestedSplits, const ImageIORegion &pasteRegion) const |
|
SizeType | GetComponentStride () const |
|
virtual const ImageRegionSplitterBase * | GetImageRegionSplitter () const |
|
virtual unsigned int | GetPixelSize () const |
|
SizeType | GetRowStride () const |
|
SizeType | GetSliceStride () const |
|
virtual ImageIORegion | GetSplitRegionForWritingCanStreamWrite (unsigned int ithPiece, unsigned int numberOfActualSplits, const ImageIORegion &pasteRegion) const |
|
| ImageIOBase () |
|
virtual void | OpenFileForReading (std::ifstream &inputStream, const std::string &filename, bool ascii=false) |
|
virtual void | OpenFileForWriting (std::ofstream &outputStream, const std::string &filename, bool truncate=true, bool ascii=false) |
|
virtual void | ReadBufferAsASCII (std::istream &is, void *buffer, IOComponentEnum ctype, SizeType numComp) |
|
bool | ReadBufferAsBinary (std::istream &is, void *buffer, SizeType num) |
|
virtual void | Reset (const bool freeDynamic=true) |
|
void | Resize (const unsigned int numDimensions, const unsigned int *dimensions) |
|
void | SetSupportedReadExtensions (const ArrayOfExtensionsType &) |
|
void | SetSupportedWriteExtensions (const ArrayOfExtensionsType &) |
|
virtual void | WriteBufferAsASCII (std::ostream &os, const void *buffer, IOComponentEnum ctype, SizeType numComp) |
|
| ~ImageIOBase () override |
|
virtual bool | HasSupportedReadExtension (const char *fileName, bool ignoreCase=true) |
|
virtual bool | HasSupportedWriteExtension (const char *fileName, bool ignoreCase=true) |
|
virtual void | SetMaximumCompressionLevel (int) |
|
virtual int | GetMaximumCompressionLevel () const |
|
virtual void | GenerateData () |
|
| LightProcessObject () |
|
| ~LightProcessObject () override |
|
| Object () |
|
bool | PrintObservers (std::ostream &os, Indent indent) const |
|
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
|
| ~Object () override |
|
virtual LightObject::Pointer | InternalClone () const |
|
| LightObject () |
|
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
|
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
|
virtual | ~LightObject () |
|