Difference between revisions of "Slicer3:Transition of Slicer2.x Modules"

From Slicer Wiki
Jump to: navigation, search
m (Update from Wiki)
 
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== Summary Page ==
 
== Summary Page ==
  
[[AHM_2006:ProjectsSlicerModuleTransition|Goal/Questions/Answers slide from AHM 2006]]
+
[http://www.na-mic.org/Wiki/index.php/AHM_2006:ProjectsSlicerModuleTransition Goal/Questions/Answers slide from AHM 2006]
  
 
== Plan of Attack ==
 
== Plan of Attack ==
Line 10: Line 10:
 
** Compiling with changes to the C++ code, maintaining backward compatibility with VTK 4.x and Slicer 2
 
** Compiling with changes to the C++ code, maintaining backward compatibility with VTK 4.x and Slicer 2
 
** Editing the Tcl interface to work with the ported C++ code
 
** Editing the Tcl interface to work with the ported C++ code
** Write test cases to define the gold standard we will compare Slicer3 against see [[Slicer3:Transition_Testing|[1]]]
+
** Write test cases to define the gold standard we will compare Slicer3 against, see [[Slicer3:Transition_Testing|here.]]
  
 
In Slicer3:
 
In Slicer3:
Line 16: Line 16:
 
* Port the threads of control in the modules from Tcl to C++
 
* Port the threads of control in the modules from Tcl to C++
 
* Dynamic discovery and loading of modules
 
* Dynamic discovery and loading of modules
* Write a template for a Slicer3 module
+
* Write a template for a Slicer3 module [[Slicer3:Transition_of_Slicer2.x_Modules:Template_Notes|Template Notes]]
 
** Illustrate coding and documentation standards and style
 
** Illustrate coding and documentation standards and style
 
* Write test templates in C++ and tcl
 
* Write test templates in C++ and tcl
 
** Will have different styles of tests, some that render images and some that produce numerical output, one template for each
 
** Will have different styles of tests, some that render images and some that produce numerical output, one template for each
 +
 +
Done:
 +
 +
* [http://www.na-mic.org/Wiki/index.php/2006_Project_Week_MIT_Migrating_Slicer2.x_Modules_to_Slicer3  ModelMaker]
 +
 +
In Progress:
 +
 +
* [[Slicer3:Transition_of_Slicer2.x_Modules:Fiducials|Fiducials]]
  
 
== Preliminary Notes ==
 
== Preliminary Notes ==
Line 150: Line 158:
 
| vtkCustomModule
 
| vtkCustomModule
 
|}
 
|}
 
<br /> [[Slicer3|Back to Slicer 3.0]]]
 

Latest revision as of 18:17, 20 May 2008

Home < Slicer3:Transition of Slicer2.x Modules

Summary Page

Goal/Questions/Answers slide from AHM 2006

Plan of Attack

In Slicer2:

  • Slicer:Slicer2_Porting_to_VTK5
    • Compiling with changes to the C++ code, maintaining backward compatibility with VTK 4.x and Slicer 2
    • Editing the Tcl interface to work with the ported C++ code
    • Write test cases to define the gold standard we will compare Slicer3 against, see here.

In Slicer3:

  • Port the threads of control in the modules from Tcl to C++
  • Dynamic discovery and loading of modules
  • Write a template for a Slicer3 module Template Notes
    • Illustrate coding and documentation standards and style
  • Write test templates in C++ and tcl
    • Will have different styles of tests, some that render images and some that produce numerical output, one template for each

Done:

In Progress:

Preliminary Notes

  • Focus on the data handling first, not the UI
    • Each module expects to be handed a frame to populate
    • Call the new data model functions
    • Replace global arrays with the new data model
    • The data model can be quiered by pipes or shared memory, but the API will be C++
  • Try to come up with a semi automatic translation method
  • First modules to transition:
    • Kilians segmenter
    • Ibrowser
    • fMRI engine
    • DTI engine
  • TBD:
    • List all the modules and rate difficulty in transition, UI vs data level
    • Migrate old mrml into new coordinate manager space
      • Look at the ITK visitor functionality to traverse a tree and get transforms
      • xpath

List of Modules

Currently in Base

  • Alignments.tcl
  • Anatomy.tcl
  • Anno.tcl
  • Colors.tcl
  • CrossSection.tcl
  • Custom.tcl
  • CustomCsys.tcl
  • Data.tcl
  • Editor/
    • EdChangeIsland.tcl
    • EdChangeLabel.tcl
    • EdDraw.tcl
    • EdDraw2.tcl
    • EdErode.tcl
    • EdIdentifyIslands.tcl
    • EdLabelVOI.tcl
    • EdMeasureIsland.tcl
    • EdNone.tcl
    • EdPhaseWire.tcl
    • EdRemoveIslands.tcl
    • EdSaveIsland.tcl
    • EdThreshold.tcl
  • Editor.tcl
  • Endoscopic.tcl
  • Fiducials.tcl
  • Guidance.tcl
  • Locator.tcl
  • Measure.tcl
  • MeasureVol.tcl
  • ModelCompare.tcl
  • ModelHierarchy.tcl
  • ModelMaker.tcl
  • Models.tcl
  • Navigator.tcl
  • Options.tcl
  • OsteoPlan.tcl
  • PathPlanning.tcl
  • Realtime.tcl
  • SessionLog.tcl
  • Slices.tcl
  • Tester.tcl
  • TetraMesh.tcl
  • TwinDisplay.tcl
  • View.tcl
  • VolRend.tcl
  • VolumeMath.tcl
  • Volumes/
    • VolBasic.tcl
    • VolDicom.tcl
    • VolHeader.tcl
    • VolTensor.tcl
  • Volumes.tcl


Currently in Modules

Tcl and Cxx code:

  • BIRNDUP
  • LDMMViewer
  • MultiVolumeReader
  • iSlicer
  • vtkAG
  • vtkAffineSegment
  • vtkAnalyze
  • vtkBXH
  • vtkCISGFile
  • vtkCompareModule
  • vtkCorCTA
  • vtkDTMRI
  • vtkEMAtlasBrainClassifier
  • vtkEMLocalSegment
  • vtkEditorGeometryDraw
  • vtkFMRIEngine
  • vtkFSLReader
  • vtkFastMarching
  • vtkFluxDiffusion
  • vtkFreeSurferReaders
  • vtkITK
  • vtkIbrowser
  • vtkImageSmooth
  • vtkLevelSets
  • vtkMorphometrics
  • vtkNormalize
  • vtkQueryAtlas
  • vtkRealignResample
  • vtkRigidIntensityRegistration
  • vtkTeem
  • vtkTensorUtil
  • vtkVolumeTextureMapping

Only tcl code:

Module Name Notes
vtkTransformVolume
vtkSiemensMosaicReader
vtkSubVolume
vtkMIRIADSegment
vtkCustomModule