Difference between revisions of "2011 Winter Project Week:DicomToNrrdRefactoring"
From NAMIC Wiki
(Created page with '__NOTOC__ <gallery> Image:PW-SLC2011.png|Projects List </gallery> ==Key Investigators== * UIowa: Hans Johnson, Mark Scully, Joy Matsui * GE…') |
|||
(4 intermediate revisions by 2 users not shown) | |||
Line 23: | Line 23: | ||
References: | References: | ||
*[[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]] | ||
+ | |||
</div> | </div> | ||
Line 33: | Line 35: | ||
* slice arrangement (mosaic vs split, slice interleaving vs volume interleaving), | * slice arrangement (mosaic vs split, slice interleaving vs volume interleaving), | ||
* #B-Values (single vs multiple), | * #B-Values (single vs multiple), | ||
− | * gradient vector reference frame ( | + | * gradient vector reference frame (Scanner vs patient), |
* slice orientation (orthogonal vs oblique), | * slice orientation (orthogonal vs oblique), | ||
* multiple B0s (all at beginning, all at end, interspersed) | * multiple B0s (all at beginning, all at end, interspersed) | ||
Line 44: | Line 46: | ||
<!--<div style="width: 97%; float: left;"> | <!--<div style="width: 97%; float: left;"> | ||
− | + | <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. | ||
+ | *Discussed general dicom approach with Steve, Jim, Hans, Xiadong, and Mark. | ||
+ | *Decided that ITK should populate a sqlite database with all the dicom tags and then pass that database onto later filters which will handle modality specific information. | ||
+ | *Since that functionality doesn't exist yet, the new version of DicomToNrrdConverter will be built using GDCM 2.x. | ||
+ | *GDCM 2.x handles issues such as slice ordering, slice arrangement, slice orientation, etc. | ||
+ | *The Diffusion parsing filter will take the GDCM 2.x tag database then correct for gradient vector reference frame, B0 locations, and perform all vendor specific conversions. |
Latest revision as of 17:19, 12 January 2011
Home < 2011 Winter Project Week:DicomToNrrdRefactoringKey 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.
- Discussed general dicom approach with Steve, Jim, Hans, Xiadong, and Mark.
- Decided that ITK should populate a sqlite database with all the dicom tags and then pass that database onto later filters which will handle modality specific information.
- Since that functionality doesn't exist yet, the new version of DicomToNrrdConverter will be built using GDCM 2.x.
- GDCM 2.x handles issues such as slice ordering, slice arrangement, slice orientation, etc.
- The Diffusion parsing filter will take the GDCM 2.x tag database then correct for gradient vector reference frame, B0 locations, and perform all vendor specific conversions.