• 沒有找到結果。

Image Processing

N/A
N/A
Protected

Academic year: 2022

Share "Image Processing"

Copied!
60
0
0

加載中.... (立即查看全文)

全文

(1)

MeVisLab

1

(2)

MIP Prototyping

2

(3)

MeVisLab

http://www.mevislab.de/

In more than 20 years of development, MeVisLab has become one of the most powerful development platforms for medical image computing

research.

image processing, visualization and interaction modules can be combined to complex image processing networks using a graphical programming

approach

can easily be integrated using a modular, platform independent C++ class library.

JavaScript or Python components can be added to implement dynamic functionality on both the network and the user interface level.

based on the Qt application framework and the OpenInventor 3D visualization toolkit

ITK and VTKAddOns

3

(4)

Rapid Application Prototyping Environment

Cross-platform (Windows, Mac OS X, Linux)

Free for non-commercial usage

Supported file formats

DICOM, TIFF, DICOM/TIFF, RAW, LUMISYS, PNM, Analyze, PNG, JPEG

Currently 920+ Standard modules in the MeVisLab SDK core, 3000+ modules delivered in total

with 360+ ITK modules, 1470+ VTK modules, and 300+

modules in the Fraunhofer MEVIS release

4

(5)

MeVisLab development

Three levels

Visual level

Programming with “plug and play”

Individual image processing, visualization and interaction modules can be combined to complex image processing networks using a graphical

programming approach.

Scripting level

Creating macro modules and applications based on macro modules

Python scripting components can be added to implement dynamic functionality on both the network and the user interface level.

C++ level

Programming modules

New algorithms can easily be integrated using the modular, platform- independent C++ class library.

5

(6)

Image Processing

Filters

Diffusion filters, morphology filters, kernel filters, Hessian, and vesselness filters

Segmentation

Region growing, live wire, fuzzy connectedness, threshold, manual contours

Transformations

Affine transformations, distance transformations, projection and Radon transforms, manual registration

Statistics

Histograms, global image statistics, box counting dimension

Other

Unary/binary arithmetic, resampling/reformatting, dynamic data analysis, noise/test pattern generators

6

(7)

Modules for Visualization

MeVisLab provides modules for visualizing image data and other data objects in 2D and 3D.

A set of lookup table (LUT) modules allows applying basic window/level adjustment or flexible color encoding

schemes.

The visualization functionality in MeVisLab is based on the well-established visualization and interaction

library Open Inventor.

7

(8)

High-quality Volume Renderer:

MeVisLab Giga Voxel Renderer

MeVisLab features a high-quality volume renderer that is based on OpenGL and its extensions.

It supports the rendering of large volume datasets, even if they do not fit into the main memory.

An optimized, multi-resolution technique based on an

octree representation and 3D textures adaptively selects the best resolution depending on camera position, volume of interest, and available resources.

8

(9)

MeVisLab Software Development Kit (SDK)

Using the MeVisLab Software Development Kit (SDK), a developer is able to implement and test own algorithms, visualization or interaction methods, or even complete processing workflows.

The MeVisLab SDK offers a variety of features that support module programming, scripting, and network development.

9

(10)

Open Inventor

An object-oriented 3D toolkit developed by Silicon Graphics (SGI)

offering a comprehensive solution to interactive graphics programming problems

Most of the visualization modules of MeVisLab make use of Open Inventor.

10

(11)

Open Inventor (OIV)

Direct Open Inventor node support

Open Inventor:

Scene graph paradigm

Object, rendering, transformation, property, … nodes

Based on OpenGL

Extensions to support 2D image viewing/manipulation

Mixed ML/Open Inventor Modules

http://www.mevislab.de/mevislab/features/open-inventor/

11

(12)

Open 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

12

(13)

Integration of Visualization,

Segmentation and Registration Toolkits

The Insight Segmentation and Registration Toolkit (ITK) is an extensive collection of leading-edge algorithms for

registration, segmentation, and analysis of multidimensional data.

It is an open-source, cross-platform software package written in C++ and supported by the US National Library of Medicine.

The Visualization ToolKit (VTK) is an open source, freely available software library for 3D computer graphics,

image processing, and visualization.

It has become one of the most popular open source toolkits for visualization purposes and is used by thousands of

researchers and developers around the world.

13

(14)

MeVisLab User Interface

14

(15)

MeVisLab Modules

15

(16)

Image Processing Pipeline

16

(17)

Connectors

Connections

17

(18)

Network Layout

18

(19)

Network Quick Search

19

(20)

Using Groups

20

(21)

Using Notes

21

(22)

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/

22

(23)

Getting Started: Chapter 11. GUI Design in MeVisLab

23

(24)

Application Prototyping

Hide network complexity

Design user interfaces

Scripting for dynamic components

24

(25)

View2D Module

25

(26)

View3D Module

26

(27)

Implementing the Contour Filter

27

(28)

28

(29)

Creating a New Group

29

(30)

Parameter Connection for Synchronization

30

(31)

Getting Started: Chapter 5. Defining a Region of Interest

a network that allows defining a 2D region of interest

(ROI), that is by selecting a region of the image in the first viewer, the selected region is displayed as a subimage in a second viewer

31

(32)

Getting Started: Chapter 7. Creating an Open Inventor Scene

a dynamically definable applicator (needle for minimally invasive surgeries) shall be placed at a position and an angle relative to the rendering of an anatomical image

32

(33)

2D Viewers

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

33

(34)

Winged Edge Mesh Library (WEM)

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

34

(35)

WEM Modules Overview

Generation:

WEMIsoSurface

Processing:

WEMCollapseEdges

WEMSmooth

WEMPurge

WEMClip

Rendering:

SoWEMRenderer

Different Render Modes

Optional Coloring by LUT Values

35

(36)

WEM Sceneshots

Network with iso surface

generation and polygon reduction

A liver surface colored by a LUT in bone context

36

(37)

Winged Edge Mesh IsoSurface

Four subnetworks, each showing different features of the WEMIsoSurface

37

(38)

Contour 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

CSO consists of a number of seed points and a number of path point lists

38

(39)

CSO Modules Overview

Generation (without interaction):

CSOIsoGenerator

Processing (with interaction):

CSOFreehandProcessor, CSOLiveWireProcessor, CSOIsoProcessor, CSOBulgeProcessor, …

Rendering

SoView2DCSOEditor, SoCSO3DVis

Misc

CSOConvertToImage, CSOConvertTo3DMask, CSOFilter, CSOManager, CSOLoad / CSOSave, …

39

(40)

SoView2DCSOEditor Example Network

40

(41)

SoView2DCSOExtensibleEditor Example Network

41

(42)

SoCSO3DVis Example Network

42

(43)

3D

43

(44)

44

(45)

DICOM Support

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

45

(46)

Fuzzy

FuzzyCluster

an implementation of the fuzzy c-means algorithm that

classifies an image into different clusters depending on the gray values

FuzzyConnectDistance

a segmentation algorithm based on Fuzzy Connectedness extended by the possibility to use a property based on the distance of image

elements to the center of the object to be segmented while calculating membership values

FuzzyObjectLabeling

46

(47)

FCM

47

(48)

48

(49)

ITK Wrapper

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

49

(50)

ITK Book Examples

50

(51)

ITK Watershed

51

(52)

Example Network of itkWatershedImageFilter

52

(53)

53

(54)

VTK Wrapper

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

54

(55)

VTK Example 1: Contour Filter

55

(56)

VTK Example 2: VTK/OIV mix

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

56

(57)

vtkBoxWidget2 Example Network

57

(58)

ITK Image Registration

58

(59)

Skeletonization

Skeletonization of a binary image by successive erosion of border voxels

vessel centerline extraction

in 2d and 3d

59

(60)

60

參考文獻

相關文件

“A feature re-weighting approach for relevance feedback in image retrieval”, In IEEE International Conference on Image Processing (ICIP’02), Rochester, New York,

Mehrotra, “Content-based image retrieval with relevance feedback in MARS,” In Proceedings of IEEE International Conference on Image Processing ’97. Chakrabarti, “Query

For the application of large size flat panel display such as LCD TV, Notebook, Monitor etc, the correlation color temperature can be adjusted via the color image processing circuit

Umezaki,B., Tamaki and Takahashi,S., "Automatic Stress Analysis of Photoelastic Experiment by Use of Image Processing", Experimental Techniques, Vol.30 , P22-27,

In the processing following action recognition, this paper proposes a human behavior description model to describe events occurring to human and exerts as decision and

Ahmad, A Variable Block Size Motion Estimation Algorithm for Real-time H.264 Video Encoding,  Signal Processing: Image Communication,

[7]Jerome M .Shapiro “Embedded Image Using Zerotree of Wavelet Coefficients”IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL,41,NO.12,DECEMBER 1993. [8 ]Amir Said Willam

It allows a much wider range of algorithms to be applied to the input data and can avoid problems such as the build-up of noise and signal distortion during processing.. Since