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/")
 
(9 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==
 
* GE: Jim Miller
 
* GE: Jim Miller
* Kitware: Juliens
+
* Kitware: Jean-Christophe Fillion-Robin, Julien Finet
  
 
<div style="margin: 20px;">
 
<div style="margin: 20px;">
Line 28: Line 28:
 
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.
 
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 involve:
+
Porting the CommandLineModule to Qt involves:
 
* Automatic GUI generation using Qt in places of KWWidgets
 
* Automatic GUI generation using Qt in places of KWWidgets
 
* Populate GUI with values from MRML
 
* Populate GUI with values from MRML
 
* Callback process to populate MRML from GUI
 
* Callback process to populate MRML from GUI
  
This port is already under way and we will use the week to refine and extend.
+
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 41: Line 41:
 
<h3>Progress</h3>
 
<h3>Progress</h3>
  
 +
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 49: 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, ...