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

From NAMIC Wiki
Jump to: navigation, search
Line 10: Line 10:
  
 
= Work in Progress =
 
= Work in Progress =
 +
''What you have done so far should be <del style="color:gray;">striked and gray colored</del>''<br>
 +
''What you have done this week should be <del>sriked''</del><br>
 
''What do you plan to do this week''
 
''What do you plan to do this week''
  
 
== Kilian ==
 
== Kilian ==
* <del>Review [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#List_of_Widgets_and_associated_panels_.28ordered_by_priority.29|list of widget]] and prioritize.</del>
+
* <del style="color:gray;">Review [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#List_of_Widgets_and_associated_panels_.28ordered_by_priority.29|list of widget]] and prioritize.</del>
  
 
== Sebastien ==
 
== Sebastien ==
Line 22: Line 24:
  
 
== Jc ==
 
== Jc ==
* <del>Create initial directory structure and QtModule skeleton.</del> See [http://viewvc.slicer.org/viewcvs.cgi?view=rev&rev=14138 14138]
+
* <del style="color:gray;">Create initial directory structure and QtModule skeleton.</del> See [http://viewvc.slicer.org/viewcvs.cgi?view=rev&rev=14138 14138]
* <del>Review UI - Added help and button (next, back, etc..)</del> See [http://viewvc.slicer.org/viewcvs.cgi?view=rev&rev=14195 14195]
+
* <del style="color:gray;">Review UI - Added help and button (next, back, etc..)</del> See [http://viewvc.slicer.org/viewcvs.cgi?view=rev&rev=14195 14195]
* <del>Write down Developer page</del>
+
* <del style="color:gray;">Write down Developer page</del>
* <del>Milestones for project at next weeks meeting</del>. See [[Projects:ARRA:SlicerEM:Developer#Milestones]]
+
* <del style="color:gray;">Milestones for project at next weeks meeting</del>. See [[Projects:ARRA:SlicerEM:Developer#Milestones]]
* <del>Review which widgets should be converted.</del> See [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort]]
+
* <del style="color:gray;">Review which widgets should be converted.</del> See [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort]]
* <del>Convert EMSegment/{Algorithm,Graph,MRML,Registration} to shared library.</del> See [http://viewvc.slicer.org/viewcvs.cgi?rev=14245&view=rev 14245], [http://viewvc.slicer.org/viewcvs.cgi?rev=14248&view=rev 14428], [http://viewvc.slicer.org/viewcvs.cgi?rev=14258&view=rev 14258]
+
* <del style="color:gray;">Convert EMSegment/{Algorithm,Graph,MRML,Registration} to shared library.</del> See [http://viewvc.slicer.org/viewcvs.cgi?rev=14245&view=rev 14245], [http://viewvc.slicer.org/viewcvs.cgi?rev=14248&view=rev 14428], [http://viewvc.slicer.org/viewcvs.cgi?rev=14258&view=rev 14258]
 
* <del>Update QtModule to use EMSegment libraries.</del> See [http://viewvc.slicer.org/viewcvs.cgi?rev=14250&view=rev 14250], [http://viewvc.slicer.org/viewcvs.cgi?view=rev&rev=14251 14251]
 
* <del>Update QtModule to use EMSegment libraries.</del> See [http://viewvc.slicer.org/viewcvs.cgi?rev=14250&view=rev 14250], [http://viewvc.slicer.org/viewcvs.cgi?view=rev&rev=14251 14251]
 
* <del>Setup a priority list for the widget for Kilian to edit</del>. See [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#List_of_Widgets_and_associated_panels_.28ordered_by_priority.29|List of widget to prioritize]]
 
* <del>Setup a priority list for the widget for Kilian to edit</del>. See [[Projects:ARRA:SlicerEM:Developer:WidgetsToPort#List_of_Widgets_and_associated_panels_.28ordered_by_priority.29|List of widget to prioritize]]
Line 38: Line 40:
  
 
== Danielle ==
 
== Danielle ==
* <del>Get familiar with Git and how to contribute to CTK</del>
+
* <del style="color:gray;">Get familiar with Git and how to contribute to CTK</del>
* <del>Evaluate QtStateMachine and identify what are its limitation</del>
+
* <del style="color:gray;">Evaluate QtStateMachine and identify what are its limitation</del>
 
* <del>Develop the skeleton / API of the ctkWorkflowManager / ctkWorkflowStep / ctkWorkflowWidget</del>
 
* <del>Develop the skeleton / API of the ctkWorkflowManager / ctkWorkflowStep / ctkWorkflowWidget</del>
 
* support for jumping directly to a final step
 
* support for jumping directly to a final step

Revision as of 14:18, 28 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 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

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 / ctkWorkflowWidget
  • support for jumping directly to a final step
  • support in Qt Designer
  • testing for ctkWorkflowManager / ctkWorkflowStep / ctkWorkflowWidget
  • example for using the workflow manager
  • Clean up code, documentation

Team meeting

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

Coming

Past

Milestones

Please note that the current list may be refined

  • 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