Difference between revisions of "Slicer3:Transition of Slicer2.x Modules"
From Slicer Wiki
m (Update from Wiki) |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Summary Page == | == Summary Page == | ||
− | [ | + | [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| | + | ** 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 | ||
|} | |} | ||
− | |||
− |
Latest revision as of 18:17, 20 May 2008
Home < Slicer3:Transition of Slicer2.x ModulesSummary 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 |