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

From NAMIC Wiki
Jump to: navigation, search
m (Update from Wiki)
 
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Summary Page ==
+
<big>'''Note:''' We are migrating this content to the slicer.org domain - <font color="orange">The newer page is [https://www.slicer.org/wiki/Slicer3:Transition_of_Slicer2.x_Modules  here]</font></big>
 
 
[[AHM_2006:ProjectsSlicerModuleTransition|Goal/Questions/Answers slide from AHM 2006]]
 
 
 
== Plan of Attack ==
 
 
 
In Slicer2:
 
 
 
* [[Slicer:Slicer2_Porting_to_VTK5|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 [[Slicer3:Transition_Testing|[1]]]
 
 
 
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
 
** 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
 
 
 
== 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
 
 
 
<br />'''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:
 
 
 
{| border="1"
 
! Module Name
 
! Notes
 
|-
 
| vtkTransformVolume
 
|-
 
| vtkSiemensMosaicReader
 
|-
 
| vtkSubVolume
 
|-
 
| vtkMIRIADSegment
 
|-
 
| vtkCustomModule
 
|}
 
 
 
<br /> [[Slicer3|Back to Slicer 3.0]]]
 

Latest revision as of 18:07, 10 July 2017

Home < Slicer3:Transition of Slicer2.x Modules

Note: We are migrating this content to the slicer.org domain - The newer page is here