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
May 17, 2015
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
Outline
Command Line Plugins
Taverna workflow
EDOM
ERCO
2
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
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
Command Line Plugins
XML file main( )
5
StartNewModule
Toolkit
How?
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>
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
Taverna Plugin (experimental)
Use GIMIAS command line plugins in Taverna 2.2.0
Local or remote execution using SSH
8
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
EDOM
Extensible Data Object Model supports multiple data types
10
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
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
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
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