Gimias 1.2 & 1.3


Published on

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.

Published in: Technology, Art & Photos
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Gimias 1.2 & 1.3

  1. 1. 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
  2. 2. Outline <ul><li>Command Line Plugins </li></ul><ul><li>Taverna workflow </li></ul><ul><li>EDOM </li></ul><ul><li>ERCO </li></ul>
  3. 3. Command Line Plugins <ul><li>Executable applications with automated graphical interface </li></ul><ul><li>Compatible with 3D Slicer framework </li></ul><ul><li>Extended GIMIAS with basic filters for segmentation, registration, arithmetic operations, etc… </li></ul>
  4. 4. Command Line Plugins <ul><li>Benefits </li></ul><ul><ul><li>Fast development of filters using command line applications </li></ul></ul><ul><ul><li>Save time generating the GUI </li></ul></ul><ul><ul><li>Improve reusability of plugins containing simple filters </li></ul></ul><ul><ul><li>Automatic landmarks and ROI selection </li></ul></ul><ul><li>Drawbacks </li></ul><ul><ul><li>No customized GUI </li></ul></ul><ul><ul><li>Not compatible for advanced interaction filters </li></ul></ul><ul><ul><li>Not possible to use EDOM </li></ul></ul>
  5. 5. Command Line Plugins <ul><li>XML file </li></ul><ul><li>main( ) </li></ul><ul><li>StartNewModule </li></ul><ul><li>Toolkit </li></ul>How?
  6. 6. Command Line Plugins (XML) <ul><li><?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> </li></ul><ul><li><executable> </li></ul><ul><li><category>Segmentation</category> </li></ul><ul><li><title>Marching cubes</title> </li></ul><ul><li><description> </li></ul><ul><li> 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. </li></ul><ul><li></description> </li></ul><ul><li><version>0.1.0.$Revision: 1.1 $(alpha)</version> </li></ul><ul><li><license></license> </li></ul><ul><li><contributor>Xavi Planes</contributor> </li></ul><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 = &quot;.vtk&quot;> <name>inputVolume</name> <label>Input volume</label> <channel>input</channel> <index>0</index> <description>Input Image</description> </image> </parameters> </executable>
  7. 7. Command Line Plugins (main) <ul><li>int main( int argc, char *argv[] ) </li></ul><ul><li>{ </li></ul><ul><li>PARSE_ARGS; </li></ul><ul><li>vtkSmartPointer< vtkStructuredPointsReader > reader; </li></ul><ul><li>reader = vtkSmartPointer<vtkStructuredPointsReader>::New(); </li></ul><ul><li>reader->SetFileName( inputVolume.c_str( ) ); </li></ul><ul><li>reader->Update(); </li></ul><ul><li>vtkSmartPointer< vtkMarchingCubes > mcubes; </li></ul><ul><li>mcubes = vtkSmartPointer<vtkMarchingCubes>::New(); </li></ul><ul><li>mcubes->SetInput( reader->GetOutput() ); </li></ul><ul><li>mcubes->SetComputeScalars( ComputeScalars ); </li></ul><ul><li>mcubes->SetComputeGradients( ComputeGradients ); </li></ul><ul><li>mcubes->SetComputeNormals( ComputeNormals ); </li></ul><ul><li>mcubes->SetValue( 0, Value ); </li></ul><ul><li>mcubes->Update(); </li></ul><ul><li>vtkSmartPointer< vtkPolyDataWriter > writer; </li></ul><ul><li>writer = vtkSmartPointer<vtkPolyDataWriter>::New(); </li></ul><ul><li>writer->SetFileName( outputMesh.c_str( ) ); </li></ul><ul><li>writer->SetInput( mcubes->GetOutput( ) ); </li></ul><ul><li>writer->Write(); </li></ul><ul><li>} </li></ul>
  8. 8. Taverna Plugin (experimental) <ul><li>Use GIMIAS command line plugins in Taverna 2.2.0 </li></ul><ul><li>Local or remote execution using SSH </li></ul>
  9. 9. Taverna Plugin (experimental) <ul><li>Benefits </li></ul><ul><ul><li>Compose workflows using several filters </li></ul></ul><ul><ul><li>Global overview of a complex workflow </li></ul></ul><ul><ul><li>Batch processing </li></ul></ul><ul><ul><li>Remote execution using SSH </li></ul></ul><ul><li>Drawbacks </li></ul><ul><ul><li>Install Taverna as separate application </li></ul></ul><ul><ul><li>Taverna is a Java application </li></ul></ul><ul><ul><li>Use disk data transfer </li></ul></ul><ul><ul><li>Not possible to view biomedical data in Taverna </li></ul></ul>
  10. 10. EDOM <ul><li>Extensible Data Object Model supports multiple data types </li></ul>
  11. 11. EDOM <ul><li>Benefits </li></ul><ul><ul><li>Use native data type of third party library </li></ul></ul><ul><ul><li>Automatic conversion between data types </li></ul></ul><ul><li>Drawbacks </li></ul><ul><ul><li>Sometimes data is lost between conversions </li></ul></ul><ul><ul><li>Incompatible types don’t allow to reuse the data buffer </li></ul></ul>
  12. 12. ERCO <ul><li>Extensible Rendering Component allows to extend GIMIAS Framework with multiple rendering libraries </li></ul><ul><li>Benefits </li></ul><ul><ul><li>Visualize same data object with different views </li></ul></ul><ul><li>Drawbacks </li></ul><ul><ul><li>Create additional rendering object when data buffers cannot be shared </li></ul></ul>
  13. 13. Cmgui <ul><li>Advanced 3D visualization software package with modeling capabilities </li></ul><ul><li>Is part of CMISS </li></ul><ul><li>CISTIB is working in collaboration with Auckland and Oxford for the electro-mechanical simulation of the heart </li></ul>
  14. 14. CMGUI Plugin <ul><li>Cmgui regions for processing and visualization </li></ul><ul><li>Cmgui rendering view </li></ul><ul><li>Link views in time and position </li></ul><ul><li>Visualize images </li></ul><ul><li>Dynamic Cmgui toolbar </li></ul><ul><li>Automatic conversion between VTK and Cmgui data types </li></ul>