Difference between revisions of "Projects:ARRA:SlicerEM:Developer"

From NAMIC Wiki
Jump to: navigation, search
Line 85: Line 85:
  
 
* August 6th
 
* August 6th
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AnatomicalTree|AnatomicalTree 50%]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#IntensityDistribution|IntensityDistribution]]
+
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AnatomicalTree|AnatomicalTree 50%]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AtlasToInputRegistration|AtlasToInputRegistration]]
 
** Panel: '''Define preprocessing'''
 
** Panel: '''Define preprocessing'''
  
 
* August 13th
 
* August 13th
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AnatomicalTree|AnatomicalTree 100%]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AtlasToInputRegistration|AtlasToInputRegistration]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ColorMapViewOnly|ColorMapViewOnly]],  [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#Colormap selector|Colormap selector]]
+
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AnatomicalTree|AnatomicalTree 100%]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#IntensityDistribution|IntensityDistribution]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ColorMapViewOnly|ColorMapViewOnly]],  [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#Colormap selector|Colormap selector]]
 
** Workflow manager: Start integration with Static UI Panel
 
** Workflow manager: Start integration with Static UI Panel
 
** Panel: '''Define Anatomical tree''', '''Edit registration parameter''', '''Specify intensity distribution''' (without Manual sampling)
 
** Panel: '''Define Anatomical tree''', '''Edit registration parameter''', '''Specify intensity distribution''' (without Manual sampling)

Revision as of 15:50, 28 July 2010

Home < Projects:ARRA:SlicerEM:Developer

Back to SlicerEM page

Kitware Team

  • Sebastien Barre - Workflow manager - 50%
  • Julien Finet - Chart/Plot export - work in // with vtkChart folks - 10%
  • Jean-Christophe Fillion-Robin (Project Lead) - Infrastructure / Python - 50%
  • Danielle Pace - Workflow manager - 100%

Unassigned Items

lists tasks that need to be done

Work in Progress

What you have done so far should be striked and gray colored
What you have done this week should be sriked
What do you plan to do this week

Kilian

Sebastien

  • Work with Danielle on the workflow manager

Julien

  • Discuss with vtkChart folks and see how existing CTK Charting [1] classes can be moved to VTKChart [2]
  • Marcus (Kitware Inc.) has finished a pass on the design of vtkCharts (VTK trunk).
  • A local branch (github.com/finetjul/VTK) has been forked.
  • Added minor improvements/bug fixes into the VTK charts (on wait for contributing back to VTK trunk).

Jc

Danielle

  • Get familiar with Git and how to contribute to CTK
  • Evaluate QtStateMachine and identify what are its limitation
  • Develop the skeleton / API of the ctkWorkflowManager / ctkWorkflowStep / ctkWorkflowWidget
  • Implement core functionality of ctkWorkflowManager / ctkWorkflowStep / ctkWorkflowWidget
  • Additional required functionality in ctkWorkflowManager / ctkWorkflowStep / ctkWorkflowWidget:
    • support for jumping directly to a final step
  • ctkWorkflowWidgets based on QDialog
  • ctkWorkflowWidget convenience class with integrated Back/Next/Finish buttons
  • support in Qt Designer
  • testing for ctkWorkflowManager / ctkWorkflowStep / ctkWorkflowWidget
  • example for using the workflow manager
  • Clean up code, documentation. See WorkflowManager

Team meeting

lists the team meeting and includes a pointer to the associated notes

Coming

Past

Milestones

Please note that the current list may be refined

  • July 16th
    • Create QtModule skeleton
    • Write developer documentation
  • July 23th
    • Factor out EMSegment{Algorithm, Graph, MRML, Registration} libraries
    • Workflow manager: Class skeletons (ctkWorkflowManager, ctkWorkflowStep)
  • September 3rd
    • Port: VOIEditor
    • Panel:Run segmentation
    • Green dashboard expected
  • September 10th
    • Polish
    • Review Doxygen, Style
  • If time permit:
    • Graph, Dynamic panel

Project components

Development environment

Contributing to CTK

  • Each developer should fork CTK official repository (github.com/commontk/CTK). Doing so will allow to:
    • backup its work before integration with CTK master.
    • publish and share its work
  • WorkflowManager code should be added to ctkWorkflowManager branch.

Working on Slicer / CTK in parallel

  • Step1: Build slicer following these instruction. Enable both Slicer3_USE_KWWIDGETS and Slicer3_USE_QT.
  • Step2: Create a github user [4] and fork CTK (http://github.com/commontk/CTK).
  • Step3: Build CTK - See these instructions - Consider also the instruction below to configure CTK as expected by Slicer
    • Make sure you set the following options
      • PluginFramework should be disable: CTK_LIB_PluginFramework:BOOL=OFF and CTK_PLUGIN_org.commontk.eventbus:BOOL=OFF
      • Enable VTK: CTK_LIB_Visualization/VTK/Widgets:BOOL=ON, VTK_DIR:PATH=<SlicerVTK_Binary_DIR>
cd MyProjects
git clone http://github.com/me/CTK
mkdir CTK-Superbuild
cd CTK-Superbuild
ccmake -DCTK_LIB_PluginFramework:BOOL=OFF -DCTK_PLUGIN_org.commontk.eventbus:BOOL=OFF -DCTK_LIB_Visualization/VTK/Widgets:BOOL=ON -DVTK_DIR:PATH=/home/me/MyProjects/Slicer3-SuperBuild/VTK-build ../CTK
make
  • Step4: Re-configure slicer4 passing CTK_DIR
cd MyProjects/Slicer3-Superbuild
ccmake -DCTK_DIR:PATH=/home/me/MyProjects/CTK-Superbuild .

EMSegment source code

  • The name of the Qt module is EMSegment.
  • The associated source code, hosted on slicer3 repository (trunk) is located in the following directory: <SRC>/QTModules/EMSegment
  • Every commit related to EMSegment should be prefixed with either:
    • ENH: EMSegment - <Message summary>
    • COMP: EMSegment - <Message summary>
    • BUG: EMSegment - <Message summary>
    • STYLE: EMSegment - <Message summary>

Coding Style

Future idea / improvements