SimITK/SimVTK: Model Driven Engineering for Medical Imaging 1 Simulink, Model Driven Engineering (MDE) in Matlab Interactive graphical environment Select, add blocks to blank “canvas”, inter-connect blocks to form a process model Written programming code abstracted away • Replaced by equivalent visual model representation 2 SimITK/SimVTK, MDE for ITK & VTK MDE for ITK/VTK: • Drag and drop approach to process development • Accessible visual notation for ITK and VTK • Instructional value MATLAB/Simulink offer many benefits: • Use MATLAB’s Simulink visual environment • Avoid reinventing the wheel • Allow mix of MATLAB code and ITK/VTK 3 SimVTK Example 4 SimITK Example 5 System Overview 6 Templating Virtual Block Template File S-Function Template File Simplified XML Automatic Template Substitution by Perl Scripts Matlab .mex File Matlab Callback FIle Simulink LIbrary 7 Virtual Block Input Conversion Spacing & Origin itkImage VirtualPort Data Conversion Parameters Update ITK Image Filter Parameter Variables Output Conversion itkImage VirtualPort Spacing & Origin Data 8 Simulink ITK Simulink Goals • Ultimate Goal – ITK and Simple ITK in Matlab and Simulink • Synergy between the SimpleITK group and SimITK group • Both communities aim to simplify usage of ITK • Lead Engineering Time to complete ITK -> XML wrapper • Possibly modify to do ITK -> JSON wrapping instead • JSON is compact, better at expressing an API description • Ways to Fund Engineering Time for: • Wrapping of ITK in Simulink and Matlab • Extending this work to SimpleITK in Matlab/Simulink 9