Difference between revisions of "2010 Winter Project Week Qt-ing the Command Line Module"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(10 intermediate revisions by one other user not shown)
Line 2: Line 2:
 
<gallery>
 
<gallery>
 
Image:PW-SLC2010.png|[[2010_Winter_Project_Week#Projects|Projects List]]
 
Image:PW-SLC2010.png|[[2010_Winter_Project_Week#Projects|Projects List]]
Image:genuFAp.jpg|Scatter plot of the original FA data through the genu of the corpus callosum of a normal brain.
+
Image:ExectionModelTourGUI.png|Command line module with a KWWidget-base GUI.
Image:genuFA.jpg|Regression of FA data; solid line represents the mean and dotted lines the standard deviation.
+
Image:Qtlogo.png|Qt.
 
</gallery>
 
</gallery>
  
 
==Key Investigators==
 
==Key Investigators==
* UNC: Isabelle Corouge, Casey Goodlett, Guido Gerig
+
* GE: Jim Miller
* Utah: Tom Fletcher, Ross Whitaker
+
* Kitware: Jean-Christophe Fillion-Robin, Julien Finet
  
 
<div style="margin: 20px;">
 
<div style="margin: 20px;">
Line 14: Line 14:
  
 
<h3>Objective</h3>
 
<h3>Objective</h3>
We are developing methods for analyzing diffusion tensor data along fiber tracts. The goal is to be able to make statistical group comparisons with fiber tracts as a common reference frame for comparison.
+
Port the CommandLineModule infrastructure for automatic GUI construction to Qt.
 
 
  
  
Line 27: Line 26:
 
<h3>Approach, Plan</h3>
 
<h3>Approach, Plan</h3>
  
Our approach for analyzing diffusion tensors is summarized in the IPMI 2007 reference below. The main challenge to this approach is <foo>.
+
The CommandLineModule uses a data specification in XML to define the inputs and outputs of a module. The module automatically constructs a user interface that interacts with the MRML scene using this data specification.  Historically, the module has used KWWidgets and Slicer specific widgets for all user interface components.
 +
 
 +
Porting the CommandLineModule to Qt involves:
 +
* Automatic GUI generation using Qt in places of KWWidgets
 +
* Populate GUI with values from MRML
 +
* Callback process to populate MRML from GUI
  
Our plan for the project week is to first try out <bar>,...
+
This port is already under way and we will use the week to identify anything that would need to change in the underlying CommandLineModuleLogic as well as refine and extend the GUI construction and interaction.
  
 
</div>
 
</div>
Line 36: Line 40:
  
 
<h3>Progress</h3>
 
<h3>Progress</h3>
Software for the fiber tracking and statistical analysis along the tracts has been implemented. The statistical methods for diffusion tensors are implemented as ITK code as part of the [[NA-MIC/Projects/Diffusion_Image_Analysis/DTI_Software_and_Algorithm_Infrastructure|DTI Software Infrastructure]] project. The methods have been validated on a repeated scan of a healthy individual. This work has been published as a conference paper (MICCAI 2005) and a journal version (MEDIA 2006). Our recent IPMI 2007 paper includes a nonparametric regression method for analyzing data along a fiber tract.
+
 
 +
Met with JC:
 +
* GUI is constructed
 +
* Presented  the architecture for CLI execution
 +
* Walked through the logic code
 +
* JC refactoring the logic code to break up the N-thousand line method
 +
* Plan to use signal/slots to communicate between the main thread and processing thread
 +
** Modified, Render, ReadData, DeleteFile, ...
  
  
Line 45: Line 56:
  
 
==References==
 
==References==
*Fletcher P, Tao R, Jeong W, Whitaker R. [http://www.na-mic.org/publications/item/view/634 A volumetric approach to quantifying region-to-region white matter connectivity in diffusion tensor MRI.] Inf Process Med Imaging. 2007;20:346-358. PMID: 17633712.
+
*[https://www.slicer.org/wiki/Slicer3:Execution_Model_Documentation Execution Model Documentation]
* Corouge I, Fletcher P, Joshi S, Gouttard S, Gerig G. [http://www.na-mic.org/publications/item/view/292 Fiber tract-oriented statistics for quantitative diffusion tensor MRI analysis.] Med Image Anal. 2006 Oct;10(5):786-98. PMID: 16926104.
+
*[https://www.slicer.org/wiki/Qt_in_Slicer3 Qt in Slicer3]
* Corouge I, Fletcher P, Joshi S, Gilmore J, Gerig G. [http://www.na-mic.org/publications/item/view/1122 Fiber tract-oriented statistics for quantitative diffusion tensor MRI analysis.] Int Conf Med Image Comput Comput Assist Interv. 2005;8(Pt 1):131-9. PMID: 16685838.
+
*[http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer QtSlicer]
* Goodlett C, Corouge I, Jomier M, Gerig G, A Quantitative DTI Fiber Tract Analysis Suite, The Insight Journal, vol. ISC/NAMIC/ MICCAI Workshop on Open-Source Software, 2005, Online publication: http://hdl.handle.net/1926/39 .
+
*[http://qt.nokia.com/ Qt]
 
 
 
</div>
 
</div>

Latest revision as of 17:43, 10 July 2017

Home < 2010 Winter Project Week Qt-ing the Command Line Module

Key Investigators

  • GE: Jim Miller
  • Kitware: Jean-Christophe Fillion-Robin, Julien Finet

Objective

Port the CommandLineModule infrastructure for automatic GUI construction to Qt.



Approach, Plan

The CommandLineModule uses a data specification in XML to define the inputs and outputs of a module. The module automatically constructs a user interface that interacts with the MRML scene using this data specification. Historically, the module has used KWWidgets and Slicer specific widgets for all user interface components.

Porting the CommandLineModule to Qt involves:

  • Automatic GUI generation using Qt in places of KWWidgets
  • Populate GUI with values from MRML
  • Callback process to populate MRML from GUI

This port is already under way and we will use the week to identify anything that would need to change in the underlying CommandLineModuleLogic as well as refine and extend the GUI construction and interaction.

Progress

Met with JC:

  • GUI is constructed
  • Presented the architecture for CLI execution
  • Walked through the logic code
  • JC refactoring the logic code to break up the N-thousand line method
  • Plan to use signal/slots to communicate between the main thread and processing thread
    • Modified, Render, ReadData, DeleteFile, ...