Difference between revisions of "2011 Winter Project Week:DicomToNrrdRefactoring"

From NAMIC Wiki
Jump to: navigation, search
Line 13: Line 13:
 
<h3>Objective</h3>
 
<h3>Objective</h3>
 
Gather requirements in support of refactoring the DWI DicomToNrrdConverter.
 
Gather requirements in support of refactoring the DWI DicomToNrrdConverter.
 
* Redesign DicomToNrrdConverter so that it is more maintainable.
 
* Design a general base class to support most of the medical images in dicom format.
 
* Supports for vendor/version/datatype combinations are implemented as derived classes and are independent from each other.
 
* (Possibly) define APIs and derived classes for functional MRI.
 
  
 
</div>
 
</div>
Line 29: Line 24:
 
*[[NAMIC_Wiki:DTI:Nrrd_format | DTI:Nrrd_Format]]
 
*[[NAMIC_Wiki:DTI:Nrrd_format | DTI:Nrrd_Format]]
 
*[[NAMIC_Wiki:DTI:DICOM_for_DWI_and_DTI|DICOM_for_DWI_and_DTI]]
 
*[[NAMIC_Wiki:DTI:DICOM_for_DWI_and_DTI|DICOM_for_DWI_and_DTI]]
 
'''Refactoring of Dicom to NRRD converter:
 
 
*Target for Slicer4. First working version (passing current tests) in April.
 
* Define API's for GDCM 2.x. Integrate with GDCM 2.x at summer programming week.
 
* Separate functionalities for extracting essential spacial information from those for extracting non-essential information.
 
*Essential information (all in public tags): space location, resolution, image orientation (IJK->xyz), and how the ordering of dicom files corresponds to the organization of the slices. This information is essential for putting measurements in the correct physical locations.
 
*Non-essential information (some are in private tags, vendor dependent): diffusion related information -- b-values, gradient weighting direction, B-matrix.
 
  
 
</div>
 
</div>
Line 59: Line 46:
 
<!--<div style="width: 97%; float: left;">
 
<!--<div style="width: 97%; float: left;">
  
==References==
+
<h2>References</h2>
  
 
</div>
 
</div>
 
-->
 
-->
 +
 +
==Activities at SLC meeting==
 +
 +
'''Objectives'''
 +
 +
* Redesign DicomToNrrdConverter so that it is more maintainable.
 +
* Design a general base class to support most of the medical images in dicom format.
 +
* Supports for vendor/version/datatype combinations are implemented as derived classes and are independent from each other.
 +
* (Possibly) define APIs and derived classes for functional MRI.
 +
 +
'''Designs'''
 +
 +
*Target for Slicer4. First working version (passing current tests) in April.
 +
* Define API's for GDCM 2.x. Integrate with GDCM 2.x at summer programming week.
 +
* Separate functionalities for extracting essential spacial information from those for extracting non-essential information.
 +
*Essential information (all in public tags): space location, resolution, image orientation (IJK->xyz), and how the ordering of dicom files corresponds to the organization of the slices. This information is essential for putting measurements in the correct physical locations.
 +
*Non-essential information (some are in private tags, vendor dependent): diffusion related information -- b-values, gradient weighting direction, B-matrix.

Revision as of 18:45, 11 January 2011

Home < 2011 Winter Project Week:DicomToNrrdRefactoring

Key Investigators

  • UIowa: Hans Johnson, Mark Scully, Joy Matsui
  • GE: Xiaodong Tao

Objective

Gather requirements in support of refactoring the DWI DicomToNrrdConverter.

Approach, Plan

Meet with anyone interested and establish a list of known requirements for DicomToNrrdConverter. Collectively brainstorm approaches to the refactoring, such as the use of GDCM 1.2 vs. GDCM 2.x vs. DCMTK. References:

Progress

Current DWI variations list:

  • slice ordering (S->I vs I->S),
  • transfer syntax endianness (big, little, and unknown),
  • slice arrangement (mosaic vs split, slice interleaving vs volume interleaving),
  • #B-Values (single vs multiple),
  • gradient vector reference frame (Scanner vs patient),
  • slice orientation (orthogonal vs oblique),
  • multiple B0s (all at beginning, all at end, interspersed)
  • vendor (different ways of storing diffusion information),
  • software versions (changes in how diffusion information is stored and interpreted).


Activities at SLC meeting

Objectives

  • Redesign DicomToNrrdConverter so that it is more maintainable.
  • Design a general base class to support most of the medical images in dicom format.
  • Supports for vendor/version/datatype combinations are implemented as derived classes and are independent from each other.
  • (Possibly) define APIs and derived classes for functional MRI.

Designs

  • Target for Slicer4. First working version (passing current tests) in April.
  • Define API's for GDCM 2.x. Integrate with GDCM 2.x at summer programming week.
  • Separate functionalities for extracting essential spacial information from those for extracting non-essential information.
  • Essential information (all in public tags): space location, resolution, image orientation (IJK->xyz), and how the ordering of dicom files corresponds to the organization of the slices. This information is essential for putting measurements in the correct physical locations.
  • Non-essential information (some are in private tags, vendor dependent): diffusion related information -- b-values, gradient weighting direction, B-matrix.