Home
Chapter 2 and Install GIMIAS
Contents
1. 285 13 MB 6 90 G Figure 3 29 VisualProperties Volume Rendering GIMIAS File Edit View Tools Help Dicom Scene View BTA Ea OL ae S Working area BX Appearance Suitcase x Input 3i 0 Volume vtk Volume image XA Image Settings Volume Rendering M Enable YR v Enable XRay VR XR XR transf Function threshold XR_YR only 10 17 v XRay Attenuation 10 Xray only 20 90 Use GPU Acceleration Z Use LOD Transfer Function NR VR v Scalar opacity mapping Range 4981 06 13635 5 Scalar Opacity Scalar color mapping ii Range 4981 06 13635 5 Scalar ROGOBO Gradient opacity mapping Range 0 29323 3 Gradient magnitude 0 7798 Opacity 0 00 4326 1861 Figure 3 30 VisualProperties X Ray Volume Rendering With the Enable XRay VR checkbox it is possible to choose a 2D texture rendering algorithm that performs a rendering visualization that simulates the XRay imaging technique figure 13 30 The accuracy and speed of the volume rendering can be regulated by enabling disabling GPU acceleration and or level of details LOD To adjust the visualization of the volume rendering it is possible to choose the most appropriate transfer function from a list of predefined functions in order to apply a specific mapping for the scalar opacity the scalar color and the gradient based opacity It is also possible t
2. EJES File Edit View Tools Selection Help Dicom Scene View Sandbox t gt E 996 e 1 a fr 7 DN sf mals ie IEE Eeen E A EAT E EE 00 Working area mf Data tree Gx ViewO X View X Root v 1 volume 4 AneurysmWithyessel _ 6 VesselForStenting Unload selected Working rea configuration Bx Workgin Area Manager gt gt gt Manage Views Add Column View Add Row View l Remove View Current View configuration Parameters Number of slices 3 Apply to all Current SliceView Winz v view configuration Direction Flip Rotate Ov O0 180 O 270 Figure 3 27 Custom Working Area Current View Configuration Transversal v 230 89 MB 5 59 x Number of slices set the number of slices planes displayed in the window x Apply to all apply the view configuration settings direction rotation flip to all views or the current view only Current SliceView choose the view plane to which you want to apply the view configuration settings direction rotation flip x Direction choose the direction of the selected view s Frontal Sagittal Transversal or 26 GIMIAS User Manual 3 3 x Flip visualize the mirror reversal of the selected view s across its vertical axis x Rotate choose the rotation angle of the selected view s 27 GIMIAS User Manual 33 3 3 5 View Menu gt Visualization Visual Properties This panel allows to change the vis
3. CSnake is a CMake wrapper CMake is a cross platform open source build system used to control the software compilation process using platform and compiler independent configuration files CSnake is a tool developed at CISTIB using Python language which provides a high level user interface for non CMake users in order to configure and build multiplatform solutions like GIMIAS 7 2 Set up CSnake 1 Prerequisites e Python 2 4 2 5 or 2 6 e CMake 2 8 e A compiler on Windows machines Visual Studio 9 2008 is suggested 2 CSnake download 3 Launch CSnake from the installation path 67 GIMIAS User Manual 7 3 7 3 Use CSnake to build GIMIAS 7 3 1 Configure CSnake options In CSnake Options tab 1 Aa Q Specify the compiler Visual Studio 9 is suggested e Choose Visual Studio 9 2008 if you want to build GIMIAS on a 32 bit machine e Choose Visual Studio 9 2008 Win64 if you want to build GIMIAS on a 64 bit machine Specify the path of the cmake exe file Specify the path of the python exe file Specify the path of the compiler Check the Ask to launch VisualStudio checkbox if you want to launch Visual Studio automatically after configuring the solution CSnake GUI F BinGdev CSnakeGUl File Help Context Options Select Projects Compiler Visual Studio 9 2008 Win64 Build Type Debug ndRelease Settings Path to CMake Co Program Files x86 CMake 2 8 bin cmake exe a Path to
4. e Dynamic library MyThirdParty dll e Import library MyThirdParty lib To include MyThirdParty within the Third Party libraries you need to copy your library header file in the folder MyProject MyProject_src thirdparties MyThirdParty include and the lib and dll files in MyProject MyProject_src thirdparties MyThirdParty lib 88 GIMIAS User Manual 8 5 Now you need to edit in MyThirdParty folder the CMake and CSnake files needed to configure the project e CMakeLists used by CMake The CMakeLists txt defines the paths of the libraries and the include files and the libraries to be included Add here the name of your lib files for the release and debug version CMakeLists txt PROJECT MyThirdParty REGISTER_THIRDPARTY PROJECT NAME MyThirdParty 4 MyThirdParty libraries and headers 5 6 7 T LF WIN32 S SET MyThirdParty_ LIBRARY DIRS 9 S S PROJECT NAME SOURCE DIR 1lib 10 j E 7 E apl 12 SET MyThirdParty INCLUDE DIRS le S PROJECT HAME SOURCE DIRI 7 include 14 T5 SET MyThirdParty LIBRARIES 16 here goes the name of your lib files de optimized myLibName here goes the name of your debug lib files 19 debug myLibName 20 ad fas ELSE WIH32 24 MESSAGE SEND_ERROR UZ MyThirdParty not implemented for Linux 26 ENDIF WIH32 Figure 8 19 Edit CMakeLists txt with the name of the new lib e csnMyThirdParty py Used by CSnake Add here the name of your
5. l GIMIAS User Manual 33 3 3 6 Tools Menu GIMIAS File Edit View ERIE Selection Help Signals K Dicom Execute command ae o Basic Surface Editing E las El a Advanced Surface Editing Statistics K K K Mesh processing K K K Wor ki ng area source Image processing Figure 3 33 Tools Menu 3 3 7 Tools Menu gt Signals The signals functions are active only when the Signal Viewer Plug in is loaded For reference on how to use these functions see 4 6 3 3 8 Tools Menu gt Surface Editing The surface editing functions are active only when the Mesh Editor Plug in is loaded For reference on how to use these functions see 4 5 3 3 9 Tools Menu gt Statistics ROI Statistics This function allows to propagate a ROI over time and do measurements on the image in the selected ROI mean standard deviation minimum and maximum intensity values It is available only when the Manual Segmentation Plug in is loaded See 4 4 for details Statistics on Tetra Mesh This function allows to calculate statistics on volumetric tetrahedral meshes The statistics that can be computed are aspect ratio min angle edge ratio This function is active only when the Mesh Editor Plug in is loaded 3 3 10 Tools Menu gt Mesh Processing This menu item includes generic tools for mesh processing Some vtk and mitk filters are also provided as external tools that can be loaded in GIMIAS GUI Refer to the onlin
6. GIMIAS User Manual 7 3 7 3 4 Build Gimias Automatic configuration In CSnake Context tab 1 Press Configure All This will automatically perform all steps needed to build GIMIAS and generate the executable file Gimias exe in your build folder e g Bin bin Release To perform all the steps to build GIMIAS manually you can follow the instructions provided in the following paragraphs CSnake GUI F BinGdev CSnakeGUI Seles File Help context Select Projects Project Folders Root Folders F GimiasCodessre Remove Third Party Folders NS Source folder Build folder F iGimiasCode thirdParty F Bin thirdParty Move Up Move Down Configure Project Configuration C nake File F IGimiasCode src Apps Gimias csnGIMIAS py w azas A Update CSnake version 2 4 0 Working patience please Action Select Projects Cone 3 seconds pr Create CMake files and run CMake Configure Third Party Folders Install Files to Build Folder Configure ALL j Launch IDE 71 GIMIAS User Manual 7 3 7 3 5 Build Third Party Libraries Manual configuration In order to build the third party libraries manually Advanced users you need to complete the following steps In CSnake Context tab 1 Press Configure Third Party Folder this will create a Visual Studio solution CILAB_TOOLKIT sin for the thirdparties in the folder Bin thirdParty 2 Open the Visual Studio solution If you checked the option
7. 18 810937 Standard deviation 260 812266 Minimum 1935 000000 Maximum 421 000000 Update Level Left ventricle epi v Create signal Figure 4 7 ROI Statistics 1 Propagate over time This option allows the user to copy the mask image in a range of time steps You must specify the range setting the left and right values 2 Measures This shows the mean standard deviation minimum and maximum intensity values of the image corresponding to the selected level and time step You can change the level using the combobox and the time step using the time management widget View gt Windows gt Time management When you click update the values are refreshed with the selected level and time step 3 Create signal You can create a signal to compare the evolution of those values over time Those values can be computed using only the selected level You can visualize the signal using the signal viewer 46 GIMIAS User Manual 4 5 4 5 Mesh Editor Plug in 4 5 1 Mesh creation This tool can be accessed through the menu Tools gt Basic Surface Editing gt Mesh Creation This function generates a volumetric mesh from 2D ROIs Draw two ROIs on two non adjacent slices Choose Tools gt Basic Surface Editing gt Mesh creation Choose the method Delauneay Mesh or Marching Cubes Press Apply Slice 104 Patient name th Figure 4 8 Generate volumetric mesh 4T GIMIAS User Manual 4 5 4 5 2 Extract Surf
8. GIMIAS User Manual GIMI 4S SA E UNIVERSITAT POMPEU FABRA CISTIB ciber bbn User Manual v 1 2 for GIMIAS 1 2 0 Le SES pe E Licence GIMIAS is trademarks of Center for Computational Image and Simulation Technologies in Biomedicine CISTIB Universitat Pompeu Fabra UPF Barcelona Spain The documentation for GIMIAS is freely available and distributable under the BSD License Copyright 2010 Center for Computational Image and Simulation Technologies in Biomedicine CISTIB Universitat Pompeu Fabra UPF Barcelona Spain All rights reserved Redistribution and use in source and binary forms with or without modification are permitted provided that the following conditions are met e Redistributions of source code must retain the above copyright notice this list of conditions and the following disclaimer e Redistributions in binary form must reproduce the above copyright notice this list of con ditions and the following disclaimer in the documentation and or other materials provided with the distribution e Neither the name of the Zang Industries nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBU TORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNE
9. e Beta version running on Linux platform Beta version running on Mac OS X a mala ll ll el ola Figure 1 2 Example of prototype interfaces on GIMIAS The image on the left shows the results of a flow simulation in a vessel geometry for aneurysm treatment risk assessment On the right a cardiac segmentation tool that allows to build patient specific models GIMIAS User Manual 1 3 13 GIMIAS Users GIMIAS as a fast prototyping open source framework is intended mainly for two different user profiles e GIMIAS for clinicians and researchers GIMIAS based prototypes are specifically developed for researchers who want to test methodologies and validate the practical feasibility of research concepts Reaserch methods and algorithms can be integrated in GIMIAS in order to allow physicians and clinical scientists to assess and validate them as end user applications e GIMIAS for developers and researchers Users can develop new functionalities using GIMIAS as an API framework in order to obtain new GIMIAS based clinical prototypes by integrating new methodologies and or algorithms resulting from research activity 2 1 Mes corinne dal Peet algoritma i wl Pred es an mpenees them E alu alez polo vaa Dut onn firderk PS ae resagrehii ilinizi rannel ated pot lec 1 Bla elel ee lele oso AO ns y F Dewalags aunda S E eee X prototype Doc Lest Imegrates alot iard creas prc buly pare Fuat or
10. If the selected data entity represents a 4D 8D t data a number of volume images in vtk format equal to the number of timepoints will be saved in the same folder a new folder is created with the same name of the selected data entity in the path chosen by the user e Save image of current 3D view the 3D view currently displayed in GIMIAS working area will be saved in png format e Open session the session saved in xml format can be opened and all Data Entities contained in the session are loaded in the Data Tree preserving parent child relations e Save session all Data Entities in the Data Tree are saved in the same folder The Data List structure parent child relations is stored in a xml file 1 A Data Entity represents a single data object e g medical image transformation surface mesh model simulation result etc A description of GIMIAS data object model is provided in section 5 3 The Data List contains all Data Entities currently available for processing in the application 16 GIMIAS User Manual 3 3 e Workflow manager this function allows to manage workflows in GIMIAS Each GIMIAS workflow is stored in a xml file and provides a way to organize the workflow steps and provide the end user with a simplified navigation from the initial step to the final step Each workflow step tab page contains a set of processing steps Each processing step can have a set of alternatives In addition for each workflow step specific
11. Landmarks2 2 apex Landmark name LandmarksO Landmark name laorta Interactor type Interactor type PointSet PointSet New Landmarks New Landmarks Figure 3 35 Landmark Selector panel 2 SHIFT Click on the image and place the Landmarks in the desired position The Landmarks will be associated in the Data List to the image you select as input data 3 The list of ID and names of the Landmarks placed on the image appears in the Landmark Selector panel The Landmarks can be renamed by entering the new name in the Landmark Name text box 4 To get the coordinates of the landmarks in mm select the Landmarks in the Data tree then from the top menu select File gt Save selected data entity 5 Open the vtk file saved This includes the coordinates in mm of the Landmarks placed on the image 33 GIMIAS User Manual Working area H Landmaiks vtk 1 vtk DataFile Version 3 0 2 DataEntityType Point set ASCII 4 DATASET POLYDATA 5 POINTS 3 float 6 42 2691 112 402 43 4689 34 8857 112 402 58 605 23 995 112 402 54 3595 POINT_DATA 3 9 FIELD Fieldbata 1 0 LandmarksName 1 3 string i AORTA 2 LVAPEX 7 MITRAL Landmark coordinates Figure 3 36 Add landmark points To create a new set of landmarks click on New Landmarks in the selection toolbox 3 3 34 GIMIAS User Manual 3 3 Measurement This tool allows to measure the distance beetween two points on an image 1 choose measurement from the
12. Simply choose the desired scalar array from the list to visualize it Once a new scalar array is selected the range of visualized values is automatically set to the maximum range of values present in the array and the currently selected color lookup table is automatically scaled to the actual field range You can also choose to manually specify the desired range for the visualization by specifying the min and max desired values and click on Select Range button The Automatic Range button will reset the range to the maximum available For each selected scalar field and range you can choose the desired color lookup table from a drop down menu of preselected standard lookup tables and eventually visualize the colorbar in the 3D rendering window To enhance the visualization you can also change the background color of the 3D rendering window e Lighting Settings active for meshes only This tab is used to setup the lighting settings of the rendering scene Standard lighting parameters could be choosen like the ambient diffuse and specular colors and their multiplicative coeffecients the opacity of the mesh and the specular power All this coefficients are used according to the currently selected lighting model Phong Gouroud or flat shaded surface The mesh representation can be chosen in order to visualize it as a surface a wireframe or a series of points in the latter cases additional parameters could be choosen like the wi
13. p3 Zoom out Y al i Fit al Figure 4 18 Add annotation to signal 2 Drag the annoation to set the duration Figure 4 20 Choose annotation duration 59 GIMIAS User Manual 4 6 3 Click on Open annotation widget to edit the annotation SignalPlotAnnotations Signal Annotations Parameters Type Duration Remove 12leads gdf 1 S H e DE Ea Die piis Tainan A RL OTN Figure 4 21 Edit the annotation 56 GIMIAS User Manual 4 7 4 7 Image Tools Plug in These tools can be accessed through the menu Tools gt Image Processing 4 7 1 Cropping Tool This tool allows to select a volume within the image and do a cropping of the image e From the Top menu select Tools gt Cropping tool e The Cropping tool will be opened in the Tools widget in the right panel e The bounding box will be displayed on the image e Adjust the bounding box within the image to select the cropping area To adjust the bounding box use CTRL Click to select the yellow balls when selected the ball becomes red in the 3D view and drag the balls to move the planes of the box e When the desired volume is selected press Crop in the Tools widget File Edit View Help Dicom AngioMo Basic Surface Editing gt Scene View Stenting ns n D Ale alls 6 s22 Propagate Signal time Statistics on Tetra mesh Tools Processor Widget x Input data Input image 17 0 Volume vtk Volume image XA Croppin
14. Ask to launch VisualStudio checkbox in the Options tab the solution will be automatically opened 3 Compile the ThirdParties in VisualStudio CSnake GUI F BinGdev CSnakeGUl File Help Project Folders Root Folders F GimiasCode sre Remove Detect Third Party Folders i E Source folder Build folder O a E iGiniasCode thirdParty F Bin thirdParty Remove Move Up Move Down Configure lo Project Configuration C nake File F IGimiasCode src Apps Gimias csnGIMIAS py w UR Update CSnake version 2 4 0 Working patience please Action Select Projects Done 3 seconds 12 GIMIAS User Manual 7 3 7 3 6 Build Gimias Manual configuration After you built the third parties in order to build GIMIAS manually Advanced users you need to complete the following steps In CSnake Context tab 1 Press Create CMake files and run CMake this will create a Visual Studio solution gimias sIn for Gimias in the folder Bin executable gimias 2 Press Install Files to Build Folder 3 Press Launch IDE 4 Compile Gimias in Visual Studio CSnake GUI F BinGdev CSnakeGUI Seles File Help Context Options Select Projects Project Folders Root Folders F GimiasCode sre Remove Third Party Folders 7 I Source folder Build folder F GimiasCode thirdParty F Bin thirdParty Move Up Move Down Configure Project Configuration C nake File F IGimiasCode src Apps Gimias csn
15. DICOMDIR files The same operations can be done using the quick access buttons available in the DICOM IO Toolbar Al GIMIAS User Manual 4 1 Open DICOM file Open DICOM Directory TE p Save DICOM file Connect to PACS Figure 4 2 Dicom IO Toolbar In the DICOM plugin all DICOM data is represented as a tree in the DICOM Tree Viewer to facilitate the visualization of patient study series and time point data Using the Space and Time sliders it is possible to navigate through all available slices and timepoints Click on the Add to datalist button to add the selected 2D 3D or 4D 3D t images to the Data Tree In this way they are converted into vtk format and ready to be rendered in other plugins 42 GIMIAS User Manual 4 3 4 2 Scene View Plug in The Scene View plug in provides all common visualization and processing functions of GIMIAS framework It does not contain any specific functionality GIMIAS ex File Edit View Tools Help Dicom Scene View 999 sasi a Working area DB ares Working area DB Data tree ax Root demo CT pa15_14 vtk Unload selected Command panel ox 111 30 MB 2 70 Figure 4 3 Scene View Plugin 4 3 Sandbox Plug in The Sandbox plug in can be used by plug in developers as a template to create new plug ins and add new functionalities It includes all coomon functionalities of GIMIAS framework In addition it provides three GUI panel widgets for comm
16. Ed H e lu Figure 4 9 Extract Main Surface 48 GIMIAS User Manual 4 5 4 5 3 Ring Cut This tool can be accessed through the menu Tools gt Advanced Surface Editing gt Ring Cut This tool allows to cut a tubular geometry in two parts in a point selected by the user e Select the geometry that you want to cut e From the Top menu select Tools gt Advanced Surface Editing gt RingCut e The Tools widget is automatically opened in the right panel e Press NewCut e Select a point SHIFT CLICK on the surface of the geometry a preview ring will be drawn around the surface in the selected point e If the point is correctly placed in the desired position press Split using ring cut otherwise select a different point or press Cancel to discard e The geometry will be split into two parts colored in orange and cyan respectively to keep one of them select the corresponding color from the drop down menu and press Keep surface Sele gt Scene N Basic Surface Editing gt Advanced Surface Editing gt vanced Surface Execute command Tools Processor Widget Input surface 6 2 ExtractedMainSurface vtk Surface mesh Input point Figure 4 10 Ring Cut select point Tools Processor Widget Tools Processor Widget ox Input surface 6 2 ExtractedMainSurface vtk Surface mesh v Input surface 6 2 ExtractedMainSurface vtk Surface mesh Input point 7 RingCut poin
17. Move Up Move Down Configure Project Configuration CSnake File F GimiasCode src Apps Gimias csnGIMIAS py Instance gimias Update CSnake version 2 4 0 Working patience please Action Select Projects Done 3 seconds Create CMake files and run CMake Configure Third Party Folders Install files to Build Folder Configure ALL Launch IDE CL L Landes 14 Chapter 8 Develop your own project for GIMIAS This chapter describes how to add your own project to GIMIAS This can apply to one or more of the following cases 1 Create a new library in the toolkit 2 Integrate a new library in GIMIAS as third party including either the source code or the precompiled library 3 Create a new plug in in GIMIAS to call functions already available in GIMIAS or functions belonging to the new module in the toolkit or functions belonging to the new third party library 8 1 Pre requisites 1 Before using this tutorial you need to download and build GIMIAS following the How to build GIMIAS tutorial 2 In order to develop a new application in GIMIAS make sure that you have installed the following tools A SVN client Smart SVN or Tortoise SVN A compiler Microsoft Visual Studio 9 2008 is suggested CMake 2 8 CSnake 2 4 0 Python 2 4 2 5 or 2 6 wxGlade 3 Donwnload the StartNewModule tool and install it on your machine 19 GIMIAS User Manual 8 2 8 2 Create
18. These plug ins extend the Framework layer with specific processing or visualization functionalities 60 GIMIAS User Manual 5 2 Framework layer Contains 6 main components from top to bottom Widgets Several widgets are available to be used by any plug in Interactors GUI Interaction for data objects in the rendering scene Kernel Kernel objects like plug in manager data container logger rendering tree IO Reader and writers of different formats from and to files Data Handling Data types and its associated builders to create objects of each data type and create the rendering data objects Common Objects GIMIAS object base class Exceptions container based on observer pattern Plugin layer e DICOM Plugin e Scene View Plugin e Widgets e Interactors e Kernel e O e Data Handling e Common Objects Figure 5 2 GIMIAS Framework layers GIMIAS common plug ins are the Cardio Tools Plugin Dicom Plugin Image Tools Plugin Manual Segmentation Plugin Mesh Editor Plugin Neuro Tools Plugin Sandbox Plugin Scene View Plugin Signal Viewer Plugin All these plug ins are available in GIMIAS Open Source version A developer can extend GIMIAS creating specific plug ins Specific plug ins allow to extend GIMIAS framework with specific processing steps like segmentation of a vessel stenting or morphological analysis of an intracranial aneurysm for angiography vascular applications or segmentation of the heart
19. close all and for flat holes see Figure 4 14 a SingleCenterPoint b RadialTriangles c LinearToCenterNonReducing d LinearToCenter e SmoothToCenter f SmoothPatch g CloseRefinerFairer Figure 4 14 Volume closing methods lLiepa P 2003 Filling holes in meshes 02 GIMIAS User Manual 4 5 4 5 6 Surface Selector You can enable the surface selector through the corresponding Icon in the Interactors Toolbar or through the menu option Tools gt Selection gt Surface Selection Toolbox Input data Z aneu Surface mesh Select Unselect Interactor Type TriangleSelect SphereSelect BrushSelect Disable Selection Select Tools Remove Cells Local Refiner Taubin Smooth Figure 4 15 Surface Selector GUI and Toolbar direct access In the Selection Toolbox different options will appear all of them use the CTRL Left Mouse Button interaction you can also choose if you want to select or to unselect 1 TriangleSelect allows the user to select unselect triangle by triangle see Figure 4 16a 2 SphereSelect allows the user to select unselect a circular region using a sphere that grows dragging the mouse see Figure 4 16b 3 BrushSelect allows the user to select unselect a region with a brush of defined radius by dragging you will create a path with your brush the size is given in function of the point unit of the mesh it can be changed
20. dll files for the release and debug version csnMyThirdParty py 1 Used to configure MyThirdParty import csnBuild Nm mythirdparty csnBuild Project MyThirdParty third party mythirdparty pathsManager useFilePath 3s MyThirdParty UseMyThirdParty cmake mythirdparty GetBuildFolder 6 mythirdparty pathsManager configFilePath 3 s MyThirdParty Myutbhicdbartyvconfig cmake mythirdparty GetBuildFolder 3 mythirdparty AddFilesToInstall mythirdparty Glokf lib nameofyourdlldebug dll A debugOnly 1 _WIN32 1 3 mythirdparty AddFilesToInstall mythirdparty Glob lib nameotyourdllrelease dll y _releaseOnly 1 _WIN32 1 10 Figure 8 20 Edit csnMyThirdParty py with the name of the new dll 89 GIMIAS User Manual 8 5 3 Build the third parties for the new project Use CSnake to build the solution containing your new third party Open CSnake and configure it as in figure CSnake GUI F BinGdev_ CSnakeGUI Context Options Select Projects Kak T Project Folders Build Folder F Bin Root Folders F GimiasCode src E MyProject MyProject_src Third Party Folders Source folder F GimiasCode thirdParty E MyProject MyProject_src thirdparties Project Configuration Build folder F Bin thirdParty F Bin tpMyProject CSnake File E MyProject MyProject_src csnMyProject py Instance myproject 7 Remove Remove Move Up
21. effort to test methodologies and algorithms in the form of end user applications The prototypes developed on GIMIAS can be verified by end users in real scenarios and with real data at early development stages thus reducing the time and effort required to get new concepts from research to the clinical environment Figure shows an example of prototype developed on GIMIAS framework for cardiac modeling and quantification applications 1 2 GIMIAS Main Features The main features of GIMIAS framework are the following GIMIAS User Manual 1 2 Cardiac Modeling and Quatification Figure 1 1 Example of GIMIAS prototype and the steps that can be integrated into one application e Plugin architecture e Workflow management e Multimodal 3D image interactive visualization and time navigation e Supported data 3D images surface meshes volumetric meshes signals landmarks e Data visualization OrthoSlice MultiSlice MultiViews Direct volume rendering XRay rendering e Supported IO formats DICOM vtk vti stl analyze NIFTI e Image based analysis and functional analysis tools e DICOM browser viewer and PACS connection e Surface mesh manipulation tools e Manual segmentation tools e Signal viewer e Landmark selection GIMIAS User Manual 1 2 e Image cropping Based on common open source libraries vtk itk mitk demtk boost Netgen OpenGL wx Widgets e Running on Windows platform at 32 and 64 bits
22. follows myLib AddProjects baseLib vtk e specify all library modules The library module created by default is tlFirst and includes template files cpp and h containing one template class To create your own classes it is suggested to make a copy of the tlFirst folder rename it e g tlMyClass rename the source and include files e g tlMyClass cpp and 18 GIMIAS User Manual i hae MyProjectiMyProject _Srcimodules MyLib Date Time t DIR 08 07 2010 18 01 31 applications DIR 08 07 2010 17 35 40 build DIR 08 07 2010 17 35 40 doc DIR 08 07 2010 17 35 40 O libmodules DIR 08 07 2010 17 35 40 8 3 tIMyClass h contained in the folder and include it in the library modules as follows myLib AddLibraryModules tlMyClass DIR 08 07 2010 17 35 40 48 08 07 2010 17 35 40 293 08 07 2010 17 35 40 tarber 511 08 07 2010 18 01 31 csnmyLibapps py 236 08 07 2010 17 35 40 h MyLibPCH h 288 08 07 2010 17 35 40 R Used to configure MyLib import csnCilab from csnCISTIBToolkit import myLib csnCilab CilabModuleProject MNyLib library myLib AddLibraryModules tlFirst myLib iddProjects baseLib myLib AddTests tests tlFirstTest cxxTest myLib SetPrecompiledHeader MyLibPCH h Edit to add all projects you want to add to your solution Edit to add all needed dependencies to other libraries Figure 8 6
23. menu Tools gt Selection gt Measurements or click on the button in the Selection Toolbar see 3 4 5 2 SHIFT click on the image to place two Landmarks in the desired position and obtain the measure of their distance The Landmarks will be associated in the data list to the image you select as input data 3 To save the measure select the Measure in the Data list then from the top menu select File gt Save selected data entity 4 The vtk file saved includes the coordinates in mm of the landmarks placed on the image Slice 31 Intensity 7 1 vtk DataFile Version 3 0 2 DataEntityType Measurement 3 ASCII DATASET POLYDATA 5 POINTS 2 float 6 37 5369 117 764 53 6219 37 5369 107 796 43 6541 Distance measurement Figure 3 37 Measure distance between two points Bounding Box This function allows to select a region of interest over an image using a bounding box To adjust the dimension of the bounding box use CTRL Click to select the yellow balls when selected the ball becomes red in the 3D view and drag the balls to move the planes of the box figure 3 38 Press the export button to generate a data entity containing the bounding box which can be used in further processing operations or saved as vtk Surface This function allows to select mesh regions and perform local editing operations on the selected regions It is active only when the Mesh Editor Plug in is loaded For reference on how to use
24. oK m_btnApply E lt Design gt MyPluginMyF unctionalityPanelWidg Sel Apply sizer _ 1 jwxBoxSizer El 0 Proportion IV wxEXPAND T wxALIGN_RIGHT wxALIGN_BOTTOM T wxALIGN_CENTER_HORIZONTAL B rre alat VERTICAL T wxSH IR E _MINSIZE Figure 8 15 Add controls to the widget using wxGlade 2 Generate Code iz wxGlad x wxGlade Tree E CodeGimiasDev src Apps Plugins MyPlugin widgets MyPluginMyF X EN View Help Application 7 New Ctrl N New from Template Shift Ctrl N E Open Ctrl O H save Ctrl 5 Save As Shift Ctrl S Save As Template 5 Generate Code DU R Ctrl I BR Ext Ctrl Q 1 MyPluginMyFunctionalityPanelWidgetUI wxg 2 E CodeGimiasDev srciAppslPlugins AngioMorphologyPluginywidgets AngioMorphologyManualWNeckCuttingwWidget AngioMorphologyManualWeckCuttingPanelWidgetUl wxg 3 E CodeSuites src 4pps Plugins AngioSegmentationPlugin widgets MeasurementsWidget measurementsWidget wxq 4 E CodeSuites src AppsiPlugins VirtualAngiographyPlugintwidgets XrayMultiRenderwWindow XrayMultiRenderWindowUT wxg Figure 8 16 Generate code for the GUI 86 GIMIAS User Manual 8 5 8 5 Integrate a new third party This section describes how to integrate in GIMIAS a new Third Party your external library or dll 8 5 1 Create the basic folders and files In order to generate the folder structure and the basic files needed for your new third par
25. output can be the surface mesh the patches that have been computed or only the patches option Patch output only The user can finally choose between different methods of hole filling in order to find the one that fits better his needs default method SmoothToCenter Tools Processor Widget Input surface ae Global Volume Closing Close all C Patch output only Method SmoothToCenter vi Close Volume Figure 4 13 Volume Closing GUI e SINGLE CENTERPOINT A single point is added in the center and then triangles are created to cover the hole see Figure 4 14a e RADIAL TRIANGLES A series of points are added in each radius from the center see Figure l e LINEAR TO CENTER NONREDUCING TRIANGLES A series of linearly distributed concentric coronas with the same number of points see Figure 4 14c ol GIMIAS User Manual 4 5 e LINEAR TO CENTER A series of linearly distributed concentric coronas decreasing the number of points towards the center see Figure 4 14d e SMOOTH TO CENTER A series of roundedly distributed concentric coronas decreasing the number of points towards the center default see Figure 4 14e e SMOOTH PATCH Under development it s implemented but the result is not always correct as you can see in Figure e CLOSE REFINER FAIRER based on the method described in three steps are performed closing the hole then refining and fairing the patch working only with option
26. this function see 4 5 6 Manual Segmentation This function allows to draw one or more regions of interest ROIs manually over the image This functionality is active only when the Manual Segmentation Plug in is loaded For reference on how to use this function see 4 4 30 GIMIAS User Manual 3 4 lt GIMIAS fe eK File Edit Yiew Tools Selection Help Dicom Scene View Sandbox 333 33 9 00 a7 ae mf Data tree ax Root IZ 1 volume Working area Unload selected Selection Toolbox ax Bounding Box Input image 21 1 volume Volume image XA v Cropping Tool x 0 00 to 255 00 Y 0 00 to 255 00 2 0 00 to 255 00 Export Jl Reset 228 73 MB 5 54 7 Figure 3 38 Select region of interest using bounding box 3 4 GIMIAS Toolbars Different toolbars containing quick access buttons for specific functionalities can be loaded in GIMIAS through the View menu 3 4 1 Layout Toolbar The Layout toolbar allows to change the layout of the selected window It is possible to switch from one layout to another also by double clicking on the desired view The same functionalities can be accessed through the menu View gt Layout 36 GIMIAS User Manual GIMIAS Fie Edit WEYA Tools Help Lock Axis Ctrl I Dico Show Annotation Cube Ctri A Working ar Show Corner Annotations Ctrl h ESE Overlap previous ctrl E Overlap next Ctrl T ray Rendering view Layout K w Link
27. with the combobox on the right see Figure 4 16c 4 Combination of different options allows the user to change the selection type during the selection of a specific region a TriangleSelect b SphereSelect c BrushSelect Figure 4 16 Surface selection tools Once the selection is made one of the tools listed in the section Select Tools can be applied a new mesh is created so that it is possible to undo the operation 59 GIMIAS User Manual 4 5 e Remove Cells option it removes the selected cells e Local Refiner option it refines the selected cells introducing points and new triangles In figure 4 17b the blue triangles are the new ones e Taubin Smooth option it smooths the selected cells a Remove Triangles b Local Refiner c Taubin Smooth Figure 4 17 Mesh editing tools applied on selections 54 GIMIAS User Manual 4 6 4 6 Signal Viewer Plug in The Signal Viewer plug in allows visualization and navigation of signals To enable the signal visualization open the signal viewer from the menu View gt Visualization gt Signal Viewer 4 6 1 Add Annotations 1 Right click on the point of the signal where you want to put your annotation and select Add annotation Select the annotation type you want to add or select Add free annotation to freely set the name of the annotation TB 4 Rr j Zoomin Y nato 1 Zoom Gut Y cs adi art al Kn Zoom iin Y all
28. 002 ee eee 7 3 1 Configure CSnake options 2 2 a a a 1 3 2 Configure CSnake building parameters 1 3 3 Select Projects 7 3 4 Build Gimias Automatic configuration 7 3 5 Build Third Party Libraries Manual configuration 7 3 6 Build Gimias Manual configuration 7 3 7 Save CSnake configuration Develop your own project for GIMIAS oh eee eee tee eee e aea es 8 2 Create a new project for GIMIAS 8 2 1 Create the basic folders and files 8 3 Create a new library in the toolkit 8 3 1 Create the basic folders and files dos 8 4 Create a new plug in for GIMIAS 8 4 1 Create the basic folders and files 8 4 2 Create a new widget and a new processor 8 4 3 Build your new plugin 8 4 4 Create UI controls with wxGladel 8 5 Integrate a new third party 8 5 1 Create the basic folders and files 8 5 2 Include your library files 8 5 3 Build the third parties for the new project 0 0 61 62 62 62 63 64 65 65 65 66 66 67 68 69 TU 71 12 73 13 714 14 19 19 TD 80 80 31 83 84 8 8 86 88 Chapter 1 Introduction 1 1 About GIMIAS GIMIAS Graphical Interface for Medical Image Analysis and Simulation is a software framework designed to be an integrative tool for fast prototyping of medical applications It is a workflow oriented environm
29. 3 18 View Menu Windows Data Tree show or hide the Data Tree widget The Data tree shows all data objects images geometries series timepoints etc that are loaded in GIMIAS memory and available for processing Each data object is stored in a data entity The user can render unrender each data entity in GIMIAS working area by checking unchecking the corresponding checkbox Each data entity can be unloaded from the data list and from the memory through the Unload selected button or through the right mouse button right click gt Unload Selection panel x pme Data list Rot E volume GAR Image lt L GAR mesh 5 _ Extracted Main Surface Surface Aneurysm Unload selected Figure 3 19 Data tree 23 GIMIAS User Manual 33 Drag and drop data objects e Change parent child relations You can easily change the data tree order For example if you open an image and a signal they are both child of the root by default You can drag and drop the signal as child of the image In this way the signal and the image will be synchronized in time Selection panel x Selection panel x Data tree Data tree Root Root phadol vtk pha001 vtk ECG gdf ECG gdf Figure 3 20 Change parent child relations with drag and drop e Change rendering order The rendering order is automatically based on the data tree order To change the rendering order you can drag and drop objects When you open two images t
30. 74 80 Y 512 0 4023 268 80 7 76 2 0000 232 50 Actual Coordinates Data Type short 2 byte Image modality CT wil Figure 3 24 Data Information widget Processing Tools Show hide the Tools processor widget See section 3 3 6 for information on the available tools Working area configuration Activate the working area configuration widget Working rea configuration Ax Workgin 4rea Manager gt gt gt Manage Views Add Column View Add Row view Remove View Current Yiew configuration Parameters Number of slices 3 Apply to all lt gt Current SliceVview Wing View configuration Direction Flip Rotate Oo O 900 180 O 2709 Transversal v Figure 3 25 Working Area Configuration widget This widget allows to set the following options e Working Area Manager you can change the working area configuration by choosing one of 20 GIMIAS User Manual 3 3 the available working areas create a new working area rename it save it into an XML file and delete an existing one Working Aree configuration Ox lt lt Configure Working Area LUS Td 6 Wor Ares Compe ces TE ee Hiki der tebe Area E Figure 3 26 Working Area Manager e Configure Working Area Manage Views you can configure your new working area by choosing the number of views and their arrangement within the working area as in the example in figure GIMIAS
31. GIMIAS py w deic gus Lt A Csnake version 2 4 0 lo lo Working patience please Action Select Projects 1 2 Done 3 seconds Create CMake Files and run CMake N Configure Third Party Folders instal Files to Build Folder R Configure ALL d Launch IDE 13 GIMIAS User Manual 7 3 7 3 7 Save CSnake configuration To save the CSnake configuration 1 Open the top menu File 2 Click on Save or Save As and choose the file where you want to save your CSnake configuration e g contextMyApplication CSnakeGUI for a GIMIAS version containing your application or context32 CSnakeGUI for your 32bit version of GIMIAS or context64 CSnakeGUI for your 64bit version of GIMIAS 3 Configure CSnake according to your needs as described in the paragraphs above 4 CSnake will ask you to save the current configuration in your CSnakeGUI file when you close it To open a saved CSnake configuration 1 Open the top menu File 2 Click on Open and choose the CSnakeGUI file containing the configuration that you want to open 3 The selected configuration will be loaded in CSnake CSnake will ask you to save all changes done to the current configuration when you close it CSnake GUI F IBinGdev CSnakeGUI File Open CTRL O Save CTRL S Save As Exit Root Folders F GimiasCode src Remove Detect Third Party Folders Source folder Build folder Remove
32. Move Down Configure Working patience please Action Update List OF Targets Done 0 seconds Create CMake files and run CMake Configure Third Party Folders Install files to Build Folder Configure ALL Launch IDE Figure 8 21 Build the third parties for the new project Build the third parties 1 press Update and select the Instance myproject 2 press Configure Third Party Folders 3 press Launch IDE 4 compile the third parties in Visual Studio 90
33. Python C Proagram Files x861 PythonZ6 python exe pa Path to Visual Studio C Program Files x860 Microsoft Visual Studio 9 0 Common IDE deven exe a C Ask to launch VisualStudio 68 GIMIAS User Manual 7 3 7 3 2 Configure CSnake building parameters In CSnake Context tab 1 In Build folder specify a folder in which the solution for Gimias will be created e g Bin 2 In Root Folders specify the folder for the source file e g GimiasCode src 3 In ThirdParty Folders Root Folder specify the root folder for the Third Parties e g GimiasCode thirdParty this option will be automatically given by CSnake 4 In ThirdParty Folders Build Folder specify a folder in which the solution for the Third Parties will be created e g Bin thirdParty this option will be automatically given by CSnake 5 In CSnake File specify the python file that contains the parameters for Gimias configuration e g src Apps Gimias csnGIMIAS py 6 Press the Update button CSnake GUI F BinGdevy CSnakeGUl File Help Project Folders Root Folders F GimiasCode sre Remove Detect Third Party Folders 7 NS Source folder Build folder MIDA icimiastode thirdParty F BinjthirdParty TED Move Up Move Down lo Configure Project Configuration CSnake File F GimiasCode src Apps GimiascsnGIMIAS py w metrad Car RL tete Conake version 2 4 0 Working patience please Action Select Projects Done 3 seconds Cr
34. SS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT INDIRECT INCIDEN TAL SPECIAL EXEMPLARY OR CONSEQUENTIAL DAMAGES INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES LOSS OF USE DATA OR PROFITS OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHETHER IN CONTRACT STRICT LIABILITY OR TORT IN CLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE Contents 1 2 3 Introduction 1 1 About GIMIAS 1 2 GIMIAS Main Features 13 GIMIAS Users Download and Install GIMIAS 2 1 Download GIMIAS 0000000000000 02 be eee 2 2 System Requirements 0 a GIMIAS Features 3 1 GIMIAS Graphical User Interface GUI o o 3 2 GIMIAS Working Areaj 2 ee 32l View BS OU sa coec sas A A e See 3 2 2 Windows 3 2 3 Brightness and contrast bari 1 3 3 GIMIAS Top Meal 331 File Menu s ea is spadna essee a RA a C AI aora A eee eons ewes eueuues ye ee ee eee dees ra aaa rasa on ras e a a as a es SI A A Aa QO 3 3 12 Selection Meda 0 00 eee ek ee ee 31 oA GIMIAS tTa R eros ninia aseado er ES 34 3 4 1 Layout Toolbar 0 24 4 da was bbe em ee we ee bmw HS 34 rs a ee re ee ee 35 EE JO Tolba corro ro riadas res 35 3 4 4 Windows Toolbar a 36 3 4 5 Sele
35. a new project for GIMIAS 8 2 1 Create the basic folders and files In order to generate the folder structure and the basic files needed for your new project run the Start NewModule tool from the installation path 1 Specify the name of the new project in the Name field e g MyProject 2 Specify the path where the new project will be created in the Root path field e g your local drive 3 Select Project in the Type combo box Us StartNewModule Help Name Root path Type Project Toolkit csn File Gimias csn File Start New Module Figure 8 1 Create a new project for GIMIAS using the Start New Module tool The tool will create a new folder MyProject The content of this folder is shown in figure 8 2 go here MyProject MyProject_src Your external dll will go here Your plugin code will go here Figure 8 2 Folder structure of the new project TD GIMIAS User Manual 8 3 8 3 Create a new library in the toolkit 8 3 1 Create the basic folders and files In order to generate the folder structure and the basic files needed for your new library run the Start NewModule tool from the installation path 1 Specify the name of the new library in the Name field e g MyLib 2 Specify the path where the new library will be created in the Root path field e g MyProject MyProject_src modules 3 Select Library in the Type combo box 4 Specify csnMyProjectToolkit py in th
36. ace This tool can be accessed through the menu Tools gt Basic Surface Editing gt Extract Surface This tool allows to extract the main surface of a geometry It is based on vtk filter vtkPolyDataConnectivityFilter and extracts the largest connected region in the dataset 1 Select the surface from which you want to extract the main surface 2 On the Top Menu open Tools gt Basic Surface Editing gt Extract Surface The Tools widget is automatically opened in the right panel Press Extract Surface g 5 The main surface is extracted and rendered The new DataEntity containing the Extracted Surface is listed in the Selection panel as a child of the entire surface File Edit View Help Dicom Angio Sel IEA da r Extract Surface D lt Working a Advanced Surface Editing F big Smooth Surface Selection panel Selection panel x Cropping tool volume Closing Surface Data list Ss Data list Scene rendering i Execute command Loop Subdivision Refiner Surface a Root Root imput 3dra tk Local Refiner Surface Edge Swapped Surface Threshold Surface imput 3dra tk GAR Image GAR mesh Extracted Main Surface Render selected J unica selected Render selected Unload selected S E lt leete E Es r Tools Processor Widget Input data Input surface 19 GAR mesh Surface mesh 4 Extract main surface b el
37. al prodoty pea Impr IFz lora Ike 1 ari tt kal adic acientife develo er Ind St scientific developers Figure 1 3 GIMIAS users and their interactions Chapter 2 Download and Install GIMIAS 2 1 Download GIMIAS In order to evaluate the features that are available in GIMIAS framework the following material can be used e GIMIAS framework Download GIMIAS Release for Linux e Sample data Download Sample Data Request more sample data to contactQgimias org 2 2 System Requirements GIMIAS is available for Microsoft Windows XP and Vista x86 and x64 platforms Mac Snow Leopard 10 6 2 and Linux Ubuntu We recommend an Intel Core 2 or similar processor a Nvidia GeForce 6600 or ATI Radeon 8500 or better graphic card and a minimum of 2GB of memory Chapter 3 GIMIAS Features This chapter describes the main functionalities available in GIMIAS framework which is provided open source under a BSD licence Additional functionalities are available in other modules plug ins that can be dynamically loaded into GIMIAS 3 1 GIMIAS Graphical User Interface GUI GIMIAS architecture is based on the core and the plug ins as described in chapter 5 where each plug in includes specific functionalies that can be added to an application Each plug in can extend the user interface and processing functionalities of GIMIAS framework The Graphical User Interface GUI will usually look like in in figure 3 1 e th
38. ced on the right side of the working area This can be done by moving the bar or setting manually the numeric values Dx Window level Window width BE E 9 Figure 3 6 Brightness and contrast bar 15 GIMIAS User Manual 33 3 3 GIMIAS Top Menu 3 3 1 File Menu E Edit view Tools Help Open data File Chr Open directory Ctrl D Save selected data Ctri 5 Save image of current 3D view 1 Open session Save current session workflow Manager Perspective K Exit Figure 3 7 File Menu e Open data file the formats supported are DICOM dcm or DICOMDIR files vtk stl cens gdf csv analyze NIfTI The data is automatically loaded in a Data Entity DICOM files must be opened through DICOM plugin see paragraph 4 1 When the image of interest is added to the Data Tree it is loaded in a Data Entity 1 In this way the image is loaded in GIMIAS data memory and can be used by other plug ins e Open directory this menu option allows to open DICOM directories The directory must be opened through the DICOM plugin see paragraph 4 1 When the image of interest is added to the Data Tree it is loaded in a Data Entity 1 In this way the image is loaded in GIMIAS data memory and can be used by other plug ins e Save selected data each Data Entity in the Data Tree see paragraph 3 3 4 can be saved in dem vtk stl cens gdf csv analyze NIfTI formats The data entity currently selected in the Data Tree will be saved
39. ction Toolbar 2 36 TETERA EE 37 3 4 7 MultiRenderWindow Toolbar 2 2 002004 37 3 5 Useful commands o o tee ko Ree eee ODD HE EGE EKO eRe E DEED 38 4 GIMIAS Plugins 39 4 1 DICOM Plug in 2 2 eee 39 4 2 Scene View Plug in 2 e 41 ENEE 41 AAA 42 4 4 1 Multilevel RO S a 42 442 IROIEStatiSticSl oras e a ARA 44 TETERA E E E E TEA 45 4 5 1 Mesh creatioMl 45 E 46 Ao AIO OU 4 2g u e oe bho abba e eae rra ee ee teehee 47 AE 48 45 0 Volime COSE 6 ear ew a we eRe KS ee we 49 4 5 6 Surface Selector 2 ee 51 Dore AAA aa 53 4 6 1 AGG Annotations 664 laa a A SE oS 53 TREINTA 55 ALl Cropping lool ses asseu 900 ast nEn ea ee 55 TEREE EREE EEE 56 aa arrasar sa 57 5 GIMIAS development framework 58 pee eebeaee ee tes A eeeceep ees ee ase 58 AER 58 5 3 GIMIAS Processing use case 2 2 a 60 GIMIAS User Manual 6 9 4 Third Party Libraries lt a io 600 see me eA we EES Oe SS Ew wo Download and Build GIMIAS 6 1 Required Tools 2 2 a 6 2 Check out GIMIAS from SVN repository 0 0 20 0000 eee 6 3 GIMIAS source code folder structural GA Install and Build sma sse sa da eoa 6S BOE EES BO RHEE HAAG 7 How to configure and use CSnake 8 GA Mhata CSN 246544844 8S Rew RARER Rae EEE T 2 Set up CSnake do bee eee eevee a 7 3 Use CSnake to build GIMIAS 0008
40. d above e Two Windows This working area is composed of two Multirender Windows figures 3 2 and 33 WorkingArea MultiRenderWindow MultiRenderWindow 3D view 3D view Figure 3 2 Two windows in a working area Working area o MultiRenderWindowO 20 MultiRenderWindow1 x Figure 3 3 Two windows used to compare two different stents deployed in the same vessel e Three Windows This working area is composed of three Multirender Windows figure 3 4 For each working area it is possible to link the camera position of the multirender windows e Multislice View This view shows several cut planes and one 3D view By default the cut planes are parallel and the direction is Sagittal 13 GIMIAS User Manual 3 2 WorkingArea MultiRenderWindow0 MultiRenderWindow1 MultiRenderWindow2 X view X view X view Z view Z view Z view Y view Y view Y view Figure 3 4 Three windows in a working area To change the number of windows that you want to display in your working area or to switch to multislice visualization use the buttons in the Working Area Toolbar 3 4 2 WorkingArea MultiRenderWindow X1 view X2 view X3 view X4 view X5 view X6 view X7 view X8 view 3D view Figure 3 5 Multislice View of a cardiac CT image 14 GIMIAS User Manual 3 2 3 2 3 Brightness and contrast bar Brightness and contrast can be adjusted by choosing the window center or level and width of the image using the bar pla
41. de X Y Z planes 0780 Figure 3 46 GIMIAS MultiRenderWindow Toolbar 3 5 Useful commands Zoom Unzoom on an image Right click on the view you want to zoom and move A tae aa o Scroll Click center button and move Table 3 1 Useful commands 40 Chapter 4 GIMIAS Plugins This section describes the plugins which are provided with GIMIAS open source and can be loaded at runtime in GIMIAS 4 1 DICOM Plug in The DICOM plug in allows to load and visualize DICOM data It has its own Working Area configuration see figure 4 1 and all other view layouts are disabled GIMIAS fel File Edit Yiew Tools Help Dicom Scene View Ces Working area im Data tree ox DICOM Tree Viewer 5 Root S O Series1 2 840 113619 2 98 9728 1234866365 0 1 BA Patients list E Patient Anonymized An lt El study 17 02 20090 2 8 Series1 US 4 Timepoint1 Timepoint2 Timepoint3 Timepoint4 Timepoints Timepoint Timepoint Timepoints Timepoint9 Timepoint10 Timepointi1 Timepoint12 Timepoint13 Timepointi4 Timepoint15 Timepoint16 Timepointi7 Timepoint18 Timepoint19 Timepoint20 ECG E E A A A A A A A E E A E 2 4 L E gt a R 127 Time X 234 Reconstruct data C Combine data Y Reorient data Add to Datalist 2 Unload selected 224 93 MB 6 69 Figure 4 1 Dicom Plugin From the File menu it is possible to load DICOM Files DICOM Directories
42. dth of the frames or the size of each point In wireframe or points representation the above mentioned lighting parameters are not used The changes to the mesh visualization can be applied in real time by selecting interactive apply that is active by default otherwise they will be applied only to the sphere preview and then to the mesh after pressing the apply button 30 GIMIAS User Manual 33 AppearanceSuitcase AppearanceSuitcase Input data Input 44 5 VesselForStenting vtk Surface mesh Input data Input 44 5 VesselForStenting vtk Surface mesh Lighting settings Scalars settings Lighting settings Scalars settings U Interactive apply Scalar Array v Ambient colour Set Range Automatic Range white Ambient coefficient goo U Diffuse colour white Background Color Diffuse coefficient 1 00 LJ al D seny colour 7 10 white Non Percep Lin gray Specular coefficient y 19 Y mm C Show legend Specular power 100 00 Opacity 1 00 Lighting model Gouraud Surface lt lt The selected representation has not aditional properties gt Figure 3 32 VisualProperties Lighting and Scalar Settings Signal Viewer This function is available only when the Signal Viewer Plug in is loaded It enables the visualization and navigation of signals see section 4 6
43. e Top Menu the Plug in Tabs e the Toolbars the Working Area the Widgets the Signal Viewer optional e the Status Bar 11 GIMIAS User Manual 3 2 GIMIAS File Edt View Tools Help Dicom Scene View Plug in Tabs oe S Zz AF IFRDO ORI BNW HO Ae Toolbars Root a Y Seriest 2 840 113619 2 98 9728 1234866365 0 ECG d E Z r 3 00 T time sec 6 30 233 43 MB 6 94 Figure 3 1 GIMIAS Graphical User Interface 3 2 GIMIAS Working Area The working area is the area of the GUI where the image can be visualized and the main interaction functions can be performed on the image zoom rotate pan select etc 3 2 1 View Layouts The main view layouts available in the working area are e Standard four views layout orthoslice view 2D views 3D view e 2D views on the left and 3D view on the right e Only 2D views e Single view layout X plane Y plane Z plane or 3D view To switch from one view to the other use the buttons in the Layout Toolbar 3 4 1 It is possible to switch to single view layout also by double clicking on the desired view Double click again to go back to the previous layout 12 GIMIAS User Manual 3 2 3 2 2 Windows More multirender windows can be loaded in GIMIAS Working Area The following are the working areas provided by default with GIMIAS e Single Window The Single Window can be configured in any of the layouts describe
44. e Toolkit csn file field 5 Press Start New Module StartNewModule E kel E Help Mame BRES Root path E MyProject MyProject_src madules Type Library Toolkit csn File E MyProjecttcsnMyProjectToolkit py Gimias csn File Start Mew Module Module created Figure 8 3 Create a new library in the toolkit using the Start New Module tool The tool will create a new folder MyLib in the modules folder The content of this folder is shown in figure 8 4 7 GIMIAS User Manual 8 3 p p applications tIAppFirst tIAppFirst cpp L build C MyLib doc libmodules tiFirst Include tiTemplate h O ic src tiTemplate cpp a oh tests tiFirstTest tiFirstTest h Ci tiFirstTest cpp Figure 8 4 content of MyLib folder The new library will also be added to the python file csnMyProjectToolkit py csnMyProjectT oolkit py 1 import csnBuild 2 import csnCilab 5 y myLib import MyProject_src modules MyLib csnMyLib return MyProject_src modules MyLib csnMyLib myLib Figure 8 5 MyLib is added to csnMyProject Toolkit py 8 3 2 Generate Visual Studio solution 1 Edit the python file for the new MyLib library e specify all dependencies of the new library For instance if your new library will use vtk functions include vtk in the projects as
45. e color lookup table combo box allows to select a color lookup table from a list of predefined lookup tables The color bar can be visualized hidden using the corresponding checkbox Note the lookup table is applied directly to the currently set contrast window levels i e window level and width even if the color bar always shows full scale values This means that the color bar represents the real image values only if the contrast window is set to full scale The opacity slidebar allows to set the opacity level to each pixel of the image with respect to the black background the opacity is set to 100 by default e Volume rendering active for images only In this tab it is possible to apply a volumetric renderization to a volume image and adjust the visualization parameters in order to optimize the rendering effect The Enable VR checkbox enables Volume Rendering of the current selected image using vtk openg facilities to perform standard Volume Raycast or 3D Texture mapping of the volume data figure 3 29 28 GIMIAS User Manual 33 GIMIAS DER File Edt View Tools Selection Help Dicom Scene View Sandbox E RB ggi ayr aaga o w h ein Oo OK C gt 2 000 000 3 s 8 JB e ualProperties ax I 1 1 volume Volume image XA Transfer Function threshold only for T F of types XR_ 50 v Ray Attenuation 10 xray only 30 Y cceleration sl 55 E Ise Cropping Planes a
46. e documentation of these filters for more information 3 3 11 Tools Menu gt Images Processing These tools are available only when the Image Tools Plug in is loaded For reference on how to use these functions see 4 7 This menu item also includes some vtk and mitk filters that are provided 32 GIMIAS User Manual 3 3 as external tools and can be loaded in GIMIAS GUI Refer to the online documentation of these filters for more information 3 3 12 Selection Menu GIMIAS Fie Edit View Tools een Help Landmark selector Dicom Sce Measurement bi Bounding Box L la al an AE Surface IE Manual Segmentation Figure 3 34 Selection Menu Landmark selector To place a landmark 1 choose Landmark selector from the menu Tools gt Selection gt Landmark selector or use the button in the Selection Toolbar see 3 4 5 The selection toolbox opens automatically on the right side of the viewer This widget shows the ID and Name of the landmarks placed on the image selected as input data The name of each landmark can be changed by typing the new name in the Landmark Name text box Selection Toolbox ox Selection Toolbox ax Input data Input data 1 demo CT pal5_00 vtk Yolume image CT v 1 demo CT pa15_00 vtk Volume image CT v Input landmarks Input landmarks i i 2 Landmarks Point set v 2 Landmarks Point set v Table of points Table of points Id LandmarksName Id LandmarksName 1 Landmarksi 1 mitral 2
47. eate CMake files and run CMake Configure Third Party Folders Install Files to Build Folder Configure ALL Launch IDE Note the update button loads all available istances for the project It can be used also to reactivate all buttons as you will see in the next steps each button is disabled after the relevant step is completed 69 GIMIAS User Manual 7 3 7 3 3 Select Projects In the Select Project tab e Choose the plugins you want to compile e Leave all other checkbox unchecked CSnake GUI F BinGdev CSnakeGUl File Help Contest Options Select Projects Applications _ BaseLibyTKTests T CardioToolsPluginTests CilabMacrasTests _ CcmAFITests DicomPluginTests GIMI45CardioToolsPlugin GIMIASDicomPlugin GIMLASImageToalsPlugin GIMIA5ManualSegmentationPlugin GIMIASMeshEditorPlugin GIMIASNeuroToolsPlugin GIMIASSandboxPlugin GIMIASSceneviewPlugin GIMIASSignalviewerPlugin GuibridgeLibTests ImageToolsPluginTests ManualSegmentatianPluginTests MeshEditorPluginTests MeshLibTests NeuraToolsPluginTests PacsAPlTests SandboxPluginTests SceneviewPluginTests SignalviewerPluginTests P griCommoan bjyecksTests gmCoreTests gmbataHandlingTests gmFrontEndPluginTests gmlTests qmiInteractorsTests omernelTests gmProcessoarsTests gmivWvidgetsTests lj wxMitkApplications wxMitkTests Refresh List TU
48. edit the python file for the new MyLib module 19 GIMIAS User Manual 8 3 2 Open CSnake specify the new MyLib library as the source file and generate the MyLib solution 1 press Update and select the Instance mylib 2 press Create CMake files and Run CMake 3 press Launch IDE CSnake GUI F BinGdev CSnakeGUI SEE Context Options Select Projects Project Folders Build Folder F Bin Root Folders F GimiasCode src E MyProject MyProject_src Remove Third Party Folders Source folder Build folder F GimiasCode thirdParty F Bin thirdParty Remove Move Up Move Down Configure L Project Configuration CSnake File E MyProject MyProject_src modules MyLib csnMyLib py lanna Instance myLib T Update A Working patience please Action Update List OF Targets Done 3 seconds 7 Figure 8 7 generate Visual Studio solution for MyLib module 3 Implement your class e in the Visual Studio solution of your new module edit tlMyClass cpp and tlMyClass h to implement your class e g MyClass 80 8 3 GIMIAS User Manual 4 Implement your application Rename the tlAppFirst folder and the tlAppFirst cpp with the name of your application e g tIMyApp Edit csnMyLibApps py and include your application myLibApps AddApplications tIMyApp Open CSnake specify csnMyLibApps py as CSnake file and press
49. ee ee em m m eee mw ee we ee ew em em ee we ew ew we ew m m ow other folders Figure 6 1 GIMIAS source code folder structure 65 GIMIAS User Manual 6 4 The content of the src folder and the Apps folder is shown in figures 6 2 and 6 3 thirdParty other folders Figure 6 2 content of src folder Source code of GIMIAS framework Na m m m m den m m lo ua m m m em ae m m m m m r m m P eee m m m m m m e e m m e m m m e m e m e e 4 w m m m m m m m m m m ee m m m 2 m P Modules thirdParty other folders Figure 6 3 content of Apps folder 6 4 Install and Build This section describes the steps needed to build GIMIAS on a Windows platform These steps can be executed automatically or manually using CSnake For details on how to configure CSnake to build the third party libraries and GIMIAS refer to chapter 7 1 Build and install the third party libraries Use CSnake to build the third party libraries included in GIMIAS This requires the following steps 1 configure the thirdParty folder 2 compile the third party libraries i e compile CILAB_ TOOLKIT sin 3 build the third party libraries 2 Build GIMIAS Use CSnake to build GIMIAS This requires the following steps 1 Select the projects you want to compile 2 Create CMake files and run CMake 3 Compile GIMIAS solution Gimias sln 66 Chapter 7 How to configure and use CSnake 7 1 What is CSnake
50. ent for advanced biomedical image computing and simulations and it can be extended through the development of problem specific plug ins GIMIAS is particularly tailored to integrate tools from medical imaging computational modeling numerical methods and computer graphics in order to provide scientific developers and researchers with a framework for building a wide variety of tools Multi modal image processing personalized model creation numerical simulation and visualization of simulation results are some of the possible applications for which GIMIAS has been designed The aim of this framework is to combine tools from different areas of knowledge providing a framework for multi disciplinary research and medical study GIMIAS allows building medical prototypes for clinical evaluation in the area of medical image analysis modeling and simulation It simplifies the integration of tools needed to build new clinical workflows and the use of common libraries for user interfaces visualization image processing DICOM access etc that are commonly used as standard in Virtual Physiological Human VPH research GIMIAS provides a graphical user interface with all main data IO visualization and interaction functions for images meshes and signals It includes additional tools for image segmentation mesh editing signal navigation and specific visualizations GIMIAS provides a simple Application Programming Interface API that permits with minimal
51. er Manual 4 4 4 Add level You must specify the name for the new level zone and then click add Each level will correspond to a different pixel value in the mask image You can have up to 16 levels Draw a ROI on the new level 5 Select level You can change the level using the combobox When interacting left mouse button the pixel value corresponding to the selected level will be drawn You can change the name of the selected level by editing directly in the combobox and pressing enter Next to the selected level the color corresponding to it will appear 6 Erase only selected color When erasing CTRL Left mouse button you can choose to erase only the selected level or all them 7 Lookup table You can change the lookup table if you don t like the default colors Figure shows an example of a segmentation with 3 levels LV epi LV endo RV endo In the Selection Toolbox different options will appear Figure 4 6 Manual Segmentation The multi level ROI can be saved to disk and restored later The level information is saved in the VTK file header 45 GIMIAS User Manual 4 4 4 4 2 ROI statistics You can enable the multi ROI statistics widget through the menu option Tools gt Statistics gt ROI Statistics In the ROI Statistics widget you have the following options Multi Level ROI ox ROI image 2 MaskImage ROI Propagate over time Left lo a Set range Right gt Measures Mean
52. er annotations show hide image information Link planes enable disable possibility to change the angle of view planes Show landmarks labels show hide labels of landmarks This functions can be used only when landmarks are placed on the image mesh see landmark selector e Toolbars hide unhide toolbars see section 3 4 e Layout change layout of working area see section 3 2 e Working areas change the multirender windows loaded in the working area see section 3 2 e Windows Through this menu item it is possible to select the widgets that will be opened and personalize GIMIAS GUI see 3 3 4 The panels are floating and can be placed wherever the user prefers inside the window e Visualization Through this menu item it is possible to open widgets that allow to change visualization options see 3 3 5 e PACS Connect Query Retrieve Send opens the dialog window that allows to connect to PACS query and retrieve data 22 GIMIAS User Manual 33 3 3 4 View Menu gt Windows File Edit Tools Selection Help Reset layout Dicol Maximize working area Fil MultiRender Window Pf Layout K CT Toolbars K Working reas K Windows Z yu Working area Visualization Fo Data tree PACS ConnectiQuery Retrieve Send Command panel workflow Navigation w Time management Helper Data information Working Area configuration w Tools Processor Widget w Selection Toolbox Figure
53. g Tool x 0 00 to 256 00 Y 0 00 to 256 00 Z 0 00 to 256 00 AppearanceSuitcase x a Image Settings Volume Rendering Enable YR _ Enable XRay VR XR_VR transf Function threshold XR_YR only sn y XRay Attenuation 110 Xray only 20 30 100 Use GPU Acceleration Y Use LOD Transfer Function NR VR v alar anari Se iky manninn Figure 4 22 Cropping Tool ov GIMIAS User Manual 4 7 4 7 2 Change Orientation This tool allows to change the orientation of an image as follows e invert slice order e flip up down e flip left right Tools Processor Widget EFX Change Orientation Input volume 4 Oriented image Volume image v Invert slice order Flip Up Down Flip Left Right Figure 4 23 Change orientation of image 98 GIMIAS User Manual 4 7 3 Overlay Images This tool allows to align and overlay pre registered multimodal images File Edit Yiew Tools Help ReOrient amp Overlay Compare MultiSlice O A gi BE uk aar v JO a eitn oo oie Working area 6 Figure 4 24 Overlay Images Data tree ax Root Y rmWrongOrientation v rpet hdr Unload selected Workflow Navigation o 6 Le Overlay Images Input image 6 rpet hdr Volume image NM v Overlay image S rmWrongOrientation Volume image v Apply 228 52 MB 3 67 4 7 99 Chapter 5 GIMIAS development framework 5 1 Introduction GIMIAS is desig
54. h the DataHolder the corresponding observers that new data are available These data can be rendered or processed depending on the application It is the responsibility of the plug in to determine how the processing pipeline continues In this way the plug in developer defines how the end user operates over the data and visualizes it DataEntity encloses and represents 4D working data in a single entity that can be modified transformed and rendered by any plug in This class allows plug ins to share data encapsulating its format conversion thus facilitating data exchange For its simple architecture 62 GIMIAS User Manual 5 4 User C Required by every new plugin More advanced plugins Figure 5 4 Classes to be developed and their associated complexity and interaction for the creation of a new plug in For the classes Widget and DataView the developer can choose either implementing them or using the standard implementation provided by the framework the sole specialization implementation of three classes is enough for creating new plug ins In this way new features can be integrated very fast The architecture is flexible to support plug ins with different complexity going from simple plug ins e g data is processed with a specific algorithm and the results are visualized with standard viewers to complex plug ins e g the entire user interface can be re designed to create a new data interaction and visual
55. he first image will be rendered first and the second image will be rendered second Selection panel Xx Selection panel Xx Data tree Data tree Root pha0O1 vtk pha003 vtk Root pha003 vtk pha001 vtk Figure 3 21 Change rendering order with drag and drop Workflow navigation Enable disable workflow navigation This function allows to navigate through the active workflow defined by the user It can be used only in Workflow Perspective see section for reference on how to use the Workflow Manager workflow Navigation O x Extract Surface Input surface Extract main surface Figure 3 22 Workflow Navigation Time management Activate the Time Management bar that allows to navigate the image over time Press play to see all timepoints of the series selected in the Data Tree Visual Properties Show hide the Visual Properties widget See paragraph for information on how to use the Visual Properties widget 24 GIMIAS User Manual Deo Mora blas x RE aj Pre Eir ra Figure 3 23 Time management Data Information show hide the Data Information widget This panel shows information on the selected Data Entity in the Data Tree number of slices spacing on x y z axis and origin of the volume data type image modality number of timesteps DataEntity information x Input data Input 10 timepoint1 Volume image CT Static dimensional properties Axis Slices Size mm Origin N 512 0 4023
56. indows Toolbar The Windows toolbar allows to select the widgets that will be opened and personalize GIMIAS GUI The panels are floating and can be placed wherever the user prefers inside the window The same functions can be accessed through the menu View gt Windows See section 3 3 4 for reference of all available widgets 3 4 5 Selection Toolbar The Selection toolbar allows to select points and regions over an image or a mesh and perform local measurements and or operations The same functions can be accessed through the menu Tools gt Selection See section 3 3 12 for reference of all available functionalities 38 GIMIAS User Manual 3 4 Data Tree Time management KES lt Working Area Configuration Processing Tools Visual Properties Signal Viewer lt Helper lt Data Information L e 4 Figure 3 43 GIMIAS Windows Toolbar Measurement Landmark selector Bounding Box Manual segmentation Surafce celector Figure 3 44 GIMIAS Selection Toolbar 3 4 6 Appearance Toolbar The Appearance toolbar allows to change basic appearance settings such as the color Lookup Table LUT and opacity of an image 3 4 7 MultiRenderWindow Toolbar The MultiRenderWindow toolbar allows to change basic visualization settings 39 GIMIAS User Manual 3 5 Show hide LUT Change LUT Change Opacity No HZ Non Percep Lin gray Y J Figure 3 45 GIMIAS Appearance Toolbar Lock axis Initialize axis Show hi
57. io V tetgeninput stl where MaxVolume and AspectRatio are values introduced by the user from the GUI defaults are 0 5 and 0 0 where 0 0 means that the option is not used The output is saved to disk as tetgenoutput node tetgenoutput ele and tetgenoutput face and then transformed into a vtkUnstructuredGrid the switches that we use are the following p Tetrahedralizes a piecewise linear complex stl file The p switch reads a piecewise linear complex PLC stored in file stl and generate a constrained Delaunay tetrahedralization CDT of the PLC In combination with the q or a switch TetGen will generate a quality tetrahedral mesh of the PLC q Quality mesh generation A minimum radius edge ratio maybe specified default 2 0 The q switch performs quality mesh generation by Shewchuk s Delaunay refinement algorithm 27 It adds vertices to the CDT used together with p or a previously generated mesh used together with r to ensure that no tetrahedra have radius edge ratio ereater than 2 0 An alternative minimum radius edge ratio may be specified after the q For a too small ratio e g smaller than 1 0 TetGen may not terminate AspectRatio in our case a Applies a maximum tetrahedron volume constraint The a switch imposes a maximum volume constraint on all tetrahedra If a number follows the a no tetrahedra is generated whose volume is larger than that number MaxVolume in our case V Verbose Detailed inf
58. ization application In addition to its plug in API the framework provides basic services which can be used by the plug ins e scientific visualization through standard screen layout i e 3D plus orthogonal slicing e multimodal MRI SPECT MSCT US PET image processing e heterogeneous data management images polylines surface geometries volumetric meshes e Standard I O formats others can be added by the users Regarding interoperability with external tools the framework allows the integration of readers and writers for different format A closer integration e g in runtime with other tools is possible by developing a specific plug in for this purpose 5 4 Third Party Libraries GIMIAS is built over widely used open source C based frameworks like The Visualization Toolkit VTK supported by Kitware Inc The Insight Toolkit ITK also supported by Kitware Inc The DICOM Toolkit DCMTK supported by Offis in Germany Medical Imaging Interaction Toolkit MITK developed at Division of Medical Informatics Deutsches Krebsforschungszentrum DKFZ Germany and other commonly used C libraries Boost wxWidgets CXXTest etc 63 Chapter 6 Download and Build GIMIAS 6 1 Required Tools Before checking out and building GIMIAS make sure that you have installed the following tools e A SVN client Smart SVN or Tortoise SVN e A compiler Microsoft Visual Studio 9 2008 is suggested e CMake 2 8 Pyth
59. jects CSnake GUI F BinGdev_ CS Project Folders Build Folder F Bin Root Folders F GimiasCode src E MyProject MyProject_src CardioToolsPluginTests DcmAPITests Third Party Folders S E DicomPluginTests GIMIASCardioToolsPlugin F GimiasCode thirdParty F Bin thirdParts teria s i i i Bi HO GIMIASImageToolsPlugin E MyProject MyProject_src thirdparties F BinftpMyProj GIMIASManualsegmentationPlugin GIMIASMeshEditorPlugin GIMIASMyPlugin GIMIASNeuroToolsPlugin GIMIASSandboxPlugin GIMIASSceneViewPlugin GIMIASSignalviewerPlugin Project Configuration CSnake File E MyProject MyProject_srcicsnMyProject py Instance myproject Working patience please Action Update List OF Targets Done 0 seconds Create CMake files and run CMake Configure Third Party Folders Install files to Build Folder Configure ALL Launch IDE Figure 8 14 Build your new plugin 85 GIMIAS User Manual 8 4 8 4 4 Create UI controls with wxGlade In MyProject_src plugins MyPlugin widgets MyPluginMyFunctionalityPanelWidget open MyPluginMyFunctiona using wxGlade 1 Add all the needed controls to the widget H wxGlad E E wxGlade Tree E CodeGimiasDev src Appsi Plugins MyPlugin widgets MyPluginMyrF X k A File View Help Application c E MyPluginMyFunctionalityPanelwidgetUI MyPluginMyFunctionalityPanelWidgetUI S GlobalSizer S sizer_1
60. mbo box 4 Specify the Toolkit csn file e g csnMyProjectToolkit py 5 Specify the Gimias csn file e g csnMyProject py 6 Press the Start New Module button Us StartNewModule Help Name Root path E MyProject MyProject_src plugins lnd Type GIMIAS Plugin v Toolkit csn file E MyProject MyProject_src csnMyProjectToolkit py a Gimias csn file E MyProject MyProject_srcicsnMyProject py A Start New Module Figure 8 9 Create a new plugin for GIMIAS using the StartNewModule tool The new plugin folder is created in the specified Root Path and the new plugin is added to the python file csnMyProjectPlugins py 82 GIMIAS User Manual 8 4 cenMyProjectPlugins py 1 Used to configure leore E import csnbuild a import csntilab 4 from csnGIMli5Lef import 5 from csnMyProjectToolkit import 6 import os path E 5 myproqject CreatecGimiasippi 5 myproject AddProjects al 11 Figure 8 10 MyPlugin is added to csnMyProject py 8 4 2 Create a new widget and a new processor Use StartNewModule to add a new functionality to your plugin 1 Specify the name of the new functionality in the Name field e g MyFunctionality 2 Specify the plugin in which you want to add the new functionality in the Root field e g MyProject MyProject_src plugins MyPlugin 3 Select GIMIAS Plugin Widget in the Type combo box 4 Press the Start New Module button A new panel widget and a new processor will be a
61. n Processing steps Windows Simlar aneurysm db Processing steps Windows Aneurysm Dome Isolation Similar aneurysm db Figure 3 15 Angio Morphology Workflow GIMIAS Tabs e Perspective This menu function allows to switch from Plugin to Workflow perspective When using Workflow perspective all plug ins needed for the specified workflow are loaded automatically When using Plugin perspective each plug in can be loaded separately 20 GIMIAS User Manual 33 2 Edit Menu 3 3 e Edit profile Through this menu item it is possible to select the plug ins to be loaded in GIMIAS Profile Manager Available profiles lt L GIMIAS Cardio Tools Dicom Image Tools Manual Segmentation Mesh Editor Neuro Tools Sandbox Scene View Signalviewer LT Command Line Figure 3 16 Profile Manager 21 GIMIAS User Manual 33 3 3 3 View Menu File Edit Tools Selection Help Reset layout Maximize working area F11 MultiRender Window K 7 Layout r Toolbars Working reas Windows rr F F visualization PACS Connect Query Retrieve Send Figure 3 17 View Menu e Reset layout resets layout to default GUI configuration e Maximize working area maximize the working area horizontally within the GUI e Multirender Window Lock axis lock unlock axis position and orientation Show annotation cube show hide image orientation annotations Show corn
62. ned to support the development of medical imaging prototypes A custom designed medical application can be created based on specific user requirements focused on a clinical workflow A customizable graphical user interface allows to show hide default components and create specialized components depending on the user needs toolbars rendering windows windows to configure parameters or rendering interaction A prototype in GIMIAS is conceived as a clinical workfow of several steps Each step in the workflow is a functionality and can go from a simple data transformation to a complex algorithm and might require a user interface to interact with the image set the parameters launch the algorithm and visualize the results To create a GIMIAS workflow several plug ins will be used that will provide the needed processing and visualization functionalities GIMIAS as a framework provides a set of common functionalities for the development of the clinical prototypes Morphological analysis G c O Le pur a o a g S lt O v Figure 5 1 AngioMorphology clinical workflow diagram 5 2 GIMIAS Software Architecture GIMIAS is developed using C programming language The user interface is developed using wx Widgets thus enabling the creation of complex and cross platform graphical components GIMIAS is a two layered system Plugin layer Contains all plugins of GIMIAS framework like DICOM Plugin or Scene View Plugin
63. o modify direclty the scalar opacity the scalar color and the gradient opacity mappings on top of the original and gradient image histogram Each mapping function is a piecewise linear function and each linear segment is determined by a couple of control points To add a new point to a segment simply left click on the segment To remove an existing point right click on the point Each point can be dragged horizontally or vertically along the corresponding histogram in order to customize the desired mapping function The control points of the scalar opacity mapping can only be moved horizontally since in 29 GIMIAS User Manual 3 3 this case each point represents a specified color applied to the corresponding intensity level To change the color of the point double click on it and choose the color in a standard pick color control The 3 sliders in the cropping planes area allow to crop the volume rendering of the image in the corresponding direction the sliders are ordered as x y z as shown in figure 3 31 Figure 3 31 VisualProperties Crop Volume Rendering e Scalar settings active for meshes only This tab is used to select which scalar array you want to visualize and adjust the visualization parameter for the array basically the scale and the color lookup table The Scalar Array drop down menu is filled with all the scalar arrays currently present in the mesh
64. on 2 4 2 5 or 2 6 CSnake see Chapter 7 GIMIAS source code can be downloaded from SVN repository Section 6 2 describes how to check out GIMIAS from the SVN repository As an alternative GIMIAS source code can be downloaded as a zip file In this case download the source code and unzip the file in your local directory e g E CodeGimias1_ 1 skip section 6 2 and go directly to section 6 2 Check out GIMIAS from SVN repository If you are using SmartSVN follow the instructions below to checkout gimias 1 Open SmartSVN 2 Select Checkout project from repository 3 In the Repository step select Quick checkout less configuration e Specify the URL https svncistib upf edu repos toolkit gimias stable GIMIAS_1_1_0 e Specify the Local Directory beware to chose a directory path with no blank spaces and no more than 20 characters length e g E CodeGimias1_ 1 64 GIMIAS User Manual 6 3 e click Next A Click Finish 5 SmartSVN will automatically do a checkout of the project 6 3 GIMIAS source code folder structure After checkout from the svn repository the local folder containing the code downloaded from the repository should look like in figure 6 1 A _ See e E O N O O ee ee ee ee e m m ew ew we we ew we ew ww ww ew ew ew ew ew ew ew ew m m ew we ew ew ew ew ew ew m m incude files and src code or compiled thirdParty libraries for thirdparties Vem ene m m
65. on operations on images and meshes Resample Panel Widget Shape Scale Panel Widget Subtract Panel Widget Each widget allows to execute basic processing functions thus demonstrating how to handle data objects in GIMAS process them through a combination of common vtk itk filters and render them in the working area 43 GIMIAS User Manual 4 4 4 4 Manual Segmentation Plug in This plug in contains specific functionalities for manual segmentation It allows to draw one or more regions of interest ROIs manually over an image to propagate them over time and do measurements on the image in the selected ROI mean standard deviation minimum and maximum intensity values 4 4 1 Multilevel ROIs You can enable the manual segmentation widget through the corresponding Icon in the Interactors Toolbar or through the menu option Tools gt Selection gt Manual Segmentation In the Selection Toolbox different options will appear Selection Toolbox Add Level Select level Left ventricle endo v rgb 89 0 56 0 Erase only selected color Lookup table Spectrum Siemens v ho Figure 4 4 ROI Selection widget To draw a multilevel ROI 1 click on the image and drag to draw the ROI 2 Apply corrections to the ROI by pressing Ctrl left click and dragging on the image to draw the border of the correction 3 Scroll to navigate to another slice and draw another ROI Figure 4 5 Draw Region of Interest 44 GIMIAS Us
66. ormation more terminal output 50 GIMIAS User Manual 4 5 e Netgen NETGEN is an automatic 3d tetrahedral mesh generator It accepts input from constructive solid geometry CSG or boundary representation BRep from STL file format NETGEN contains modules for mesh optimization and hierarchical mesh refinement http www hpfem jku at netgen How is Netgen implemented in Gimias A Netgen implementation of the surface data entity is available in gimias the same as vtkPolyData when an algorithm that uses netgen is called the implementation of the data entity is automatically switched to the netgen representation The user can specify the mesh size function by the global parameter maximal mesh size and can additionally restrict the mesh size in points or cubes The function NgGenerateVolumeMesh generates the volume mesh starting from the surface and from the parameters Ng Meshing Parameters maximal mesh size double maxh safty factor for curvatures elemetns per radius double curvaturesafety minimal number of segments per edge double segmentsperedge Default values are 3 0 0 2 0 2 4 5 5 Volume Closing This tool can be accessed through the menu Tools gt Basic Surface Editing gt Volume Closing The aim of this tool is to close fill the holes in a surface mesh The user has the option to fill every hole in the mesh or to select the hole he wants to fill in options Close all and Choose Hole The
67. pective workflow Exit Figure 3 10 Perspective 5 Remove components Remove all components that you do not need in your workflow through drag and drop from the right side out of the window 6 Change workflow steps order You can change the workflow steps order or the processing steps order with drag and drop over the right tree T Press Ok button to save the changes or Cancel button to discard them 18 GIMIAS User Manual 3 3 Workflow Workflow Editor Registered Windows 1 SimpleProcessingWidget 1 SimpleProcessingWidget 1 ptCroppingWidget L ptChangeOrientationwWidget LY SimpleProcessingWidget 3 NeuroToolsPlugin ImageContrast Widget MultiLevelROIPlugin MultiLevelROIPanelWidget MeshEditorPlugin ptExtractMainSurfacePanelWidget L ptTaubinSmoothSurfacePanelWidget 1 pt olumeClosingPanelWidget D rag toa d d Processing steps New WiorkFlou NewSte C3 Processing steps I Windows NewSten2 C3 Processing steps BS Windows Add a step E New Workflow NewStep Processing steps Windows NewStep2 Processing steps O Windows NewStep 3 1 ptExtractMainSurfacePanelWidget Alternatives C3 Windows 1 ptLoopSubdivisionPanelWidget 1 ptLocalRefinerPanelWidget Drh g to remove 1 ptEdgeSwappingPanelWidget L ptThresholdPanelWidget LJ ptMeshCreationwWidget 1 ptSkeletonizationPanelWidget i ptTetraGeneratorPanelWidget LY ptNGOptimi
68. phical user interface that displays an information arrangement changeable by the user such as a window or a text box The defining characteristic of a widget is to provide a single interaction point for the direct manipulation of a given kind of data Processor This class executes one algorithm and given on or more input data generates one or more output data usually coming from the DataEntityList A plug in may contain more than one Processor class No data is stored inside the Processor DataEntity This class stores and encapsulates a single data object e g medical image transformation surface mesh model simulation result etc DataHolder This class allows objects to be registered as observers of data for instance to be notified when the data change DataEntityList This class contains a list populated with the data entities currently available for processing in the application The input data that will be processed by the plug in and also their outputs are stored in this list This list is available in all plug in 5 3 GIMIAS Processing use case For data processing each plug in uses its own one or more Processor classes that encapsulate the application logic indicating which algorithm needs to be executed on the data External algorithms user defined or provided by a library are called by a Processor after the required input data have been specified After the execution of an algorithm the Processor notifies throug
69. planes Show landmarks labels Reset layout Maximize working area Fil Working Areas Windows Visualization PACS Connect Query l Retrivel Send Sliced D Sliceio D slice11 Figure 3 39 GIMIAS Toolbars 2D views on the left and 3D view on the right Standard 4 views layout Only 2D views i E 18850 Y Y ea X plane view l K Z plane view Y plane view Figure 3 40 GIMIAS Layout Toolbar 3 4 2 Working Area Toolbar Layouk Toolbar K Selection Toolbar K Appearance Toolbar K Windows Toolbar Working Area Toolbar MultiRender Window Toolbar IO Toolbar 3 4 The Working Area Toolbar allos to manage the multirender windows loaded in GIMIAS The same functionalities can be accessed through the menu View gt Working Areas See section 3 2 for a description of the available working areas 3 4 3 IO Toolbar The IO Toolbar allows to open and save files and to connect to a PACS server The same functionalities are available also from the File Menu See section for reference of the file formats that can be opened and saved Connection to PACS is available only from the DICOM Plug in 37 GIMIAS User Manual 3 4 Link views Multislice view z du Wu ss EIN Single window Three windows Two windows Figure 3 41 GIMIAS Working Area Toolbar Open DICOM file Open DICOM Directory E CASE mr Save DICOM file Connect to PACS Figure 3 42 GIMIAS IO Toolbar 3 4 4 W
70. quantification or simulation for cardiac applications These plug ins are specific for a clinical application GIMIAS provides an API for the plug ins to interact with the core and the other plug ins of the framework The classes that are needed for the creation of a new plug in are Widget which provides an element of the graphical user interface arranging the layout according to user preferences FrontEndPlugin which provides the main functionality of the plug in and Processor which executes an algorithm given one or more input data and generates one or more output data Each plugin is created as a class derived from FrontEndPlugin class Each plug in contains one or more Widget classes and for each Widget one or more Processor classes The data is stored and handled using the following classes DataEntity holding a single data object DataHolder holding observers to data and DataEntityList holding a list of objects available for processing A summary of the classes that can be used and or extended for the creation of plug ins is provided in the list below 61 GIMIAS User Manual D3 Data interaction 7 Data Handling Figure 5 3 GIMIAS framework components overview FrontEndPlugin This is the base class for all the plug ins every new plug in must extend this class It is responsible of the registration of the components that will extend GIMIAS framework Widget This class provides an element of the gra
71. t ert sep v cancelf Split using Ring Cut Kekp surface Orange w Input point v v Keep surface Cyan Figure 4 11 Ring Cut split surfaces 49 GIMIAS User Manual 4 5 4 5 4 Tetra Generation This tool can be accessed through the menu Tools gt Advanced Surface Editing gt Tetra Generation The aim of this feature is to generate a tetrahedral mesh from a surface mesh The options that are available come from two open source softwares Tetgen and Netgen it follows a description of both Tools Processor Widget Tools Processor Widget Input surface Input surface 2 Netgen optimized Surface mesh 24fNetgen optimized Surface mesh Tetra Generator l Tetra Generator Tetra Type Tetra Type OTetgen Netgen Net P Tetgen Params etgen Params Max Mesh size Max Volume 0 500000 3 000000 Elements Per Curvature Radius 0 200000 Aspect Ratio 0 000000 Elements Per Edge 0 200000 Generate Tetra Generate Tetra a Tetgen b Netgen Figure 4 12 Tetgen and Netgen GUI e Tetgen TetGen is a program to generate tetrahedral meshes of any 3D polyhedral domains TetGen generates exact constrained Delaunay tetrahedralizations boundary conforming Delaunay meshes and Voronoi partitions http tetgen berlios de How is Tetgen implemented in Gimias The input mesh is saved to disk as tetgeninput stl and the filter calls the following command line tetgen pa MaxVolume q AspectRat
72. t the workflow that you want to edit and press Edit to open the Workflow Editor 3 Add a workflow step right click on the Workflow name and select Add a step You can edit the workflow step name pressing F2 key 4 Add visualization and processing functionalities to a step of the workflow Each component can be added to the workflow through drag and drop from the left side to the right side By default all common widgets will be added automatically 17 GIMIAS User Manual 33 Workflow Editor Registered Windows workflow a Root lt Z New Workflow H O Common a NewStep 3 DICOMPlugin O Processing steps m workingAreaPanelWidget G Windows ConnectToPacsDialogWidget S NewStep2 SignalviewerPlugin O Processing steps svPlotManager Widget CQ Windows LY ptSignalTimePropagationPanelWidget 3 ImageToolsPlugin 15 SimpleProcessingWidget SimpleProcessingWidget ptCroppingWidget ptChangeOrientationwWidget LJ SimpleProcessingWidget 5 NeuroToolsPlugin ImageContrast Widget B MultiLevelROIPlugin FP MultievelRorPanelWidget 2 MeshEditorPlugin L ptExtractMainSurfacePanelWidget 0 ptTaubinSmoothSurfacePanelWidget LJ ptYolumeClosingPanelWidget 1 ptLoopSubdivisionPanelWidget le PIO Figure 3 9 Workflow Editor pr Edit view Tools Help Open data File Ctri O Open directory Ctrl D Save selected data Ctrl S Save image of current 3D view Open session Save current session Workflow Manager Pers
73. ty run the Start NewModule tool from the installation path 1 Specify the name of the new third party in the Name field e g MyThirdParty 2 Specify the path where the new third party will be created in the Root path field e g MyProject MyProject_src thirdparties 3 Select ThirdParty in the Type combo box 4 Specify csnMyProjectToolkit py in the Toolkit csn file field 5 Press Start New Module StartNewModule E JE IMyThirdParty Root path ExMyProjectiMyProject_srcithirdparties Type ThirdParty Toolkit nhe E MyPraject csnyProjectTaakkit py Gimias csn File Start New Module Figure 8 17 Create a new module in the toolkit using the Start New Module tool The tool will create a new folder MyThirdParty in thirdparties folder The content of this folder is shown in figure 8 18 The new third party will also be added to the python file csnMyProject Toolkit py 87 GIMIAS User Manual 8 5 Sr AMyProject MyProject_sre thirdparties Mame Ext t Sy cmakeMacros 5 My ThirdParty __ init__ py E CMakeLists txt UsetlyThirdParty crake in C1 csnhyThirdParty py MyThirdParty Config crake in E CMakeLists txt Figure 8 18 Content of the new third party folder 8 5 2 Include your library files The library that you want to integrate in GIMIAS should at least include the following e Main header file MyThirdParty h
74. ualization representation settings of an image or a geometry such as volume rendering lookup table opacity x VisualProperties X YisualProperties A Input data Input data lt 1 1 volume volume image XA v 1 1 volume Volume image XA a _ AA Image Settings volume Rendering Image Settings Volume Rendering use color A Y whee O Enable YR Enable XRay YR Background Color Transfer Function threshold only for T F of types xR_ 1 50 90 Lookup Tables MITK gray v v XRay Attenuation 10 Xray only Cl Show legend 20 30 100 Opacity J 0 100 100 v Use GPU Acceleration se v J Use LOD Cropping Planes Transfer Function XR_LINEAR_60 a Scalar opacity mapping O Range 4981 06 13636 7 Scalar 8630 7738 Opacity 0 00 Scalar color mapping Range 4981 06 13636 7 Scalar 5038 8168 R 0 00 G 0 00 B 0 00 Gradient opacity mapping Range 0 29323 9 Gradient magnitude 129 0839 Opacity 1 00 Figure 3 28 VisualProperties Image Settings and Volume Rendering e Image settings active for images only This tab is used to change the basic visualization of the orthoslice view of a volume image With the Use color control the user can select and apply a color overlay on the image that will be applied over the predefined standard 256 gray level lookup table The background color control allows to change the background color of the 3D rendering window Th
75. update press Create CMake files and Run CMake press Launch IDE compile the solution in Visual Studio CSnake GUI F BinGdev CSnakeGUI Context Options Select Projects Project Folders Build Folder F Bin Root Folders F GimiasCode src E MyProject MyProject_src Remove Third Party Folders Source folder Build folder FifGimiasCode thirdParty F Bin thirdParty Project Configuration CSnake File E MyProject MyProject_src modules MyLib csnMyLibApps py Instance myLibApps Working patience please Action Update List OF Targets Done 0 seconds Applications CilabMacrosTests MyLibApplications Create CMake Files and run CMake Configure Third Party FE 7 MylibTests Refresh List Figure 8 8 Generate your MyLib application Remove Move Up Move Down Configure L Launch IDE 81 GIMIAS User Manual 8 4 8 4 Create a new plug in for GIMIAS This section describes how to create a new plugin for GIMIAS 8 4 1 Create the basic folders and files In order to generate the folder structure and the basic files needed for your new plug in run the StartNewModule tool from the installation path 1 Specify the name of your new plugin in the Name field e g MyPlugin 2 Specify the folder where you want to put your new plugin in the Root field e g MyProject MyProject_src plugins 3 Select GIMIAS Plugin in the Type co
76. utomatically added to the plugin la StartNewModule Help Name MyFunctionality Root path E MyProjectiMyProject_srciplugins MyPlugin a Type GIMIAS Plugin Widget Toolkit csn file Gimias csn file Start New Module Figure 8 11 Create a new widget and a new processor using the StartNewModule tool This will create in your plugin folder e a new folder containing the new panel widget 83 GIMIAS User Manual C MyPluginMyFunctionalityPanelWidget cpp h MyPluginMy Functionality P anelwidget h t MMyPluginMlyFunctionalityPanelwidgetUl cop ih My PluginhlyFunctionalityPanelWidgetUr h S My PluginklyFunctionalityPanel Widget weg Figure 8 12 New widget files a ProjectiMyProject_srcjplugins MyPlugin processors Mame Ext tt ce My PluginhyFunctionalityProcessor esx h MyPlouginMy Functionality Processor h ice My PluginhlyPluginProcessor cxx D MyPlugintiyPluginProcessor h Figure 8 13 New processor e a new folder containing the new processor 8 4 84 GIMIAS User Manual 8 4 8 4 3 Build your new plugin Use CSnake to build the GIMIAS solution containing your new plugin Open CSnake specify csnMyProject py as the source file and generate the new Gimias solution 1 press Update and select the Instance gimias 2 press Create CMake files and Run CMake 3 press Launch IDE 4 compile Gimias in Visual Studio CSnake GUI F BinGdev_ CSnakeGUI Sel Context Options Select Pro
77. windows i e visualization options can be set Workflow Manager Aneurysm isolation 0 0 0 AngioImages 0 0 0 AngioLab 0 0 0 AngioMorphology 0 0 0 BrainImages 0 0 0 Cardiolmages 0 0 0 SandBox 0 0 0 SignalNavigation 0 0 0 Rename Activate Delete Import Save Layout Directory C Documents and Settings vbarbarito gimias Workflows Figure 3 8 Workflow Manager The workflow manager allows the following operations New Create a new empty Workflow Edit Edit the currently selected workflow You can also double click on the workflow to edit Rename Rename the currently selected workflow This will also change the XML file name Activate Will change the active workflow This button will automatically change the perspective to Workflow and restart Gimias Delete Deletes the workflow and the XML file from disk Import Import an already existing workflow Save Layout Save current GUI layout The workflow editor figure 3 9 allows to define the steps of a workflow and the content of each workflow step On the left side you have all possible components that are registered in GIMIAS and can be added to the workflow On the right side you have the currently edited workflow How to edit a workflow 1 In GIMIAS File Menu make sure that the Plugin Perspective is selected and load all the plugins that you need to create the workflow 2 Open the Workflow Manger selec
78. zationPanelWidget LY ptRingCutPanelWidget 1 ptskeletonCutPanelWidget Figure 3 12 Workflow Editor add and remove components In the figures below you can see an example of workflow created for morphological analysis of aneurysms The steps of the clinical workflow are shown in figure Morphological analysis E 5 o E L LA E H 5 i Figure 3 13 Example workflow Angio Morphology Figure shows the Workflow Editor for the Angio Morphology Workflow Left side the needed plugins to create this workflow are Common DICOMPlugin MeshEditorPlugin AngioSegmentationPlugin AngioMorphologyPlugin Common folder contains all components registered as common for all plugin tabs Right side This workflow has 4 steps Each step contains Processing steps and Windows For example Load image data step contains two specific windows from DICOMPlugin WorkingAreaPanelWidget and Connect ToPacsDialogWidget While Vessel Segmentation contains one processing step and 4 alternatives Figure shows the GIMIAS Tabs corresponding to the workflow steps and created using the Workflow manager The Angio Segmentation Plugin and the Angio Morphology Plugin are not distributed with GIMIAS framework 19 GIMIAS User Manual 33 Workflow Editor Workflow Z AngicMorphollogy Load image data O Processing steps O Windows G Vessel Segmentation O Processing steps Windows Aneurysm Dome Isolatio
Download Pdf Manuals
Related Search
Related Contents
Le eLearning pour adultes hospitaliss Firefriend KO-6384DU hob Grua Puente - Advanced Overhead Crane Yazough Image Image SeptoBond 取扱説明書 7500 QSG STERLING 62020100-0 Installation Guide Copyright © All rights reserved.
Failed to retrieve file