Visual Programming for Prototyping of Medical Imaging...
Transcript of Visual Programming for Prototyping of Medical Imaging...
![Page 1: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/1.jpg)
2007Visual Programmingfor Prototyping ofMedical Imaging Applications
Felix Ritter, MeVis Research Bremen, Germany
![Page 2: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/2.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Outline
‣ Prototyping‣ Visual Programming with MeVisLab‣ Image Processing / Visualization Examples‣ VTK / ITK Integration‣ GUI Scripting
2
![Page 3: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/3.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007
Prototyping in Medical Imaging Research
Prototyping serves as a common language!
Clinical users
Researchers
Developers
Prototyping
3
Innovation in clinical medical imaging requires close communication between…
![Page 4: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/4.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007
Prototyping in Medical Imaging Research
4
‣ variable scenarios‣ „expert“ parametrization‣ fast changes‣ little testing
‣ efficient workflow‣ easy handling‣ standardization‣ stable execution
generic requirements, e.g. image import/export, DICOM support, reporting & documentation, user management
Research Clinical use
![Page 5: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/5.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007MeVisLab Prototyping Platform
MeVisLab is:
‣ Medical Image Processing and Visualization Platform‣ Research and Development Tool‣ Rapid Application Prototyping Environment
‣ Cross-platform (Windows, Mac OS X, Linux)‣ Free for non-commercial usage
5
![Page 6: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/6.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007MeVisLab Development Platform
Research and development in MeVisLab ...
... on the module level• Powerful frameworks• Efficient Interfaces
... on the network level
• Flexibility and modularity• Module toolbox
... on the application level• Interactive, efficient
application framework
C++
Scripting
Graphical
6
![Page 7: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/7.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007
C++-Module
New image processing algorithms are implemented as C++-modules
Different application development interfaces at different levels:
7
![Page 8: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/8.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007
Individual image processing modules are combined to powerful networks using a graphical user interface
Different application development interfaces at different levels:
Input
Output
8
![Page 9: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/9.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007
Each image processing module can be controlled using its own parameter panel
Different application development interfaces at different levels:
Input
Output
Parameter Panel
9
![Page 10: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/10.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007
An application prototype is designed using a powerful scripting language
Different application development interfaces at different levels:
Horizontal "Edge Filter" { Box "Input" { Viewer viewIn.self } Box "Output" { Viewer viewOut.self } Vertical { Box "Smoothing" { Field conv.PredefKernel } Box "Dilation" { layout = Vertical Field morph.KernelX Field morph.KernelY Field morph.KernelZ } }}
10
![Page 11: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/11.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007
An application prototype is designed using a powerful scripting language
Different application development interfaces at different levels:
Horizontal "Edge Filter" { Box "Input" { Viewer viewIn.self } Box "Output" { Viewer viewOut.self } Vertical { Box "Smoothing" { Field conv.PredefKernel } Box "Dilation" { layout = Vertical Field morph.KernelX Field morph.KernelY Field morph.KernelZ } }}
10
![Page 12: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/12.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Related Visualization Platforms
‣ Amira‣ Analyze‣ AVS Express‣ IBM Data Explorer / OpenDX‣ Khoros / VisiQuest‣ SCIRun‣ VolView
see I. Bitter et al. TVCG 13(3) for comparison
11
![Page 13: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/13.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Image Processing
‣ ML – MeVis Image Processing Library‣ ITK – Insight Segmentation and Registration
Toolkit‣ DCMTK – DICOM Offis Toolkit‣ DicomTree – Abstract DICOM Interface
12
![Page 14: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/14.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007MeVis Image Processing Library
‣ Page oriented and request driven‣ Priority controlled caching‣ General image concept:
• x/y/z/color/time/user dimensions• Various data types (int, float, complex, tensors, custom)
‣ Medical image properties:• DICOM coordinate system and tags
‣ C++ Interface and MeVisLab-Wizard available for integration of new algorithms
13
![Page 15: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/15.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007MeVis Image Processing Library
‣ Filters • Diffusion filters • Morphology filters • Kernel filters
‣ Segmentation • Region growing • Live wire • Fuzzy connectedness • Threshold • Manual contours
‣ Transformations • Affine transformations • Distance transformations
• Radon transform • Manual registration
‣ Statistics • Histograms • Global image statistics • Box counting dimension
‣ Other • Unary/binary arithmetic • Resampling/reformatting • Oblique and curved MPR• Dynamic data analysis • Noise/test pattern generators
14
![Page 16: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/16.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007DICOM Support
‣ Import of 2D/3D/4D DICOM datasets‣ MeVisLab DICOM Service runs as Windows Service or
UNIX Daemon and receives data from PACS‣ Export of DICOM slices to disk‣ DICOM-Store allows to send data to PACS
15
![Page 17: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/17.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Visualization
‣ Open Inventor‣ VTK – Visualization Toolkit‣ SoView2D – 2D slice based visualization framework‣ GVR – Giga Voxel Renderer‣ SoShader – OpenGL shading language support‣ WEM – Winged Edge Mesh framework‣ CSO – Contour Segmentation Object framework‣ …
16
![Page 18: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/18.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Open Inventor (OIV)
‣ Direct Open Inventor node support‣ Open Inventor:
• Scene graph paradigm• Object, rendering, transformation, property, … nodes• Based on OpenGL• Well documented
‣ Extensions to support 2D imageviewing/manipulation
‣ Mixed ML/Open Inventormodules
‣ www.mevislab.de/inventor
17
![Page 19: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/19.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Open Inventor Scene Graph
‣ Scene objects are represented by nodes‣ Size and position is defined by transformation nodes‣ A rendering node represents the root of the scene graph
X
![Page 20: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/20.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
20072D Viewer Framework (SoView2D)
‣ Modular 2D Viewer Library‣ Hardware accelerated using textures and shaders‣ Supports interactive LUT even on large images‣ Extension mechanism supports:
• Overlays• Markers• ROIs• Contours• User extensions can add
drawing and event handling
18
![Page 21: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/21.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Volume Rendering (GVR)
Advanced Volume Rendering modules
‣ MIP, DVR, Shaded DVR‣ Tone Shading, Silhouette and Boundary Enhancement‣ Tagged / Labeled Objects‣ Per Object Shading‣ Large data visualization via multi-resolution data octree
19
![Page 22: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/22.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Volume Rendering Examples
20
![Page 23: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/23.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Prototyping GLSL Shaders
21
‣ Support for OpenGL Shading Language‣ Enables prototyping of advanced visualization / image
processing algorithms‣ Textures are loaded using ML image pipeline‣ Support for OpenGL framebuffer objects‣ Textures may be loaded from the graphics card and directed
into the ML image pipeline
![Page 24: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/24.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Prototyping GLSL Shaders
22
Simple volume ray casting using GLSL shader framework
![Page 25: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/25.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Winged Edge Mesh Library (WEM)
‣ Data structure proposedby Baumgart, 1975
‣ Mesh consists of Nodes,Edges and Faces
‣ Dense pointer structure ofincident primitives
‣ Fast access to neighboringstructures
Pointer links in a neighborhood:
23
![Page 26: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/26.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007WEM Modules Overview
‣ Generation:• WEMIsoSurface
‣ Processing:• WEMCollapseEdges• WEMSmooth• WEMPurge• WEMClip• …
‣ Rendering:• SoWEMRenderer
- Different Render Modes- Optional Coloring by LUT
Values
24
… and many more, type in ‘WEM’ in the search field.
![Page 27: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/27.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007WEM Screenshots
Network with iso surface generation and polygon reduction
A liver surface colored by a LUT in bone context
25
![Page 28: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/28.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Contour Segmentation Objects (CSO)
‣ CSO library provides data structures and modules for interactive or automatic generation of contours in voxel images
‣ Contours can be analyzed, maintained, grouped and converted back into a voxel image
‣ Contours may „communicate“ with each other‣ Contours can be displayed in 2D and 3D‣ CSOs are 3D objects (world coordinates)‣ CSOGroups group contours which share a set of attributes
26
![Page 29: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/29.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Contour Segmentation Objects
‣ CSO consists of a number of seed points and a number of path point lists
27
![Page 30: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/30.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007CSO Modules Overview
‣ Generation (without interaction):• CSOIsoGenerator
‣ Processing (with interaction):• CSOFreehandProcessor• CSOLiveWireProcessor• CSOIsoProcessor• CSOBulgeProcessor• …
‣ Rendering• SoView2DCSOEditor• SoCSO3DVis
‣ Misc• CSOConvertToImage• CSOConvertTo3DMask• CSOFilter• CSOManager• CSOLoad / CSOSave• …
28
… and many more, type in ‘CSO’ in the search field.
![Page 31: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/31.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007CSO Screenshot
29
Visualizing a contour in 2D slices and within a 3D volume rendering
![Page 32: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/32.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Available Modules
‣ 450 Image Processing Modules‣ 300 Open Inventor Modules‣ 400 Macro Modules‣ 300 ITK Modules‣ 1000 VTK Modules
30
![Page 33: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/33.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007ITK Wrapper
31
‣ ITK – Insight Toolkit (www.itk.org)‣ Open Source Library for Medical Image Processing and Registration‣ about 200 Modules for Standard Image Processing such as
• Image Arithmetics• Kernel-based and Diffusion Filtering• Levelset and Segmentation Filtering• Warping, Resampling Filters
‣ about 90 Modules Registration-Related Algorithms • Interpolators• Metrics• Optimizers• Transformations
‣ A few hundred other classes such as functions etc.
![Page 34: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/34.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007ITK Book Examples
MeVisLab NetworkITK Book Example Corresponding Website(screenshots generated with MeVisLab)
www.itk.org/ItkSoftwareGuide.pdf
www.mevislab.de/index.php?id=35
X
![Page 35: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/35.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007ITK Example
Smooth integration with
ML image processing⇒ ITK modules behave
like normal ML modules
Each filter has additional
controls for:
• Clamping of image values
• Min / Max setting
• Update / Apply handling
32
![Page 36: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/36.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007VTK Wrapper
33
‣ VTK – Visualization Toolkit (www.vtk.org)‣ Visualization, Image Processing and Filtering Library for images,
meshes, grids, data sets etc.‣ about 1000 Modules for
• 2D/3D Image Processing• Grid, Mesh, Surface, and Data Filtering• Pickers• Properties and Actors• Mappers• Renderers, Widgets, Viewers• Sources, Readers and Writers• Transformations
![Page 37: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/37.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007VTK Example 1: Contour Filter
34
![Page 38: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/38.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007VTK Example 2: VTK / OIV mix
35
SoVTK module allows VTK rendering as partof an Open Inventor scene graph
![Page 39: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/39.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Automatic wrapper generation
‣ The ITK and VTK libraries are integrated into MeVisLab using a generic wrapping approach
‣ This approach facilitates updates to new library versions and makes almost all algorithms of ITK/VTK instantly available
‣ Other platforms do this wrapping manually and offer a less extensive ITK/VTK integration
36
![Page 40: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/40.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Application Prototyping
37
‣ Hide network complexity‣ Design user interfaces‣ Scripting for dynamic components
![Page 41: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/41.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007GUI Scripting (MDL)
‣ User interfaces are created with the Module Definition Language (MDL)
‣ Abstract hierarchical GUI language‣ Interpreted at run-time, allows rapid prototyping‣ www.mevislab.de/fileadmin/docs/html/mdl/
38
![Page 42: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/42.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007GUI Scripting Example
Module Network MDL Script
Graphical User Interface Schematic Representation
39
![Page 43: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/43.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007JavaScript / Python Integration
‣ Scripting can be used to program dynamic behaviour both on network and user interface level• Adding modules at run-time• Parameter computations and synchronization• Dynamic user interfaces• External processes
‣ JavaScript / Python bindings are available‣ www.mevislab.de/fileadmin/docs/html/script/
40
![Page 44: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/44.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007MeVisLab SDK
‣ Allows to extend MeVisLab with• ML Modules• Open Inventor Modules• Macro Modules• ITK and VTK Modules
‣ Efficient user interface development‣ JavaScript / Python scripting languages
41
![Page 45: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/45.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Summary
‣ Visual prototyping facilitates the communication between clinical users, researchers, and developers
‣ Using a prototyping platform like MeVisLab accelerates the exploration of algorithms in clinical settings
‣ Integration of powerful basis functionality allows you to concentrate on your own innovative concepts
42
![Page 46: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/46.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Acknowledgments
I would like to thanks my colleagues at MeVis Researchfor their contributions to this presentation:
Tobias Boskamp, Olaf Konrad, Florian Link,Jan Rexilius, and Wolf Spindler
43
![Page 47: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/47.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Getting MeVisLab
‣ Get your free copy of MeVisLab at:
www.mevislab.de
‣ The examples from this presentation are available at:www.mevislab.de/vis2007/
44
![Page 48: Visual Programming for Prototyping of Medical Imaging ...ritter/awakeideas/files/mevislab-vis2007/vis07-Visual...for Prototyping of Medical Imaging Applications Felix Ritter, MeVis](https://reader031.fdocuments.in/reader031/viewer/2022040918/5e948da1716924704a0b6af7/html5/thumbnails/48.jpg)
Visual Programming of Medical Imaging ApplicationsIEEE Visualization 2007
2007Licensing
‣ MeVisLab is free for non-commercial usage‣ All algorithms presented in this tutorial can be
explored with the free edition of MeVisLab (SDK)‣ Full MeVisLab SDK is available at academic and
commercial rates• Evaluation version available
X