Introduction to MeVisLab Visual Programming Image Processing / VIsualization Examples VTK / ITK Integration MeVisLab SDK Features GUI Scripting



Similar documents
MayaVi: A free tool for CFD data visualization

VisIt Visualization Tool

IDL. Get the answers you need from your data. IDL

Facts about Visualization Pipelines, applicable to VisIt and ParaView

AVS/Express - an object-oriented visual development tool

JavaFX Session Agenda

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Programming 3D Applications with HTML5 and WebGL

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Twelve. Figure 12.1: 3D Curved MPR Viewer Window

Scientific Visualization with Open Source Tools. HM 2014 Julien Jomier

Post-processing and Visualization with Open-Source Tools. Journée Scientifique Centre Image April 9, Julien Jomier

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

A Hybrid Visualization System for Molecular Models

imc FAMOS 6.3 visualization signal analysis data processing test reporting Comprehensive data analysis and documentation imc productive testing

Visualization with ParaView

The Design and Implementation of a C++ Toolkit for Integrated Medical Image Processing and Analyzing

Avizo Inspect New software for industrial inspection and materials R&D

Introduction to Visualization with VTK and ParaView

Discover the framework and make your first steps with it.

Medical Image Processing on the GPU. Past, Present and Future. Anders Eklund, PhD Virginia Tech Carilion Research Institute

X I P Rapid and Extensible Software Development for Medical Imaging

Interactive Level-Set Deformation On the GPU

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

The Visualization Pipeline

Parallel Analysis and Visualization on Cray Compute Node Linux

Avizo for FEI Systems D Analysis Software for Scientific and Industrial Data

Visualisatie BMT. Introduction, visualization, visualization pipeline. Arjan Kok Huub van de Wetering

The fastest and intuitive 2D/3D/4D imaging solution for data of nearly unlimited size. Features & Modules arivis Vision4D Version 2.10.

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Definiens XD Release Notes

Visualization with ParaView. Greg Johnson

SOFTWARE FOR 3D IMAGE VISUALISATION, ANALYSIS AND MODEL GENERATION

MicroStrategy Desktop

An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands.

Blender addons ESRI Shapefile import/export and georeferenced raster import

multimodality image processing workstation Visualizing your SPECT-CT-PET-MRI images

Plug-in Software Developer Kit (SDK)

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions

Advanced Server Virtualization: Vmware and Microsoft Platforms in the Virtual Data Center

Digital Imaging and Communications in Medicine (DICOM) Supplement 132: Surface Segmentation Storage SOP Class

Technical What s New. Autodesk Alias Product Line

OpenWalnut An Open-Source Visualization System

Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional.

Last lecture... Computer Graphics:

Visualizing Electromagnetic Fields: The Visualization Toolkit. Michael Selvanayagam

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

imc FAMOS 6.3 visualization signal analysis data processing test reporting Comprehensive data analysis and documentation imc productive testing

Introduction to Computer Graphics

Changing The World One Hospital At a Time

3D Viewer. user's manual _2

Autodesk Revit Architecture 2011 Professional Massmodeling Rendering Video Tutorial

Visualization of Adaptive Mesh Refinement Data with VisIt

Web-Based Enterprise Data Visualization a 3D Approach. Oleg Kachirski, Black and Veatch

Advanced visualization with VisNow platform Case study #2 3D scalar data visualization

Computer Vision Technology. Dave Bolme and Steve O Hara

Processing Data with rsmap3d Software Services Group Advanced Photon Source Argonne National Laboratory

How To Run A Factory I/O On A Microsoft Gpu 2.5 (Sdk) On A Computer Or Microsoft Powerbook 2.3 (Powerpoint) On An Android Computer Or Macbook 2 (Powerstation) On

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

Cassandra 2.0: Tutorial

Open Inventor for Medical and Life Sciences High-performance 3D software development tools

Visualization and Post Processing of OpenFOAM results a Brie. a Brief Introduction to VTK

Visualization and Feature Extraction, FLOW Spring School 2016 Prof. Dr. Tino Weinkauf. Flow Visualization. Image-Based Methods (integration-based)

MODERN VOXEL BASED DATA AND GEOMETRY ANALYSIS SOFTWARE TOOLS FOR INDUSTRIAL CT

Why are we teaching you VisIt?


6 th Annual EclipseCon Introduction to BIRT Report Development. John Ward

Gephi Tutorial Visualization

Visualizing Data: Scalable Interactivity

Building 3D PDFs to Visualize Geological Data

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

Data Visualization. Principles and Practice. Second Edition. Alexandru Telea

New Tools for Spatial Data Analysis in the Social Sciences

Hardware design for ray tracing

Image Synthesis. Fur Rendering. computer graphics & visualization

MEng, BSc Computer Science with Artificial Intelligence

Gephi Tutorial Quick Start

Software Packages The following data analysis software packages will be showcased:

How To Use Trackeye

The Complete Performance Solution for Microsoft SQL Server

Anime Studio Debut vs. Pro

Quick Start Tutorials

How To Draw In Autocad

MEng, BSc Applied Computer Science

version 3.0 tutorial - Turbulent mixing in a T-junction with CFDSTUDY in SALOME contact: saturne-support@edf.fr

Open Inventor for Computer-Aided Design & Engineering High-performance 3D graphics development toolkit

OpenEXR Image Viewing Software

CadSoft EAGLE Version 7

Cork Education and Training Board. Programme Module for. 3 Dimensional Computer Graphics. Leading to. Level 5 FETAC

Skills Inventory: Art/Media Communications. 1. Pre-employment Training/Career Development. A. Formal; e.g., certificates. Date Description Location

Visualization Plugin for ParaView

Advanced visualization with VisNow platform Case study #3 Vector data visualization

Geant4 Visualization. Andrea Dotti April 19th, 2015 Geant4 M&C+SNA+MC 2015

VRayPattern also allows to curve geometry on any surface

Transcription:

Felix Ritter, MeVis Research Bremen, Germany Introduction to MeVisLab Visual Programming Image Processing / VIsualization Examples VTK / ITK Integration MeVisLab SDK Features GUI Scripting 2

Innovation in clinical medical imaging requires close communication between Clinical users Prototyping Researchers Developers Prototyping serves as a common language! 3 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 4

Amira Analyze AVS Express IBM Data Explorer/OpenDX Khoros/VisQuest LONI SCIRun 5 C++ Graphical Scripting Research and development in MeVisLab...... on the module level Powerful toolbox libraries Efficient Interfaces... on the network level Flexibility and modularity Module toolbox... on the application level Interactive, efficient application framework 6

New image processing algorithms are implemented as C++-modules C++-Module 7 Individual image processing modules are combined to powerful networks using a graphical user interface Output Input 8

Each image processing module can be controlled using its own parameter panel Output Parameter Panel Input 9 An application prototype is designed using a powerful scripting language 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

450 Image Processing Modules 300 Open Inventor Modules 400 Macro Modules 300 ITK Modules 1000 VTK Modules 11 MeVis Image Processing Library (ML) Page oriented and request driven Priority controlled caching General image concept: Various data types (int, float, complex, tensors) x/y/z/color/time/user dimensions Medical image properties: DICOM coordinate system and tags C++ Interface and Wizard available for integration of new algorithms 12

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 13 Direct Open Inventor node support Open Inventor: Scene graph paradigm Object, rendering, transformation, property, nodes Based on OpenGL Well documented Extensions to support 2D image viewing/manipulation Mixed ML/Open Inventor modules www.mevislab.de/inventor 14

Scene objects are represented by nodes Size and position is defined by transformation nodes A rendering node represents the root of the scene graph 15 Modular 2D Viewer Library (SoView2D) 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 16

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 17 18

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 19 Simple volume ray casting using GLSL shader framework 20

Data structure proposed by Baumgart, 1975 Mesh consists of Nodes, Edges and Faces Dense pointer structure of incident primitives Fast access to neighboring structures Pointer links in a neighborhood: 21 Generation: Rendering: WEMIsoSurface Processing: WEMCollapseEdges WEMSmooth WEMPurge WEMClip SoWEMRenderer - Different Render Modes - Optional Coloring by LUT Values and many more, type in WEM in the search field. 22

Network with iso surface generation and polygon reduction A liver surface colored by a LUT in bone context 23 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 24

CSO consists of a number of seed points and a number of path point lists 25 Generation (without interaction): Misc CSOIsoGenerator Processing (with interaction): CSOFreehandProcessor CSOLiveWireProcessor CSOIsoProcessor CSOBulgeProcessor CSOConvertToImage CSOConvertTo3DMask CSOFilter CSOManager CSOLoad / CSOSave Rendering SoView2DCSOEditor SoCSO3DVis and many more, type in CSO in the search field. 26

Visualizing a contour in 2D slices and within a 3D volume rendering 27 Import of 2D/3D/4D DICOM datasets MeVisLab DICOM Service runs as Windows Service or UNIX Daemon and receives data from PACS even when user is logged out Export of DICOM slices to disk DICOM-Store allows to send data to PACS 28

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. 29 ITK Book Example Corresponding Website (screenshots generated with MeVisLab) MeVisLab Network www.itk.org/itksoftwareguide.pdf www.mevislab.de/index.php?id=35 30

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 31 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 32

33 SoVTK module allows VTK rendering as part of an Open Inventor scene graph 34

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 35 Allows to extend MeVisLab with ML Modules Open Inventor Modules Macro Modules ITK and VTK Modules Efficient user interface development JavaScript / Python scripting languages 36

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/ 37 Module Network MDL Script Graphical User Interface Schematic Representation 38

Hide network complexity Design user interfaces Scripting for dynamic components 39 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

MeVisLab allows to learn about Medical Imaging and Visualization without C++ knowledge Visual Programming allows easy exploration of algorithms Open Inventor, ITK and VTK integrations offer a vast amount of available modules 41 Get your free copy of MeVisLab at: www.mevislab.de The examples from this presentation are available at: www.mevislab.de/vis/ 42

MeVisLab is free for non-commercial usage Many algorithms presented in this tutorial can be explored with the free edition of MeVisLab Full MeVisLab SDK is available at academic and commercial rates Evaluation version available 43 I would like to thanks my colleagues at MeVis Research for their contributions to this presentation: T. Boskamp, O. Konrad, F. Link, J. Rexilius and W. Spindler 44