From SlicerWiki
Revision as of 11:33, 15 June 2018 by Fedorov (talk | contribs)

Jump to: navigation, search
Home < Documentation < Nightly < FAQ < DICOM

For the stable Slicer documentation, visit the 4.10 page.


What is DICOM anyway?

Digital Imaging and Communications in Medicine (DICOM) is the standard for the communication and management of medical imaging information and related data (see Wikipedia article here). Among other things, DICOM defines format of objects for communicating images and image-related data. In most cases, imaging equipment (CT and MR scanners) used in the hospitals will generate images saved as DICOM objects.

DICOM organizes data following the hierarchy of

  • Patient ... can have 1 or more
    • Study (single imaging exam encounter) ... can have 1 or more
      • Series (single image acquisition, most often corresponding to a single image volume) ... can have 1 or more
        • Instance (most often, each Series will contain multiple Instances, with each Instance corresponding to a single slice of the image)

As a result of imaging exam, imaging equipment generates DICOM files, where each file corresponds to one Instance, and is tagged with the information that allows to determine the Series, Study and Patient information to put it into the proper location in the hierarchy.

There is a variety of DICOM objects defined by the standard. Most common object types are those that store the image volumes produced by the CT and MR scanners. Those objects most often will have multiple files (instances) for each series. Image processing tasks most often are concerned with analyzing the image _volume_, which most often corresponds to a single Series. The first step working with such data is to load that volume into 3D Slicer.

How do I know if the files I have are stored using DICOM format? How do I proceed?

DICOM files do not need to have a specific file extension, and it may not be straightforward to answer this question easily. However, if you have a dataset produced by a clinical scanner, it is most likely in the DICOM format. If you suspect your data might be in DICOM format, it might be easiest to try to load it as DICOM:

1) drag and drop the directory with your data into Slicer window. You will get a prompt "Select a reader to use for your data? Load directory into DICOM database." Accept that selection. You will see a progress update as the content of that directory is being indexed. If the directory contained DICOM data, and import succeeded, at the completion you will see the message of how many Patient/Study/Series/Instance items were successfully imported.

Once import is completed, you will see the window of the DICOM Browser listing all Patients/Studies/Series currently indexed. You can next select individual items from the DICOM Browser window and load them.

Once you load the data into Slicer using DICOM Browser, you can switch to the "Data" module to examine the content that was imported.

When I click on "Load selection to slicer" I get an error message "Could not load ... as a scalar volume"

There's a chance you could be running out of memory when loading the data. Make sure you use a 64-bit version of Slicer. The 32-bit Windows version has constrained memory and often does not work with clinical CT studies.

Another potential cause of loading failure is corruption of the DICOM files by incorrect anonymization. Patient name, patient ID, and series instance UID fields should not be empty or missing (the anonymizer should replace them by other valid strings). Try to load the original, non-anonymized sequence and/or change your anonymization procedure.

If none of the above helps then check the Slicer error logs and report the error on the Slicer forum. If you share the data (e.g., upload it to Dropbox and add the link to the error report) then Slicer developers can reproduce and fix the problem faster.

I try to import a directory of DICOM files, but nothing shows up in the browser

DICOM is a complex way to represent data, and often scanners and other software will generate 'non-standard' files that claim to be DICOM but really aren't compliant with the specification. In addition, the specification itself has many variations and special formats that Slicer is not able to understand. Slicer is used most often with CT and MR DICOM objects, so these will typically work.

If you have trouble importing DICOM data here are some steps to try:

  • Make sure you are following the DICOM module documentation.
  • Try using the latest nightly build of Slicer.
  • Try import using different DICOM readers: in Application settings / DICOM / DICOMScalarVolumePlugin / DICOM reader approach: switch from DCMTK to GDCM (or GDCM to DCMTK), restart Slicer, and attempt to load the data set again.
  • Try the DICOM Patcher module
  • Review the Error Log for information.
  • Try loading the data by selecting one of the files in the Add Data Dialog. Note: be sure to turn on Show Options and then turn off the Single File option in order to load the selected series as a volume
  • If you are still unable to load the data, you may need to find a utility that converts the data into something Slicer can read. Sometimes tools like FreeSurfer, FSL or MRIcron can understand special formats that Slicer does not handle natively. These systems typically export NIfTI files that slicer can read.
  • If you are sure that the DICOM files do not contain patient confidential information, you may post a sample dataset on a web site and ask for help from Slicer forum. Please be careful not to accidentally reveal private health information. If you want to remove identifiers from the DICOM files you may want to look at DicomCleaner or the RSNA Clinical Trial Processor software.
  • Try moving the data and the database directory to a path that includes only US English characters (ASCII) to avoid possible parsing errors.

Something is displayed, but it is not what I expected

When you load a study from DICOM, it may contain several data sets and by default Slicer may not show the data set that you are most interested in. Go to Data module / Subject hierarchy section and click the "eye" icons to show/hide loaded data sets. You may need to click on the small rectangle icon ("Adjust the slice viewer's field of view...") on the left side of the slice selection slider after you show a volume.