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

From NAMIC Wiki
Jump to: navigation, search
Line 56: Line 56:
 
* July 30th
 
* July 30th
 
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#TaskSelector|TaskSelector]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#Segmentation_Mode|Segmentation_Mode]],[[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#InputChannel_selector|InputChannelSelector]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#NodeAttributes|NodeAttributes]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ProbabilityMapSelector|ProbabilityMapSelector]]
 
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#TaskSelector|TaskSelector]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#Segmentation_Mode|Segmentation_Mode]],[[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#InputChannel_selector|InputChannelSelector]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#NodeAttributes|NodeAttributes]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ProbabilityMapSelector|ProbabilityMapSelector]]
** Panel: Define Task, Define Input Channel (static version)
+
** Panel: '''Define Task''', '''Define Input Channel''' (static version)
  
 
* 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#IntensityDistribution|IntensityDistribution]]
** 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]]
 
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AnatomicalTree|AnatomicalTree 100%]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AtlasToInputRegistration|AtlasToInputRegistration]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ColorMapViewOnly|ColorMapViewOnly]]
 
** Workflow manager: Start integration with Static UI Panel
 
** Workflow manager: Start integration with Static UI Panel
** Panel: Define Anatomical tree, 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)
  
 
* August 20th
 
* August 20th
 
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ManualSampling| ManualSampling]],[[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#WeightEditor| WeightEditor]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#PrintConfig| PrintConfig]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#StoppingConditionsEditor|  StoppingConditionsEditor]]
 
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ManualSampling| ManualSampling]],[[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#WeightEditor| WeightEditor]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#PrintConfig| PrintConfig]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#StoppingConditionsEditor|  StoppingConditionsEditor]]
 +
** Panel: Integrate Manual sampling to '''Define Anatomical tree''' panel
  
 
* August 27th
 
* August 27th
 
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#WorkingDirSelector| WorkingDirSelector]],[[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ClassWeightsOverview| ClassWeightsOverview]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#OutputLabelMapSelector| OutputLabelMapSelector]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AdvancedNodeParameterEditor| AdvancedNodeParameterEditor]]
 
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#WorkingDirSelector| WorkingDirSelector]],[[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ClassWeightsOverview| ClassWeightsOverview]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#OutputLabelMapSelector| OutputLabelMapSelector]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AdvancedNodeParameterEditor| AdvancedNodeParameterEditor]]
 
** Workflow manager: Complete integration
 
** Workflow manager: Complete integration
** Panel: Edit node-based parameters (Need to define exactly content of Advanced Tab)
+
** Panel: '''Edit node-based parameters''' (Need to define exactly content of Advanced Tab)
  
 
* September 3rd
 
* September 3rd
** Port:  
+
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#VOIEditor| VOIEditor]]
** Panel: Run segmentation
+
** Panel:Run segmentation
 
** Green dashboard expected
 
** Green dashboard expected
  

Revision as of 19:53, 20 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 do you plan to do this week

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]

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

Team meeting

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

Coming

Past

Milestones

  • 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

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