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

From NAMIC Wiki
Jump to: navigation, search
Line 52: Line 52:
 
* July 23th
 
* July 23th
 
** Factor out EMSegment{Algorithm, Graph, MRML, Registration} libraries
 
** Factor out EMSegment{Algorithm, Graph, MRML, Registration} libraries
 +
** Workflow manager: Class skeletons (ctkWorkflowManager, ctkWorkflowStep)
  
 
* 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]]
  
 
* August 6th
 
* August 6th
**  
+
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#TaskSelector TaskSelector]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AnatomicalTree AnatomicalTree 50%]]
  
 
* August 13th
 
* August 13th
 +
* Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#TaskSelector TaskSelector]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AnatomicalTree AnatomicalTree 100%]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#AtlasToInputRegistration AtlasToInputRegistration]]
 +
** Workflow manager: Integration with Static UI Panel
  
 
* August 20th
 
* August 20th
 +
** Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#IntensityDistribution IntensityDistribution]], [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#IntensityDistribution IntensityDistribution]]
  
 
* August 27th
 
* August 27th
 +
* Port: [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#ColorMapViewOnly ColorMapViewOnly]]
  
 
* September 3rd
 
* September 3rd
Line 71: Line 76:
 
** Polish
 
** Polish
 
** Review Doxygen, Style
 
** Review Doxygen, Style
 +
 +
* If time permit:
 +
** [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#DynamicListOfInputChannel  DynamicListOfInputChannel]]
  
 
= Project components =
 
= Project components =

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