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
Outline Command Line Plugins Taverna workflow EDOM ERCO
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…
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
Command Line Plugins XML file main( ) StartNewModule Toolkit How?
Command Line Plugins (XML) <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <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> <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>
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(); }
Taverna Plugin (experimental) Use GIMIAS command line plugins in  Taverna 2.2.0   Local or remote execution using SSH
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
EDOM Extensible Data Object Model supports multiple data types
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
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
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
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

Gimias 1.2 & 1.3

  • 1.
    GIMIAS 1.2 &1.3Xavi 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
  • 2.
    Outline Command LinePlugins Taverna workflow EDOM ERCO
  • 3.
    Command Line PluginsExecutable applications with automated graphical interface Compatible with 3D Slicer framework Extended GIMIAS with basic filters for segmentation, registration, arithmetic operations, etc…
  • 4.
    Command Line PluginsBenefits 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
  • 5.
    Command Line PluginsXML file main( ) StartNewModule Toolkit How?
  • 6.
    Command Line Plugins(XML) <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <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> <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.
    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(); }
  • 8.
    Taverna Plugin (experimental)Use GIMIAS command line plugins in Taverna 2.2.0 Local or remote execution using SSH
  • 9.
    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
  • 10.
    EDOM Extensible DataObject Model supports multiple data types
  • 11.
    EDOM Benefits Usenative 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
  • 12.
    ERCO Extensible RenderingComponent 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
  • 13.
    Cmgui Advanced 3Dvisualization 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
  • 14.
    CMGUI Plugin Cmguiregions 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