2010 Winter Project Week Qt-ing the Command Line Module

From NAMIC Wiki
Jump to: navigation, search
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, ...