Difference between revisions of "Projects:ARRA:SlicerEM:Developer"
From NAMIC Wiki
m (→Milestones) |
|||
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, | + | ** 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:DeveloperContents
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
Create initial directory structure and QtModule skeleton.See 14138Review UI - Added help and button (next, back, etc..)See 14195Write down Developer pageMilestones for project at next weeks meeting. See Projects:ARRA:SlicerEM:Developer#MilestonesReview which widgets should be converted.See Projects:ARRA:SlicerEM:Developer:WidgetsToPortConvert EMSegment/{Algorithm,Graph,MRML,Registration} to shared library.See 14245, 14428, 14258Update QtModule to use EMSegment libraries.See 14250, 14251- Design static UI panel
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
- 7/20/2010 - Meeting / Weekly meeting #1
- 8/9/2010 - Meeting / Midterm meeting with Kilian
Past
- 7/14/2010 - WorkflowManager meeting
- 7/8/2010 - Kickoff meeting
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)
- July 30th
- Port: TaskSelector, Segmentation_Mode,InputChannelSelector, NodeAttributes, ProbabilityMapSelector
- Panel: Define Task, Define Input Channel (static version)
- August 6th
- Port: AnatomicalTree 50%, IntensityDistribution
- Panel: Define preprocessing
- August 13th
- Port: AnatomicalTree 100%, AtlasToInputRegistration, ColorMapViewOnly
- Workflow manager: Start integration with Static UI Panel
- Panel: Define Anatomical tree, Edit registration parameter, Specify intensity distribution (without Manual sampling)
- August 20th
- Port: ManualSampling, WeightEditor, PrintConfig, StoppingConditionsEditor
- Panel: Integrate Manual sampling to Define Anatomical tree panel
- August 27th
- Port: WorkingDirSelector, ClassWeightsOverview, OutputLabelMapSelector, AdvancedNodeParameterEditor
- Workflow manager: Complete integration
- Panel: Edit node-based parameters (Need to define exactly content of Advanced Tab)
- September 3rd
- Port: VOIEditor
- Panel:Run segmentation
- Green dashboard expected
- September 10th
- Polish
- Review Doxygen, Style
- If time permit:
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
- Refer to the follow document: http://www.commontk.org/index.php/Contributing_to_CTK.
- WorkflowManager code should be added to ctkWorkflowManager branch.
- That branch has been created on http://github.com/jcfr/CTK.
- See [3] to obtain details on how to checkout a branch from a different fork
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>
- Make sure you set the following options
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>