YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Gimias 1.2 & 1.3

GIMIAS 1.2 &1.3

Xavi Planes

February of 2010

CISTIB Computational Imaging Simulation Technologies in Biomedicine

Department of Information & Communication TechnologiesUniversitat Pompeu Fabra

Barcelona, Spainwww.cilab.upf.edu

Page 2: Gimias 1.2 & 1.3

Outline

Command Line Plugins

Taverna workflow

EDOM

ERCO

2

Page 3: Gimias 1.2 & 1.3

Command Line Plugins

Executable applications with automated graphical interface

Compatible with 3D Slicer framework

Extended GIMIAS with basic filters for segmentation, registration, arithmetic operations, etc…

3

Page 4: Gimias 1.2 & 1.3

Command Line Plugins

Benefits Fast development of filters using command line

applications Save time generating the GUI Improve reusability of plugins containing simple filters Automatic landmarks and ROI selection

Drawbacks No customized GUI Not compatible for advanced interaction filters Not possible to use EDOM

4

Page 5: Gimias 1.2 & 1.3

Command Line Plugins

XML file main( )

5

StartNewModule

Toolkit

How?

Page 6: Gimias 1.2 & 1.3

Command Line Plugins (XML)<?xml version="1.0" encoding="utf-8"?><executable> <category>Segmentation</category> <title>Marching cubes</title> <description>

Generate isosurface(s) from volume. vtkMarchingCubes is a filter that takes as input a volume (e.g., 3D structured point set) and generates on output one or more isosurfaces. One or more contour values must be specified to generate the isosurfaces. Alternatively, you can specify a min/max scalar range and the number of contours to generate a series of evenly spaced contour values.

</description> <version>0.1.0.$Revision: 1.1 $(alpha)</version> <license></license> <contributor>Xavi Planes</contributor>

6

<parameters> <label>Marching cubes Parameters</label> <boolean> <name>ComputeNormals</name> <longflag>--computeNormals</longflag> <label>Compute Normals</label> <default>false</default> <description> Normal computation is fairly expensive in both time and

storage. If the output data will be processed by filters that modify topology or geometry, it may be wise to turn Normals and Gradients off. </description>

</boolean><double> <name>Value</name> <longflag>--value</longflag> <label>Value</label> <default>0.5</default> <description> Set a particular contour value at contour number 0.

</description> </double> </parameters>

<parameters> <label>IO</label> <description>Input/output parameters</description> <image fileExtensions = ".vtk"> <name>inputVolume</name> <label>Input volume</label> <channel>input</channel> <index>0</index> <description>Input Image</description> </image></parameters>

</executable>

Page 7: Gimias 1.2 & 1.3

Command Line Plugins (main)

int main( int argc, char *argv[] ){

PARSE_ARGS;

vtkSmartPointer<vtkStructuredPointsReader> reader;reader = vtkSmartPointer<vtkStructuredPointsReader>::New();reader->SetFileName( inputVolume.c_str( ) );reader->Update();

vtkSmartPointer<vtkMarchingCubes> mcubes;mcubes = vtkSmartPointer<vtkMarchingCubes>::New();mcubes->SetInput( reader->GetOutput() );mcubes->SetComputeScalars( ComputeScalars );mcubes->SetComputeGradients( ComputeGradients );mcubes->SetComputeNormals( ComputeNormals );mcubes->SetValue( 0, Value );mcubes->Update();

vtkSmartPointer<vtkPolyDataWriter> writer;writer = vtkSmartPointer<vtkPolyDataWriter>::New();writer->SetFileName( outputMesh.c_str( ) );writer->SetInput( mcubes->GetOutput( ) );writer->Write();

}

7

Page 8: Gimias 1.2 & 1.3

Taverna Plugin (experimental)

Use GIMIAS command line plugins in Taverna 2.2.0

Local or remote execution using SSH

8

Page 9: Gimias 1.2 & 1.3

Taverna Plugin (experimental)

Benefits Compose workflows using several filters Global overview of a complex workflow Batch processing Remote execution using SSH

Drawbacks Install Taverna as separate application Taverna is a Java application and GIMIAS is written in

C++ Use disk data transfer Not possible to view biomedical data in Taverna Workflow cannot contain user-interaction activity

9

Page 10: Gimias 1.2 & 1.3

EDOM

Extensible Data Object Model supports multiple data types

10

Page 11: Gimias 1.2 & 1.3

EDOM

Benefits Use native data type of third party library Automatic conversion between data types

Drawbacks Sometimes data is lost between conversions Incompatible types don’t allow to reuse the data buffer

11

Page 12: Gimias 1.2 & 1.3

ERCO

Extensible Rendering Component allows to extend GIMIAS Framework with multiple rendering libraries

Benefits Visualize same data object with different views

Drawbacks Create additional rendering object when data buffers

cannot be shared

12

Page 13: Gimias 1.2 & 1.3

Cmgui

Advanced 3D visualization software package with modeling capabilities

Is part of CMISS CISTIB is working in

collaboration with Auckland and Oxford for the electro-mechanical simulation of the heart

13

Page 14: Gimias 1.2 & 1.3

CMGUI Plugin

Cmgui regions for processing and visualization

Cmgui rendering view Link views in time and position Visualize images Dynamic Cmgui toolbar Automatic conversion between

VTK and Cmgui data types

14


Related Documents