Modules:CreateaDicomSeries-Documentation-3.6

From Slicer Wiki
Jump to: navigation, search
Home < Modules:CreateaDicomSeries-Documentation-3.6

Return to Slicer 3.6 Documentation

Gallery of New Features

Module Name

Create a DICOM Series

GUI panel

General Information

Module Type & Category

Type: CLI

Category: Converters

Authors, Collaborators & Contact

  • Author: Bill Lorensen
  • Contact: bill.lorensen at gmail.com

Module Description

Create a DICOM Series from a Slicer3 volume. User can specify values for selected DICOM tags in the UI. Given the number of tags DICOM series have, it is impossible to expose all tags in UI. So only important tags can be set by the user.

Usage

Examples, Use Cases & Tutorials

  • Note use cases for which this module is especially appropriate, and/or link to examples.

This module can be used to convert an image volume into a series of Dicom images and pushed to image viewing stations that operates only on Dicom images, or separate an image volume into slices for slice by slice process.

  • A command line example:
 ImageReadDicomWrite
   --patientName ANON0001
   --patientID 8775070
   --patientComments "A volunteer"
   --studyID 123456
   --studyDate 20090102
   --studyComments Resampled
   --studyDescription None
   --modality CT
   --manufacturer "GE Medical Systems"
   --model CT8800
   --seriesNumber 123456
   --seriesDescription None
   --dicomDirectory ./temp/
   --dicomPrefix IMG
   MyVolume.nhdr

Quick Tour of Features and Use

List all the panels in your interface, their features, what they mean, and how to use them. For instance:

  • Input/Output panels:
Input/Output panels

The input/output panels is at the bottom of the UI panel, where the user can specify 1. the image volume in Slicer MRML tree to be converted into a DICOM series; 2. the directory where the DICOM files will be stored; 3. the prefix of the DICOM files; and 4. whether to output slices in reverse order.

  • Parameters panel:

The parameters panel of this module is divided into "Patient Parameters", "Study Parameters", "Series Parameters", and "Image Parameters".

  • Patient Parameters
Patient Parameters

On "Patient Parameters" panel, the user specifies "Patient Name" (Dicom tag, 0010|0010), "Patient ID" (Dicom tag, 0010|0020), and comments on patient (Dicom tag 0010|4000).

  • Study Parameters
Study Parameters

On "Study Parameters" panel, the user specifies "Study ID" (Dicom tag, 0020|0010), "Study Date" (Dicom tag, 0008|0020), "Study Comments" (Dicom tag 0032|4000), "Modality" (imaging modality, Dicom tag 0008|0060), "Manufacturer" (vendor of imaging device, Dicom tag 0008|0070), and "Model" (model of the imaging device, Dicom Tag 0008|1090).

  • Series Parameters
Series Parameters

On "Series Parameters" panel, the user specifies "Series Number" (Dicom tag, 0020|0011) and "Series Description" (Dicom tag, 0008|103e).

  • Image Parameters
Image Parameters

On "Image Parameters" panel, the user specifies parameters for window/level used as default display settings. "Rescale Intercept" (Dicom tag, 0028|1052) and "Rescale slope" (Dicom tag, 0028|1053).

  • Viewing panel:

This module does not show anything in the viewing panel.

Development

Dependencies

This module depends only on the core "Volumes" module of slice for data IO.

Known bugs

None.

Usability issues

The usability of this module is limited by the complexity of DICOM header structure and extremely diverse use of this header information. The tags exposed and therefore modified by the user is limited to the minimal crucial set. Some tags that are important to certain applications may not be set correctly.

Source code & documentation

Source Code: ImageReadDicomWrite.cxx

XML Description: ImageReadDicomWrite.xml

Test: ImageReadDicomWriteTest.cxx

Usage:

   ./ImageReadDicomWrite  [--processinformationaddress <std::string>]
                          [--xml] [--echo] [--reverseImages] [--dicomPrefix
                          <std::string>] [--dicomDirectory <std::string>]
                          [--rescaleSlope <double>] [--rescaleInterscept
                          <double>] [--seriesDescription <std::string>]
                          [--seriesNumber <std::string>] [--model
                          <std::string>] [--manufacturer <std::string>]
                          [--modality <std::string>] [--studyDescription
                          <std::string>] [--studyComments <std::string>]
                          [--studyDate <std::string>] [--studyID
                          <std::string>] [--patientComments <std::string>]
                          [--patientID <std::string>] [--patientName
                          <std::string>] [--] [--version] [-h]
                          <std::string>


 Where: 

   --processinformationaddress <std::string>
     Address of a structure to store process information (progress, abort,
     etc.). (default: 0)

   --xml
     Produce xml description of command line arguments (default: 0)

   --echo
     Echo the command line arguments (default: 0)

   --reverseImages
     Reverse the slices. (default: 0)

   --dicomPrefix <std::string>
     The prefix of the DICOM filename. (default: IMG)

   --dicomDirectory <std::string>
     The directory to contain the DICOM series. (default: ./)

   --rescaleSlope <double>
     Rescale slope [0028-1053]. Converts pixel values on disk to pixel
     values in memory. (Pixel value in memory) = (Pixel value on disk) *
     rescaleSlope + rescaleInterscept.  Default is 1.0. Data values are
     converted on write (the data is scaled and shifted so that the slope
     and interscept will bring it back to the current intensity range).
     (default: 1)

   --rescaleInterscept <double>
     Rescale interscept [0028-1052]. Converts pixel values on disk to pixel
     values in memory. (Pixel value in memory) = (Pixel value on disk) *
     rescaleSlope + rescaleInterscept.  Default is 0.0. Data values are
     converted on write (the data is scaled and shifted so that the slope
     and interscept will bring it back to the current intensity range).
     (default: 0)

   --seriesDescription <std::string>
     Series description [0008-103E] (default: None)

   --seriesNumber <std::string>
     The series number [0020-0011] (default: 123456)

   --model <std::string>
     model [0008-1090] (default: None)

   --manufacturer <std::string>
     Manufacturer [0008-0070] (default: GE Medical Systems)

   --modality <std::string>
     Modality [0008-0060] (default: CT)

   --studyDescription <std::string>
     Study description[0008-1030] (default: None)

   --studyComments <std::string>
     Study comments[0032-4000] (default: None)

   --studyDate <std::string>
     The date of the study [0008-0020] (default: 20060101)

   --studyID <std::string>
     The study ID [0020-0010] (default: 123456)

   --patientComments <std::string>
     Patient comments [0010-4000] (default: None)

   --patientID <std::string>
     The patient ID [0010-0020] (default: 123456)

   --patientName <std::string>
     The name of the patient [0010-0010] (default: Anonymous)

   --,  --ignore_rest
     Ignores the rest of the labeled arguments following this flag.

   --version
     Displays version information and exits.

   -h,  --help
     Displays usage information and exits.

   <std::string>
     (required)  Input volume to be resampled


   Description: Create a DICOM Series

   Author(s): Bill Lorensen

   Acknowledgements: This command module was derived from Insight/Examples
   (copyright) Insight Software Consortium

More Information

Acknowledgment

This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on the National Centers for Biomedical Computing can be obtained from National Centers for Biomedical Computing.

References

Section 7.11 of The ITK software guide