Projects:ARRA:SlicerEM:Developer
From NAMIC Wiki
Home < Projects:ARRA:SlicerEM:Developer
Contents
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
Review list of widget and prioritize.
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
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, 14251Setup a priority list for the widget for Kilian to edit. See List of widget to prioritize- Define a clear agenda for the August 9th meeting
Updated logic to initialize properly. See 14353- Design static UI panel
Created corresponding UI files, header and cxx files.See 14350Port Task selector to Qt. See TaskSelector- Port dynamic list of Input Channels to Qt. See DynamicListOfInputChannel
Danielle
Get familiar with Git and how to contribute to CTKEvaluate QtStateMachine and identify what are its limitationDevelop the skeleton / API of the ctkWorkflowManager / ctkWorkflowStep / ctkWorkflowWidgetImplement 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
- 7/27/2010 - Meeting / Weekly meeting #2
- 8/9/2010 - Meeting / Midterm meeting with Kilian
Past
- 7/20/2010 - Meeting / Weekly meeting #1
- 7/14/2010 - WorkflowManager meeting
- 7/8/2010 - Kickoff meeting
Milestones
Please note that the current list may be refined
- July 16th
Create QtModule skeletonWrite developer documentation
- July 23th
Factor out EMSegment{Algorithm, Graph, MRML, Registration} librariesWorkflow manager: Class skeletons (ctkWorkflowManager, ctkWorkflowStep)
- July 30th
- Port:
TaskSelector, Segmentation_Mode,InputChannelSelector, DynamicListOfInputChannel, NodeAttributes, ProbabilityMapSelector - Panel: Define Task, Define Input Channel (static version)
- Port:
- August 6th
- Port: AnatomicalTree 50%, AtlasToInputRegistration
- Panel: Define preprocessing
- August 13th
- Port: AnatomicalTree 100%, IntensityDistribution, ColorMapViewOnly, Colormap selector
- 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, StoppingConditionsEditor
- Panel: Integrate Manual sampling to Define Anatomical tree panel
- August 27th
- Port: WorkingDirSelector, ClassWeightsOverview, OutputLabelMapSelector
- 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:
- PrintConfig
- AdvancedNodeParameterEditor
- 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
- 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>