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)
  
 
* August 6th
 
* August 6th
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#TaskSelector|TaskSelector]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AnatomicalTree|AnatomicalTree 50%]]
+
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AnatomicalTree|AnatomicalTree 50%]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#IntensityDistribution|IntensityDistribution]]
 +
** Panel: Define preprocessing
  
 
* August 13th
 
* August 13th
* Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AnatomicalTree|AnatomicalTree 100%]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AtlasToInputRegistration|AtlasToInputRegistration]]
+
** 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: 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)
  
 
* August 20th
 
* August 20th
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#IntensityDistribution|IntensityDistribution]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#IntensityDistribution|IntensityDistribution]]
+
** 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]]
  
 
* August 27th
 
* August 27th
* Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ColorMapViewOnly|ColorMapViewOnly]]
+
** 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
 +
** Panel: Edit node-based parameters (Need to define exactly content of Advanced Tab)
  
 
* September 3rd
 
* September 3rd
 +
** Port:
 +
** Panel: Run segmentation
 
** Green dashboard expected
 
** Green dashboard expected
  

Revision as of 19:52, 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:
    • 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