# Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

gdcm::AbortEvent |
gdcm::AnonymizeEvent | AnonymizeEvent Special type of event triggered during the Anonymization process

gdcm::Anonymizer

Anonymizer This class is a multi purpose anonymizer. It can work in 2 mode:

- Full (irreversible) anonymizer (aka dumb mode)
- reversible de-identifier/re-identifier (aka smart mode). This implements the Basic Application Level Confidentiality Profile, DICOM PS 3.15-2009

gdcm::AnyEvent |

gdcm::ApplicationEntity

ApplicationEntity

- AE Application Entity
- A string of characters that identifies an Application Entity with leading and trailing spaces (20H) being non-significant. A value consisting solely of spaces shall not be used.
- Default Character Repertoire excluding character code 5CH (the BACKSLASH \ in ISO-IR 6), and control characters LF, FF, CR and ESC.
- 16 bytes maximum

gdcm::ASN1 | Class for ASN1
gdcm::Attribute< Group, Element, TVR, TVM > | Attribute class This class use template metaprograming tricks to let the user know when the template instanciation does not match the public dictionary
gdcm::Attribute< Group, Element, TVR, VM::VM1 > |
gdcm::Attribute< Group, Element, TVR, VM::VM1_8 > |
gdcm::Attribute< Group, Element, TVR, VM::VM1_n > |
gdcm::Attribute< Group, Element, TVR, VM::VM2_2n > |
gdcm::Attribute< Group, Element, TVR, VM::VM2_n > |
gdcm::Attribute< Group, Element, TVR, VM::VM3_3n > |
gdcm::Attribute< Group, Element, TVR, VM::VM3_n > |
gdcm::AudioCodec | AudioCodec
gdcm::Base64 | Class for Base64
gdcm::BasicOffsetTable | Class to represent a BasicOffsetTable
gdcm::Bitmap | Bitmap class A bitmap based image. Used as parent for both IconImage and the main Pixel Data Image It does not contains any World Space information (IPP, IOP)
gdcm::ByteBuffer | ByteBuffer
gdcm::ByteSwap< T > | ByteSwap
gdcm::ByteSwapFilter | ByteSwapFilter In place byte-swapping of a dataset FIXME: FL status ??
gdcm::ByteValue | Class to represent binary value (array of bytes)
gdcm::Codec | Codec class
gdcm::Coder | Coder
gdcm::CodeString | CodeString This is an implementation of DICOM VR: CS The cstor will properly Trim so that operator== is correct
gdcm::Command | Command superclass for callback/observer methods
gdcm::ConstCharWrapper | Do not use me
gdcm::CP246ExplicitDataElement | Class to read/write a DataElement as CP246Explicit Data Element
gdcm::CryptographicMessageSyntax | Class for CryptographicMessageSyntax encryption. This is just a simple wrapper around openssl PKCS7_encrypt functionalities
gdcm::CSAElement | Class to represent a CSA Element
gdcm::CSAHeader | Class for CSAHeader
gdcm::CSAHeaderDict | Class to represent a map of CSAHeaderDictEntry
gdcm::CSAHeaderDictEntry | Class to represent an Entry in the Dict Does not really exist within the DICOM definition, just a way to minimize storage and have a mapping from gdcm::Tag to the needed information
gdcm::CSAHeaderDictException |
gdcm::Curve | Curve class to handle element 50xx,3000 Curve Data WARNING: This is deprecated and lastly defined in PS 3.3 - 2004
gdcm::DataElement | Class to represent a Data Element either Implicit or Explicit
gdcm::DataElementException |
gdcm::DataSet | Class to represent a Data Set (which contains Data Elements) A Data Set represents an instance of a real world Information Object
gdcm::DataSetHelper | DataSetHelper (internal class, not intended for user level)
gdcm::Decoder | Decoder

gdcm::DefinedTerms

Defined Terms are used when the specified explicit Values may be extended by implementors to include additional new Values. These new Values shall be specified in the Conformance Statement (see PS 3.2) and shall not have the same meaning as currently defined Values in this standard. A Data Element with Defined Terms that does not contain a Value equivalent to one of the Values currently specified in this standard shall not be considered to have an invalid value. Note: Interpretation Type ID (4008,0210) is an example of a Data Element having Defined Terms. It is defined to have a Value that may be one of the set of standard Values; REPORT or AMENDMENT (see PS 3.3). Because this Data Element has Defined Terms other Interpretation Type IDs may be defined by the implementor

gdcm::Defs | FIXME I do not like the name 'Defs'
gdcm::DeltaEncodingCodec | DeltaEncodingCodec compression used by some private vendor
gdcm::DICOMDIR | DICOMDIR class
gdcm::DICOMDIRGenerator | DICOMDIRGenerator class This is a STD-GEN-CD DICOMDIR generator. ref: PS 3.11-2008 Annex D (Normative) - General Purpose CD-R and DVD Interchange Profiles
gdcm::Dict | Class to represent a map of DictEntry

gdcm::DictConverter

Class to convert a .dic file into something else:

- CXX code : embeded dict into shared lib (DICT_DEFAULT)
- Debug mode (DICT_DEBUG)
- XML dict (DICT_XML)

gdcm::DictEntry | Class to represent an Entry in the Dict Does not really exist within the DICOM definition, just a way to minimize storage and have a mapping from gdcm::Tag to the needed information
gdcm::DictPrinter | DictPrinter class
gdcm::Dicts | Class to manipulate the sum of knowledge (all the dict user load)
gdcm::DirectionCosines | Class to handle DirectionCosines
gdcm::Directory | Class for manipulation directories
gdcm::DummyValueGenerator | Class for generating dummy value
gdcm::Dumper | Codec class
gdcm::Element< TVR, TVM > | Element class
gdcm::Element< TVR, VM::VM1_n > |
gdcm::Element< TVR, VM::VM2_2n > |
gdcm::Element< TVR, VM::VM2_n > |
gdcm::Element< TVR, VM::VM3_3n > |
gdcm::Element< TVR, VM::VM3_n > |
gdcm::Element< VR::AS, VM::VM5 > |
gdcm::Element< VR::OB, VM::VM1 > |
gdcm::Element< VR::OW, VM::VM1 > |
gdcm::EncapsulatedDocument | EncapsulatedDocument
gdcm::EncodingImplementation< VR::VRASCII > |
gdcm::EncodingImplementation< VR::VRBINARY > |
gdcm::EndEvent |

gdcm::EnumeratedValues

Element. A Data Element with Enumerated Values that does not have a Value equivalent to one of the Values specified in this standard has an invalid value within the scope of a specific Information Object/SOP Class definition. Note: 1. Patient Sex (0010, 0040) is an example of a Data Element having Enumerated Values. It is defined to have a Value that is either "M", "F", or "O" (see PS 3.3). No other Value shall be given to this Data Element. 2. Future modifications of this standard may add to the set of allowed values for Data Elements with Enumerated Values. Such additions by themselves may or may not require a change in SOP Class UIDs, depending on the semantics of the Data Element

gdcm::Event | Superclass for callback/observer methods
gdcm::Exception | Exception
gdcm::ExitEvent |
gdcm::ExplicitDataElement | Class to read/write a DataElement as Explicit Data Element
gdcm::ExplicitImplicitDataElement | Class to read/write a DataElement as ExplicitImplicit Data Element
gdcm::Fiducials | Fiducials
gdcm::File | DICOM File See PS 3.10 File: A File is an ordered string of zero or more bytes, where the first byte is at the beginning of the file and the last byte at the end of the File. Files are identified by a unique File ID and may by written, read and/or deleted
gdcm::FileDerivation | FileDerivation class See PS 3.16 - 2008 For the list of Code Value that can be used for in Derivation Code Sequence
gdcm::FileExplicitFilter | FileExplicitFilter class After changing a file from Implicit to Explicit representation (see ImageChangeTransferSyntax) one operation is to make sure the VR of each DICOM attribute are accurate and do match the one from PS 3.6. Indeed when a file is written in Implicit reprensentation, the VR is not stored directly in the file
gdcm::FileMetaInformation | Class to represent a File Meta Information
gdcm::Filename | Class to manipulate file name's
gdcm::FilenameGenerator | FilenameGenerator
gdcm::FileSet | File-set: A File-set is a collection of DICOM Files (and possibly non-DICOM Files) that share a common naming space within which File IDs are unique
gdcm::FileWithName | FileWithName
gdcm::Fragment | Class to represent a Fragment
itk::GDCMImageIO2 | ImageIO class for reading and writing DICOM V3.0 and ACR/NEMA (V1.0 & V2.0) images This class is only an adaptor to the gdcm library (currently gdcm 2.0 is used):
gdcm::Global | Global
gdcm::GroupDict | Class to represent the mapping from group number to its abbreviation and name
gdcm::ignore_char |
gdcm::Image | Image
gdcm::ImageApplyLookupTable | ImageApplyLookupTable class It applies the LUT the PixelData (only PALETTE_COLOR images) Output will be a PhotometricInterpretation=RGB image
gdcm::ImageChangePhotometricInterpretation | ImageChangePhotometricInterpretation class Class to change the Photometric Interpetation of an input DICOM
gdcm::ImageChangePlanarConfiguration | ImageChangePlanarConfiguration class Class to change the Planar configuration of an input DICOM By default it will change into the more usual reprensentation: PlanarConfiguration = 0
gdcm::ImageChangeTransferSyntax | ImageChangeTransferSyntax class Class to change the transfer syntax of an input DICOM
gdcm::ImageCodec | ImageCodec
gdcm::ImageConverter | Image Converter
gdcm::ImageFragmentSplitter | ImageFragmentSplitter class For single frame image, DICOM standard allow splitting the frame into multiple fragments
gdcm::ImageHelper | ImageHelper (internal class, not intended for user level)
gdcm::ImageReader | ImageReader
gdcm::ImageToImageFilter | ImageToImageFilter class Super class for all filter taking an image and producing an output image
gdcm::ImageWriter | ImageWriter
gdcm::ImplicitDataElement | Class to represent an *Implicit VR* Data Element
gdcm::InitializeEvent |
gdcm::IOD | Class for representing a IOD
gdcm::IODEntry | Class for representing a IODEntry
gdcm::IODs | Class for representing a IODs
gdcm::IPPSorter | IPPSorter Implement a simple Image Position (Patient) sorter, along the Image Orientation (Patient) direction. This algorithm does NOT support duplicate and will FAIL in case of duplicate IPP

gdcm::Item

Class to represent an Item A component of the value of a Data Element that is of Value Representation Sequence of Items. An Item contains a Data Set . See PS 3.5 7.5.1 Item Encoding Rules Each Item of a Data Element of VR SQ shall be encoded as a DICOM Standart Data Element with a specific Data Element Tag of Value (FFFE,E000). The Item Tag is followed by a 4 byte Item Length field encoded in one of the following two ways Explicit/ Implicit

gdcm::IterationEvent |
gdcm::JPEG12Codec | Class to do JPEG 12bits (lossy & lossless)
gdcm::JPEG16Codec | Class to do JPEG 16bits (lossless)
gdcm::JPEG2000Codec | Class to do JPEG 2000
gdcm::JPEG8Codec | Class to do JPEG 8bits (lossy & lossless)
gdcm::JPEGCodec | JPEG codec Class to do JPEG (8bits, 12bits, 16bits lossy & lossless). It redispatch in between the different codec implementation: gdcm::JPEG8Codec, gdcm::JPEG12Codec & gdcm::JPEG16Codec It also support inconsistency in between DICOM header and JPEG compressed stream ImageCodec implementation for the JPEG case
gdcm::JPEGLSCodec | JPEG-LS
gdcm::KAKADUCodec | KAKADUCodec
gdcm::LO | LO
gdcm::LookupTable | LookupTable class
gdcm::Scanner::ltstr |
gdcm::Macro | Class for representing a Macro
gdcm::Macros | Class for representing a Modules
gdcm::MD5 | Class for MD5
gdcm::MediaStorage | MediaStorage
gdcm::MemberCommand< T > | Command subclass that calls a pointer to a member function
gdcm::ModifiedEvent |
gdcm::Module | Class for representing a Module
gdcm::ModuleEntry | Class for representing a ModuleEntry
gdcm::Modules | Class for representing a Modules
gdcm::NestedModuleEntries | Class for representing a NestedModuleEntries
gdcm::NoEvent |
gdcm::Object | Object
gdcm::Orientation | Class to handle Orientation
gdcm::Overlay | Overlay class
gdcm::ParseException | ParseException Standard exception handling object
gdcm::Parser | Parser ala XML_Parser from expat (SAX)
gdcm::Patient | See PS 3.3 - 2007 DICOM MODEL OF THE REAL-WORLD, p 54
gdcm::PDBElement | Class to represent a PDB Element
gdcm::PDBHeader | Class for PDBHeader
gdcm::PDFCodec | PDFCodec class
gdcm::PersonName | PersonName class
gdcm::PhotometricInterpretation | Class to represent an PhotometricInterpretation
gdcm::PixelFormat | PixelFormat
gdcm::Pixmap | Pixmap class A bitmap based image. Used as parent for both IconImage and the main Pixel Data Image It does not contains any World Space information (IPP, IOP)
gdcm::PixmapReader | PixmapReader
gdcm::PixmapToPixmapFilter | PixmapToPixmapFilter class Super class for all filter taking an image and producing an output image
gdcm::PixmapWriter | PixmapWriter This class will takes two inputs: 1. The DICOM DataSet 2. The Image input It will override any info from the Image over the DataSet
gdcm::PNMCodec | Class to do PNM PNM is the Portable anymap file format. The main web page can be found at: http://netpbm.sourceforge.net/
gdcm::Preamble | DICOM Preamble (Part 10)
gdcm::Printer | Printer class
gdcm::PrivateDict | Private Dict
gdcm::PrivateTag | Class to represent a Private DICOM Data Element (Attribute) Tag (Group, Element, Owner)
gdcm::ProgressEvent | ProgressEvent Special type of event triggered during
gdcm::PVRGCodec | PVRGCodec
gdcm::PythonFilter | PythonFilter PythonFilter is the class that make gdcm2.x looks more like gdcm1 and transform the binary blob contained in a DataElement into a string, typically this is a nice feature to have for wrapped language
gdcm::RAWCodec | RAWCodec class
gdcm::Reader | Reader ala DOM (Document Object Model)

gdcm::Rescaler

Rescale class This class is meant to apply the linear tranform of Stored Pixel Value to Real World Value. This is mostly found in CT or PET dataset, where the value are stored using one type, but need to be converted to another scale using a linear transform. There are basically two cases: In CT: the linear transform is generally integer based. E.g. the Stored Pixel Type is unsigned short 12bits, but to get Hounsfield unit, one need to apply the linear transform:

So the best scalar to store the Real World Value will be 16 bits signed type. In PET: the linear transform is generally floating point based. Since the dynamic range can be quite high, the Rescale Slope / Rescale Intercept can be changing thoughout the Series. So it is important to read all linear transform and deduce the best Pixel Type only at the end (when all the images to be read have been parsed)

gdcm::RLECodec | Class to do RLE
gdcm::SerieHelper::Rule |
gdcm::Scanner | Scanner This filter is meant for quickly browsing a FileSet (a set of files on disk). Special consideration are taken so as to read the mimimum amount of information in each file in order to retrieve the user specified set of DICOM Attribute
gdcm::SegmentedPaletteColorLookupTable | SegmentedPaletteColorLookupTable class
gdcm::SequenceOfFragments | Class to represent a Sequence Of Fragments

gdcm::SequenceOfItems

Class to represent a Sequence Of Items (value representation : SQ)

- a Value Representation for Data Elements that contains a sequence of Data Sets.
- Sequence of Item allows for Nested Data Sets

gdcm::SerieHelper |
gdcm::Series | Series
gdcm::SHA1 | Class for SHA1
gdcm::SimpleMemberCommand< T > | Command subclass that calls a pointer to a member function
gdcm::SimpleSubjectWatcher | SimpleSubjectWatcher This is a typical Subject Watcher class. It will observe all events
gdcm::SmartPointer< ObjectType > | Class for Smart Pointer
gdcm::SOPClassUIDToIOD | Class convert a class SOP Class UID into IOD
gdcm::Sorter | Sorter General class to do sorting using a custom function You simply need to provide a function of type: Sorter::SortFunction
gdcm::Spacing | Class for Spacing
gdcm::Spectroscopy | Spectroscopy class
gdcm::SplitMosaicFilter | SplitMosaicFilter class Class to reshuffle bytes for a SIEMENS Mosaic image Siemens CSA Image Header CSA:= Common Siemens Architecture, sometimes also known as Common syngo Architecture
gdcm::StartEvent |
gdcm::static_assert_test< x > |
gdcm::STATIC_ASSERTION_FAILURE< true > |
gdcm::String< TDelimiter, TMaxLength, TPadChar > | String
gdcm::StringFilter | StringFilter StringFilter is the class that make gdcm2.x looks more like gdcm1 and transform the binary blob contained in a DataElement into a string, typically this is a nice feature to have for wrapped language
gdcm::Study | Study
gdcm::Subject | Subject
gdcm::SwapCode | SwapCode representation
gdcm::SwapperDoOp |
gdcm::SwapperNoOp |
gdcm::System | Class to do system operation
gdcm::Table | Table
gdcm::TableEntry | TableEntry
gdcm::TableReader | Class for representing a TableReader
gdcm::Tag | Class to represent a DICOM Data Element (Attribute) Tag (Group, Element). Basically an uint32_t which can also be expressed as two uint16_t (group and element)
gdcm::TagPath | Class to handle a path of tag
gdcm::Testing | Class for testing
gdcm::Trace | Trace
gdcm::TransferSyntax | Class to manipulate Transfer Syntax
gdcm::Type | Type
gdcm::UI |
gdcm::UIDGenerator | Class for generating unique UID
gdcm::UIDs | All known uids
gdcm::UNExplicitDataElement | Class to read/write a DataElement as UNExplicit Data Element

gdcm::UNExplicitImplicitDataElement

Class to read/write a DataElement as ExplicitImplicit Data Element This class gather two known bugs: 1. GDCM 1.2.0 would rewrite VR=UN Value Length on 2 bytes instead of 4 bytes 2. GDCM 1.2.0 would also rewrite DataElement as Implicit when the VR would not be known this would only happen in some very rare cases. gdcm 2.X design could handle bug #1 or #2 exclusively, this class can now handle file which have both issues. See: gdcmData/TheralysGDCM120Bug.dcm

gdcm::Unpacker12Bits | Pack/Unpack 12 bits pixel into 16bits
gdcm::Usage | Usage
gdcm::UserEvent |
gdcm::Validate | Validate class
gdcm::Value | Class to represent the value of a Data Element
gdcm::ValueIO< TDE, TSwap, TType > | Class to dispatch template calls
gdcm::Version | Major/minor and build version
gdcm::VL | Value Length
gdcm::VM | Value Multiplicity Looking at the DICOMV3 dict only there is very few cases: 1 2 3 4 5 6 8 16 24 1-2 1-3 1-8 1-32 1-99 1-n 2-2n 2-n 3-3n 3-n
gdcm::VR | VR class This is adapted from DICOM standard The biggest difference is the INVALID VR and the composite one that differ from standard (more like an addition) This allow us to represent all the possible case express in the DICOMV3 dict
gdcm::VR16ExplicitDataElement | Class to read/write a DataElement as Explicit Data Element
gdcm::VRVLSize< 0 > |
gdcm::VRVLSize< 1 > |
vtkGDCMImageReader |
vtkGDCMImageWriter |
vtkGDCMMedicalImageProperties |
vtkGDCMPolyDataReader |
vtkGDCMPolyDataWriter |
vtkGDCMTesting |
vtkGDCMThreadedImageReader |
vtkGDCMThreadedImageReader2 |
vtkImageColorViewer |
vtkImageMapToColors16 |
vtkImageMapToWindowLevelColors2 |
vtkImagePlanarComponentsToComponents |
vtkImageRGBToYBR |
vtkImageYBRToRGB |
vtkLookupTable16 |
vtkMedicalImageProperties |
vtkStringArray |
gdcm::Waveform | Waveform class
gdcm::Writer | Writer ala DOM (Document Object Model) This class is a non-validating writer, it will only performs well- formedness check only
gdcm::XMLDictReader | Class for representing a XMLDictReader
gdcm::XMLPrivateDictReader | Class for representing a XMLPrivateDictReader