User:Mathieu/Porting

From NAMIC Wiki
Jump to: navigation, search

Draft for porting class from slicer2 to Slicer3

In the following document we will describe what classes are garanteed not to work in Slicer3 architecture due to the use of VTK 5. Only class that derive directly from vtkImageToImageFilter or vtkPolyDataToPolydataFilter are supposed to work.

We will enumerate only classes that should be moved to Slicer3. For the complete list of classes in slicer2 see Slicer3:Transition Testing, most of those classes can be safely replaced by an equivalent in VTK 5, or their functionaly are deprecated, not used any more.

Base

vtkTensorUtil

slicer2 class subclass Notes Test name
vtkBSplineInterpolateImageFunction vtkImplicitFunction Work not needed
vtkHyperPoint (vtkHyperPointandArray.h)
vtkHyperStreamlineDTMRI vtkHyperStreamline Work needed to resubclass
  • vtkDTMRI/Testing/Tcl/testClusteringClasses.tcl
  • vtkDTMRI/Testing/Tcl/testVtkHyperStreamlineDTMRIMemoryUse.tcl
  • vtkDTMRI/Testing/Tcl/testVtkSeedTracts.tcl
  • vtkDTMRI/Testing/Tcl/testVtkDisplayTracts.tcl
  • vtkDTMRI/Testing/Tcl/testVtkSaveTracts.tcl
  • vtkDTMRI/Testing/Tcl/testMultiStreamlineController.tcl
  • vtkDTMRI/Testing/Tcl/testMultiStreamlineControllerMemoryUse.tcl
vtkHyperStreamlineTeem vtkHyperStreamlineDTMRI Work needed to resubclass TODO
vtkImageGetTensorComponents vtkImageToImageFilter Work not needed
vtkImageSetTensorComponents vtkImageToImageFilter Work not needed
vtkInteractiveTensorGlyph vtkTensorGlyph (sublcass of vtkPolyDataAlgortihm) Work needed to resubclass
  • vtkTensorUtil/Testing/Cxx/TestInstance.cxx
  • vtkTensorUtil/Testing/Tcl/TestITensorGlyph.tcl
vtkPreciseHyperArray
vtkPreciseHyperPoint
vtkPreciseHyperStreamline vtkDataSetToPolyDataFilter Work not needed
vtkPreciseHyperStreamlinePoints vtkPreciseHyperStreamline Work not needed
vtkSuperquadricSource2 vtkPolyDataSource Work not needed
can be replaced with vtkSuperquadricSource
vtkSuperquadricTensorGlyph vtkTensorGlyph (sublcass of vtkPolyDataAlgortihm) Work needed to resubclass
  • vtkTensorUtil/Testing/Cxx/TestInstance.cxx
vtkTensorFlip vtkImageToImageFilter Work not needed
vtkTensorImplicitFunctionToFunctionSet vtkFunctionSet Work not needed
vtkTensorMask vtkImageMask (subclass of vtkImageAlgorithm) Work needed to resubclass
  • vtkTensorUtil/Testing/Cxx/TestInstance.cxx
  • vtkTensorUtil/Testing/Cxx/TestTensorMask.cxx
vtkTensorMathematics vtkImageTwoInputFilter Work needed to resubclass
Note: This should be a one input filter (NumberOfInputConnection=1)
  • vtkTensorUtil/Testing/Cxx/TestInstance.cxx
  • vtkTensorUtil/Testing/Cxx/TestTensorMathematics.cxx
  • vtkTensorUtil/Testing/Cxx/TestHyperStreamlineDTMRI.cxx
vtkVectorToOuterProductDualBasis vtkObject Work not needed

vtkDTMRI


slicer2 class subclass Notes
vtkClusterTracts vtkObject Work not needed
vtkColorROIFromPolyLines vtkObject Work not needed
vtkColorROIFromTracts vtkObject Work not needed
vtkDisplayTracts vtkObject Work not needed
vtkEstimateDiffusionTensor vtkImageMultipleInputFilter Work not needed
vtkImageDiffusionTensor vtkImageMultipleInputFilter Work not needed
vtkImageExtractSlices vtkImageToImageFilter Work not needed
vtkLSDIreconTensor vtkImageMultipleInputFilter Work not needed
vtkMrmlTractGroupNode vtkMrmlNode
vtkMrmlTractsNode vtkMrmlNode
vtkMultipleStreamlineController vtkObject Work not needed
vtkODFGlyph vtkStructuredPointsToPolyDataFilter Work not needed
Note: StructuredPoints might get deprecated should move to ImageData
vtkPruneStreamline vtkPolyDataToPolyDataFilter Work not needed
vtkROISelectTracts vtkObject Work not needed
vtkSaveTracts vtkObject Work not needed
vtkSeedTracts vtkObject Work not needed
vtkStochasticTracking vtkImageMultipleInputFilter Work not needed
vtkStreamlineConvolve vtkStructuredPointsToPolyDataFilter Work not needed
Note: StructuredPoints might get deprecated should move to ImageData
vtkTractShapeFeatures vtkObject Work not needed

List of equivalence

Base

slicer 2 class VTK 5 equivalent Note
vtkBoolTess.h
vtkCellTriMacro.h
vtkDataSetToLabelMap.h
vtkDCMLister.h
vtkDCMParser.h
vtkDistractorSource.h
vtkFastCellPicker.h
vtkFog.h
vtkImageAccumulateDiscrete.h vtkImageAccumulate+vtkImageCast
vtkImageBandedDistanceMap.h
vtkImageBimodalAnalysis.h
vtkImageCloseUp2D.h
vtkImageConnectivity.h
vtkImageCopy.h
vtkImageCrossHair2D.h vtkImageCursor3D
vtkImageCurveRegion.h
vtkImageDICOMReader.h
vtkImageDijkstra.h
vtkImageDouble2D.h
vtkImageDrawObjects.h
vtkImageDrawROI.h
vtkImageEditorEffects.h
vtkImageEditor.h
vtkImageErode.h
vtkImageEuclideanDistanceTransformation.h
vtkImageFillROI.h
vtkImageFrameSource.h vtkWindowToImage
vtkImageGraph.h
vtkImageLabelChange.h vtkImageMathematics can do that (SetOperationToReplaceCByK)
vtkImageLabelOutline.h
vtkImageLabelVOI.h
vtkImageLiveWireEdgeWeights.h
vtkImageLiveWire.h
vtkImageLiveWireScale.h
vtkImageLiveWireTester.h
vtkImageMeasureVoxels.h vtkImageAccumulate
vtkImageNeighborhoodFilter.h
vtkImageOverlay.h vtkImageBlend
vtkImagePlot.h vtkKWHistogram
vtkImageRealtimeScan.h
vtkImageReformat.h
vtkImageReformatIJK.h
vtkImageReplaceRegion.h
vtkImageResize.h
vtkImageStatistics.h vtkImageAccumulate
vtkImageWeightedSum.h vtkImageWeightedSum (is in VTK 5)
vtkImageZoom2D.h
vtkIndirectLookupTable.h
vtkMathUtils.h
vtkPolyBoolean.h
vtkPolygonList.h
vtkPTSWriter.h vtkPolyDataWriter
vtkResliceImage.h
vtkSlicerBaseWin32Header.h
vtkSlicer.h
vtkStackOfPolygons.h
vtkSurfaceProps.h vtkMassProperties
vtkXDisplayWindow.h