Difference between revisions of "2012 Winter Project Week:RTTools"
From NAMIC Wiki
(13 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
<gallery> | <gallery> | ||
− | Image:PW- | + | Image:PW-SLC2012.png|[[2012_Winter_Project_Week#Projects|Projects List]] |
− | Image:DVH_in_Slicer.png| | + | Image:DVH_in_Slicer.png|DVH chart in Slicer4<br>(Summer 2011 result) |
+ | Image:Screenshot_Before_After_DICOMModule_KGH_Prostate.png|DICOM Database improvements for RT | ||
+ | Image:Screenshot_DicomRtImport_3D_KGH_Prostate_wSlice.png|3D view of loaded RT Structure Sets in Slicer4 | ||
</gallery> | </gallery> | ||
+ | |||
+ | ==Background== | ||
+ | We propose to extend 3D Slicer to support RT research under the Software Platform and Adaptive Radiotherapy Kit ([http://www.assembla.com/spaces/sparkit SparKit]) project. | ||
+ | OCAIRO investigators we have [https://www.assembla.com/spaces/sparkit/wiki/20111130_Meeting_with_OCAIRO_PIs identified] some of the key features required from a 3D Slicer based RT research platform. | ||
+ | This project week we are going to finish integrating our first new feature to Slicer4 - the import of DICOM RT datasets. | ||
==Key Investigators== | ==Key Investigators== | ||
Line 14: | Line 21: | ||
<h3>Objective</h3> | <h3>Objective</h3> | ||
− | + | * Add DICOM-RT import functionality to Slicer4 | |
− | + | * Outline the data format in which the structure set is stored | |
+ | * Test it on the most real-life datasets possible | ||
</div> | </div> | ||
Line 22: | Line 30: | ||
<h3>Approach, Plan</h3> | <h3>Approach, Plan</h3> | ||
− | + | * Utilize new DCMTK (that contains DCMRT) in CTK | |
+ | * Convert internal DCMRT structures to MRML nodes (models, labelmaps, etc.) | ||
+ | * Apply necessary GUI changes that are needed for RT import in CTK | ||
</div> | </div> | ||
Line 29: | Line 39: | ||
<h3>Progress</h3> | <h3>Progress</h3> | ||
− | + | * Slicer4 build OK | |
− | + | * Sample data collected | |
+ | * DCMRT build in Slicer OK | ||
+ | * [[2012_Winter_Project_Week_DICOM_RT_Breakout|Discussion]] about common needs, priorities and design regarding DICOM RT and SR support in Slicer4 | ||
+ | * Retrieval of RT tags into DICOM module database (see [http://www.na-mic.org/Wiki/index.php/File:Screenshot_Before_After_DICOMModule_KGH_Prostate.png screenshot]) | ||
+ | * New hidden DicomRtImport loadable module that is called when importing any DICOM object. It tryes to load it first as RT then passes to the Volumes module's loader | ||
+ | ** Improvement needed: DICOMIOFactory - a DICOM importer module has to register into this, and when loading a DICOM file, it decides which one to call | ||
+ | * Create ribbon models from the found RT Structure Sets and add them in the Slicer Scene as new MRML nodes. The name and color is also set (see [http://www.na-mic.org/Wiki/index.php/File:Screenshot_DicomRtImport_3D_KGH_Prostate_wSlice.png screenshot]) | ||
+ | *<b>Next step:</b> | ||
+ | ** TCon preparing for meetings with DCMTK and CTK personnel<br>Week of Jan 16-20, who is interested in participating, please sign up <b>[[2012_Winter_Project_Week_DICOM_RT_Breakout#Follow-up_meeting|here]]</b> | ||
</div> | </div> | ||
Line 36: | Line 54: | ||
<div style="width: 97%; float: left;"> | <div style="width: 97%; float: left;"> | ||
+ | |||
+ | ==Detailed plan== | ||
+ | * Create an extension module: DicomRtImport (Csaba) | ||
+ | * Call a method of the DicomRtImport module when the user requests DICOM object loading. Method's input: UID. If the method finds a structure set then it adds it to the scene. (Csaba) | ||
+ | * Create a VTK filter that can read structure set from a DICOM-RT structure set and has a vtkPolyData output (Kevin) | ||
+ | * Integrate the VTK filter into the DicomRtImport module (Kevin) | ||
+ | * Add the vtkPolyData to the scene as a MRML model node (Kevin/Csaba) | ||
+ | * Discuss DicomPlugin interface with Steve: | ||
+ | ** The module should not be visible for the user in the usual module list (it should show up somehow in the DICOM module) | ||
+ | ** Data discovery: | ||
+ | *** Module input: UID, reference to the DICOM database | ||
+ | *** Module output: list of data it can read from the object | ||
+ | ** Data import: | ||
+ | *** Module input: UID, reference to the DICOM database, name of data to be loaded | ||
+ | *** Module output: MRML nodes imported into the scene | ||
+ | * Data Export: | ||
+ | ** Track UIDs as image metadata (??) | ||
+ | ** Write export plugin (Sharp) | ||
+ | * Validation: | ||
+ | ** Assemble data sets from different vendors | ||
==Delivery Mechanism== | ==Delivery Mechanism== | ||
− | This work will be delivered to the NA-MIC Kit as a | + | This work will be delivered to the NA-MIC Kit as a <b>Slicer loadable module</b>. |
− | + | The source code is available in the following locations: | |
− | + | *Slicer core changes (SVN): http://svn.slicer.org/Slicer4/branches/SlicerRT | |
− | + | *CTK changes (GIT): https://github.com/SlicerRt/CTK | |
− | + | *RT import module (SVN): https://subversion.assembla.com/svn/sparkit/ | |
− | |||
− | |||
− | |||
==References== | ==References== | ||
+ | * [https://www.assembla.com/spaces/sparkit/wiki SparKit project wiki] | ||
+ | * [http://www.dcmtk.org/ DCMTK] | ||
+ | * [http://support.dcmtk.org/wiki/dcmrt/start DCMRT], [http://blog.jriesmeier.com/2011/04/when-dcmrt-released/ when it will be released] | ||
+ | * [http://plastimatch.org/ Plastimatch] | ||
+ | * [ftp://medical.nema.org/medical/dicom/2011/ DICOM standard] | ||
</div> | </div> |
Latest revision as of 00:57, 13 January 2012
Home < 2012 Winter Project Week:RTToolsBackground
We propose to extend 3D Slicer to support RT research under the Software Platform and Adaptive Radiotherapy Kit (SparKit) project. OCAIRO investigators we have identified some of the key features required from a 3D Slicer based RT research platform. This project week we are going to finish integrating our first new feature to Slicer4 - the import of DICOM RT datasets.
Key Investigators
- Queen's University: Csaba Pinter, Andras Lasso
- Toronto UHN: Kevin Wang
- MGH: Greg Sharp
Objective
- Add DICOM-RT import functionality to Slicer4
- Outline the data format in which the structure set is stored
- Test it on the most real-life datasets possible
Approach, Plan
- Utilize new DCMTK (that contains DCMRT) in CTK
- Convert internal DCMRT structures to MRML nodes (models, labelmaps, etc.)
- Apply necessary GUI changes that are needed for RT import in CTK
Progress
- Slicer4 build OK
- Sample data collected
- DCMRT build in Slicer OK
- Discussion about common needs, priorities and design regarding DICOM RT and SR support in Slicer4
- Retrieval of RT tags into DICOM module database (see screenshot)
- New hidden DicomRtImport loadable module that is called when importing any DICOM object. It tryes to load it first as RT then passes to the Volumes module's loader
- Improvement needed: DICOMIOFactory - a DICOM importer module has to register into this, and when loading a DICOM file, it decides which one to call
- Create ribbon models from the found RT Structure Sets and add them in the Slicer Scene as new MRML nodes. The name and color is also set (see screenshot)
- Next step:
- TCon preparing for meetings with DCMTK and CTK personnel
Week of Jan 16-20, who is interested in participating, please sign up here
- TCon preparing for meetings with DCMTK and CTK personnel
Detailed plan
- Create an extension module: DicomRtImport (Csaba)
- Call a method of the DicomRtImport module when the user requests DICOM object loading. Method's input: UID. If the method finds a structure set then it adds it to the scene. (Csaba)
- Create a VTK filter that can read structure set from a DICOM-RT structure set and has a vtkPolyData output (Kevin)
- Integrate the VTK filter into the DicomRtImport module (Kevin)
- Add the vtkPolyData to the scene as a MRML model node (Kevin/Csaba)
- Discuss DicomPlugin interface with Steve:
- The module should not be visible for the user in the usual module list (it should show up somehow in the DICOM module)
- Data discovery:
- Module input: UID, reference to the DICOM database
- Module output: list of data it can read from the object
- Data import:
- Module input: UID, reference to the DICOM database, name of data to be loaded
- Module output: MRML nodes imported into the scene
- Data Export:
- Track UIDs as image metadata (??)
- Write export plugin (Sharp)
- Validation:
- Assemble data sets from different vendors
Delivery Mechanism
This work will be delivered to the NA-MIC Kit as a Slicer loadable module. The source code is available in the following locations:
- Slicer core changes (SVN): http://svn.slicer.org/Slicer4/branches/SlicerRT
- CTK changes (GIT): https://github.com/SlicerRt/CTK
- RT import module (SVN): https://subversion.assembla.com/svn/sparkit/