Simulink Libraries for Visual Programming of VTK and ITK

Gobbi, David1*,Mousavi, Parvin,Li, Karen,Xiang, Jing,Campigotto, Adam,LaPointe, Adrien,Fichtinger, Gabor,Abolmaesumi, Purang
1.University of Calgary
Abstract

Abstract

We have created open-source Simulink block libraries for ITK and VTK that allow pipelines for these toolkits to be built in a visual, drag-and-drop style within MATLAB. Each block contains an instance of an ITK or VTK class. Any block connections and parameters that the user makes within MATLAB's Simulink visual environment are converted into connections and parameters for the ITK and VTK pipelines. In addition, we provide conversion of images to and from MATLAB arrays to allow MATLAB image processing blocks to be mixed with ITK and VTK blocks. The code for our block libraries is generated automatically from XML descriptions of the inputs, outputs, and parameters of the ITK and VTK classes. We have used these block libraries to build some example pipelines and believe that they will be useful for developing applications in image analysis and image-guided therapy.

Keywords

VTKITKMATLABSimulinkvisual programmingimage-guided therapy
Manuscript
Source Code and Data

Source Code and Data

IJ-SimITKVTK-1SimITKExamplesBrainProtonDensitySlice.png33.8 KBBrainProtonDensitySliceBorder20.png17.5 KBBrainProtonDensitySliceRotate.png26.3 KBCannyEdgeDetectionFL2Model.mdl16.4 KBConfidenceConnectedFL2Model.mdl16.9 KBFastMarchingFL3Model.mdl19.2 KBImageToImageRegistrationHelperUC2Model.mdl18 KBResampleFL3Model.mdl17.5 KBResampleUC2Model.mdl17.5 KBcthead1.png28.7 KBmlgaussian.m1.5 KBsubject04_t1w_p4_float.mha158 Bsubject04_t1w_p4_float.raw45.3 MBSourceBaseClassCopy.pm2.3 KBBlockGenerator.pl25.7 KBCMakeLists.txt7.6 KBContainer.tpp.in2 KBContainerGen.pl3.2 KBContainerMat.cpp.in9.4 KBCopyright.txt1.5 KBFilterBlock.tpp.in2 KBFilterBlockMat.cpp.in9.6 KBFilterBlockRegHelper.tpp.in1.8 KBFilterMask.in1.1 KBFilterMaskGen.pm10.5 KBFilterMaskNoParameters.in561 BFilterXMLDescriptions.xml31.8 KBImageConversion.h1.3 KBImageConversion.tpp3.3 KBInterpolatorFilterBlock.tpp.in1.1 KBInterpolatorFilterBlockMat.cpp.in8.7 KBLibrary.mdl.in6.9 KBLibraryGen.pm1.6 KBReader.tpp.in3.1 KBReaderMat.cpp.in11 KBRegistrationHelperitkAffineImageToImageRegistrationMethod.h3.1 KBitkAffineImageToImageRegistrationMethod.txx3 KBitkBSplineImageToImageRegistrationMethod.h3.1 KBitkBSplineImageToImageRegistrationMethod.txx4 KBitkImageToImageRegistrationHelper.h16.4 KBitkImageToImageRegistrationHelper.txx37.8 KBitkImageToImageRegistrationMethod.h4.3 KBitkImageToImageRegistrationMethod.txx6.2 KBitkInitialImageToImageRegistrationMethod.h3 KBitkInitialImageToImageRegistrationMethod.txx6 KBitkOptimizedImageToImageRegistrationMethod.h5.4 KBitkOptimizedImageToImageRegistrationMethod.txx24.3 KBitkPolygonGroupSpatialObjectXMLFile.cxx11.3 KBitkPolygonGroupSpatialObjectXMLFile.h3.4 KBitkRigidImageToImageRegistrationMethod.h3.7 KBitkRigidImageToImageRegistrationMethod.txx3.3 KBReaderWriterGen.pl4.6 KBTPPGen.pm24.5 KBSFunctionGen.pm20.8 KBTransformFilterBlock.tpp.in2.1 KBTransformFilterBlockMat.cpp.in9.1 KBTransformLibrary.mdl.in4.1 KBTransformXMLDescriptions.xml2.8 KBVirtualBlock.h2.4 KBVirtualPort.h1.2 KBVirtualSpecialPort.h653 BWriter.tpp.in1.8 KBXMLDOMDOMException.pm1.8 KBNamedNodeMap.pm5.2 KBNodeList.pm695 BPerlSAX.pm940 BRegExp.pm5.9 KBDOM.pm108.1 KBWriterMat.cpp.in9.9 KBreadme.txt11.5 KBIJ-Simulink_Libraries_for_VTK_and_ITK-1.pdf211.5 KBSimVTKExamplesConeInteractor.mdl26.6 KBDataInteractor.mdl26.3 KBGridViewer.mdl16.8 KBITK_VTKModel.mdl19.7 KBMovingCone.mdl32.5 KBMovingConeWithTarget.mdl31.4 KBPolyDataInteractor.mdl27.7 KBvtk.vtk313 BSourceCMakevtkIncludeAllKits.cmake1.8 KBCMakeLists.txt14.9 KBCopyright.txt1.5 KBSimvtkITKImageImportMat.cpp17.1 KBSimvtkTemplate.cpp.in13.4 KBXMLDOMNamedNodeMap.pm5.2 KBDOMException.pm1.8 KBNodeList.pm695 BPerlSAX.pm940 BDOM.pm108.1 KBRegExp.pm5.9 KBvtkAlgorithmSubclassesList.in12.7 KBvtkBlockGenerator.pl10.2 KBvtkCombineSuperclasses.pm8.1 KBvtkFilterMask.in1.2 KBvtkFilterMaskGen.pm22.1 KBvtkImagingLibrary.mdl.in4.4 KBvtkLibrary.mdl.in3.6 KBvtkLibraryGen.pm2.3 KBvtkMatlabCallback.m.in1.1 KBvtkMatlabCallbackGen.pm12 KBvtkSFunctionGen.pm30.7 KBvtkXMLCMakeLists.txt332 Blex.yy.c92.2 KBvtkParse.h1.4 KBvtkXML.c22.8 KBvtkParse.tab.c116.1 KBxmlhints1.1 KBreadme.txt7 KB

Select a file to preview