Top Banner
GIMIAS 1.2 &1.3 Xavi Planes February of 2010 CISTIB Computational Imaging Simulation Technologies in Biomedicine Department of Information & Communication Technologies Universitat Pompeu Fabra Barcelona, Spain www.cilab.upf.edu
14

Gimias 1.2 & 1.3

May 17, 2015

Download

Technology

GIMIAS 1.2 was released in October last year and GIMIAS 1.3 has been released in January of 2011. Most important features added during this period will be presented. These include: Command Line Plugins, EDOM, ERCO and Taverna workflows.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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