Difference between revisions of "ITK/Release 4/DICOM"

From KitwarePublic
< ITK‎ | Release 4
Jump to navigationJump to search
Line 36: Line 36:
  
 
dev process:
 
dev process:
* modify GDCM FORK
+
* modify code (this can be either in ITK or in GDCM FORK, depending on the modification)
* check GDCM FORK (local)
+
* (re) install GDCM FORK on the system (as ITK does not work with a build tree of gdcm)
 
* check ITK with GDCM FORK (local-experimental-nightly)  
 
* check ITK with GDCM FORK (local-experimental-nightly)  
 
* push to itk-gerrit
 
* push to itk-gerrit

Revision as of 03:49, 7 August 2011

Improving DICOM Support

Goals

Improve the support for DICOM in ITK

  1. DICOM communication layer (a.k.a. PACS support, DICOM Protocol)
  2. Streaming
  3. Read and write RTStruct
  4. type checking
  5. minimum DICOM skeleton generation

other requests from the ITK community

handling of higher order manifold as described in DICOM standard

handling of DICOMDIR format disk archives (navneeth)

  • Unlike a standard dicom series (located in a single directory) the DICOMDIR format spreads files across directories
  • A reader that reads the DICOMDIR file and parses appropriate files & directories is desirable

Development process

The idea is to simplify the maintenance in the future:

  • update included version of gdcm
  • synchronise included version and gdcm proper
  • send the patches upstream

To do this, we forked a version of gdcm in github to use for integration and maintenance in iTK v4 (https://github.com/ComplexSystemsModeling/GDCM). This fork will get all the modifications and patches from ITK, and will let us easily send them upstream. Builds for ITK using this fork and the original gdcm (https://github.com/malaterre/GDCM) have been set up. Eventually there will be three kinds of itk/gdcm builds on the dashboard:

  • ITK with included gdcm
  • ITK with SYSTEM_GDCM using our fork
  • ITK with SYSTEM_GDCM using gdcm proper

Modifications should go to our fork of gdcm first, so we expect the ITK with GDCM FORK to be the greenest. Then, we should transfer those to ITK, and eventually upstream.

dev process:

  • modify code (this can be either in ITK or in GDCM FORK, depending on the modification)
  • (re) install GDCM FORK on the system (as ITK does not work with a build tree of gdcm)
  • check ITK with GDCM FORK (local-experimental-nightly)
  • push to itk-gerrit
  • check ITK proper builds
  • gerrit merge

That means, developers need to maintain both a SYSTEM GDCM FORK build and an ITK build locally.

Discussions and Brainstorming

Discussions about PACS Support

Discussion about Streaming

  • JPEG2000

Discussion about RT-Struct

TCons

Meeting