DICOM images have been a big part of my job for over a decade, but until recently I swore that I would never write my own programming library for reading DICOM files. Not when there were mature, free DICOM libraries that I could use instead. But I needed something that would integrate seamlessly with the image analysis software that we are writing, which is all based on VTK. Hence, the genesis of vtk-dicom, a DICOM library specifically for VTK.

There are a few features that I am especially proud of:

  • It can handle files with over 4 dimensions (both read and write).
  • It works with the new "enhanced" multi-frame DICOM files.
  • DICOM scans are managed as full series, rather than one image at a time.
  • The meta data is stored in hash table with a very compact interface.
  • The dictionary is built as a static hash table right in the code.
  • Both the reader and write use an 8k buffer for efficient IO operations.