Slicer3:Transition of Slicer2.x Modules

From Slicer Wiki
Jump to: navigation, search
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