Gdcm Home Page
Gdcm is yet another C++ library dedicated to reading/parsing and writing
Dicom medical files.
GDCM stands as a short for "Grass roots
DiCoM.
What gdcm IS
- gdcm implements the
dicom base standard part 5
that concentrates on image file format.
Hence gdcm supports the following formats:
- ACR-NEMA version 1 and 2
- Dicom version 3.0 (including various encodings of JPEG -lossless and
lossy-, RLE).
Please refer to
gdcm conformance summary
for more details.
- Papyrus V2 and V3 file headers are readable; the user will have to use
low level accessors if he wants to get the image pixels -sorry-
- gdcm includes a lot of heuristics that allow reading all the
'exotic' files (headers with oddities) we had to deal with.
Any king of 'exotic' Dicom file is welcome, to help us to improve our
library.
- gdcm is distributed with
Berkeley-like license.
- gdcm is cross platform (it compiles with gcc 2.95, 2.96, 3.0.x, 3.2.x,
3.3.x, 3.4.x, 4.0.x, 4.1.x , icc , cc (SunOS), VisualC++, Borland,
nmake... )
- gdcm has a nightly Dashboard (the whole lib is checked every night)
- gdcm targets both GNU/Un*ces and Windows/VC++
(refer to
requirements
for details).
- gdcm comes with a
VTK
shallow wrapper class vtkGdcmReader (refer to
VtkGdcm)
to ease the burden of VTK users,
- gdcm also comes with
gdcmPython
it's
SWIG
generated
Python
wrappers.
What gdcm is NOT
Except for
dicom base standard part 5
gdcm does NOT implement any other part of the Dicom base standard
(as opposed to other C++ based with open license libraries like
DCMTK
or
CTN).
In particular gdcm is not aware of:
- the Dicom network file exchange protocol (Query/Retrieve),
- the Dicom media storage formats (well ... it knows about the DICOMDIR
-reading and writing- and its parts PATIENT, STUDY, SERIES, IMAGE)
- Print, Verification
- ANY OTHER PART of Dicom.
What gdcm still misses
Among all the features of the
dicom part 5
gdcm doesn't implement (yet?)
- the integration of (optional) overlays on image.
- a support to write files according to the
various classical Jpeg encodings
(only read methods are provided)
- a support to deal with JPEG 2000 encodings
Gdcm also still needs
- an enhanced and simpler API to access the various forms of pixel data
(e.g. RGB, GrayLevel, RawData...),
- a decent user's guide (currently, only a partial doxygenation is
available),
- the python wrappers to be fixed,
- a simple
wxWidgets
Dicom file editor.