New end user features in GIMIAS 1 1 0

From user's Wiki!
Jump to: navigation, search

Usability

Improved name of the tabs: This allows to clearly see the current selected tab

Plugn tab name

Widgets Input

The selection of the inputs of the widgets have been improved, using a combo box with the possible data objects.

Select input data

You can click the combo box arrow at the right and you can choose the desired input from the data tree.

Remove data objects (Idea #9: Is not easy to remove a set of data objects)

Added a right mouse button option and the “Delete” key to remove data objects.

Unload data

Multiple landmark sets

Added a button “New landmarks” to create a new landmark set. Now you can have multiple landmark sets for one data object.

Toolbars

Split the main toolbar into several specific toolbars. You can show/hide each toolbar using the Menu option.

Toolbars

Widgets Toolbar

Added a new toolbar to show/hide common widgets

Widget toolbar

Pressing each button of the toolbar you will be able to show or hide a concrete widget. For example, the first buttons allows you to show the Data tree and the second one is for the Command Panel.

  • Data Tree
  • Command Pannel
  • Time management
  • Helper
  • Appearance Suitcase
  • Data Information
  • Processing Tools
  • Signal Viewer
  • Bull’s Eye Plot
  • Image Contrast
  • Working area configuration

You can access the same options using the menu:

Appearance Toolbar

You can manage very often used rendering properties: show/hide Lookup table, lookup table, opacity.

Interactors Toolbar

All possible interactors are present in this toolbar: landmarks, measurements and manual segmentation.

MultiRenderWindow Toolbar

Standard toolbar for managing a single MultiRenderWindow.

Layout Toolbar

You can change the layout of the currently selected MultiRenderWindow

Working Area Toolbar

You can choose the working area.

IO Toolbar

Open and save files.

DICOM

Added Most Recent Used files to DICOM plugin for DICOM/ DICOMDIR files and DICOM directories. Save last opened directory.

Drag and Drop DICOM/ DICOMDIR files and DICOM directories directly into DICOM plugin.

Added IO Toolbar for DICOM data.

GIMIAS Workflow

Extended GIMIAS with the possibility to create, edit and use workflows. A GIMIAS Workflow is a way to organize the processing steps and provide a simplified navigation to the end user from the initial step to the final step. For example we can take a look at Angio Morphology Clinical Workflow:

Clinical Workflow diagram
  • In GIMIAS, this workflow is represented as tab pages. Each workflow step (tab page) contains a set of processing steps. Each processing step has a set of alternatives. For example. Step number 2 Vessel Segmentation has a default segmentation algorithm. In case that the default one is not working, there are a list of possible alternatives that the user can select.
Workflow plugin tabs
  • Perspective: GIMIAS still supports the previous way of loading plugins, called “Plugin Perspective”. To switch between these two perspectives, you need to select the appropriate menu entry in the File->Perspective->Plugin or File->Perspective->Workflow. When using the “Workflow” perspective, all needed plugins are loaded automatically.
Workflow option menu
  • Customizable: Each tab page will contain specific processing widgets, toolbars, working areas and layout. So its easy to customize GIMIAS interface for a specific end-user.
  • Persistence: Workflows are stored as XML files in the user home folder. In Windows the folder is C:\Documents and Settings\<User>\.gimias\Workflows. Is possible to store specific plugin properties like PACS AET title or a specific threshold parameter of a processing widget.
  • Version: Each workflow has a name and a version. So it’s easy to update them.
  • Workflow Navigation: Added a new widget to easily navigate through the processing steps with a next and back arrows like a web browser.

Workflow Manager

To manage workflows, you need to access the File->Workflow Manager Menu entry. The following window appears:

Workflow manager

The basic operations you can perform are:

  • New: Creates a new empty Workflow
  • Edit: Allows to edit the currently selected workflow. You can also double click on the workflow to edit
  • Rename: Renames 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

Workflow Editor

It allows to edit a workflow. At the left side you have all possible components that are registered in Gimias and can be added to the workflow. At the right side you have the currently edited workflow. As a example we will take a look at AngioMorphology workflow.

Workflow editor
  • Left side: You can see the needed plugins to create this workflow: 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 ConnectToPacsDialogWidget. While Vessel Segmentation contains one processing step and 4 alternatives.
Workflow editor

How to create/edit a workflow

To edit the workflow you need to

  • Start GIMIAS with the Plugin Perspective and load all the plugins that you need to create the workflow
  • Open the Workflow Editor
  • Add a workflow step: Press right mouse button over the Workflow name and select “Add a step”. By default all Common widgets will be added automatically. Is possible to remove some of the “Common” widgets that are not needed in your workflow. You can edit the workflow step name pressing F2 key.
  • Add components: Drag and drop the processing steps and the windows from the left tree to the right tree. You can select multiple components.
  • Remove components: You can remove a component from the right tree dropping it out of the window
  • Change workflow steps order: You can change the workflow steps order or the processing steps order with drag and drop over the right tree.
  • Press “Ok” button to save the changes or “Cancel” button to discard them.

Workflow Navigation

With workflow navigation widget you can navigate through the workflow processing steps pressing next and back button. With the middle button you can access the alternative processing steps.

Workflow navigator

Views

Ortho Slice view

This is the simplest method for visualization. This working area is composed of 3 planar cuts through the volumetric image and one 3D view.

  • X View: sagittal
  • Y View: frontal, lateral or coronal
  • Z View: transversal or axial
  • 3D View
Ortho Slice View

The possible layout configurations for this view can be managed using the layout toolbar. You can also change the rotation, flip and direction of each plane.

Multi Slice View

This view is composed of several cut planes and one 3D view. By default the cut planes are parallel and the direction is Sagittal. The goal of this view is to show several cut planes of an image at the same time and allow a general overview of the image.

Multi Slice View

It’s possible to change the direction of the cut planes and number of slices using the configuration window. The configuration window allows you to create your own view. You can add as many slices as you want and configure the direction of each slice independently.

Notes:

  • The cut planes are not related to the DICOM slices. In the future, we will add this feature to configure the cut planes automatically.
  • The Ortho Slice View is a special case of Multi Slice View with three cut planes in each direction.

Skeleton visualization in 2D views

Extended rendering library to allow visualization of skeleton points in 2D view.

Skeleton visualization

Hide frame border colors

Added an option to hide the frame border color to make the interface colors smoother.

Hide frame border colors

Working Areas

The Working area is the window that appears in the center of Gimias. It is used to render the data objects. By default, Gimias provides several working areas. However, more working areas can be added externally.

Side by Side

This working area is composed of two OrthoSlice views showing the 3D view alone. The goal of this working area is to compare two data objects side by side.

SideBySide

It’s also possible to link the camera position of the views using the link button in the working area toolbar.

Note: Since this working area is composed of 2 OrthoSlice views, you can also change the layout of each OrthoSlice view.

Compare three cut planes

This working area is composed of three OrthoSlice views showing the X, Y and Z planes. The goal of this working area is to compare three data objects side by side.

Compare Slices Working Area

For example, the user navigates through the first image and the rest of the views will be automatically updated to the same position.

It’s also possible to link the camera position of the views using the link button in the working area toolbar.

Note: Since this working area is composed of 3 OrthoSlice views, you can also change the layout of each OrthoSlice view.

Plugins

Split the GIMIAS framework functionalities in several plugins. Now you can select any of these plugins to load specific functionalities:

  • Cardio Tools: Bull’s Eye plot widget
  • DICOM: DICOM viewer and PACS
  • Image Tools: Image cropping, change orientation and other common image tools
  • Manual Segmentation: Manual segmentation tool to create a mask image
  • Mesh Editor: Mesh editor tools
  • Neuro Tools: Neuroimaging tools like image contrast widget
  • Scene View: Visualization empty plugin
  • SignalViewer: Signal navigation and editor

Processing Tools

Generate mask image from surface mesh

Added an option to generate a mask image from a surface mesh. The main goal of this function is to create a mask image using ROI interactor, without empty slices.

Step 1: Generate a mask image using ROI interactor

You can select different ROI in different separate slices. For example slice number 1, number 5 and number 15.

Step 2: Create surface mesh using the context menu option “Create Delaunay Mesh from ROI” over the MaskImage

The mesh contains all voxels from the mask image.

Step 3: Create a mask image from the surface mesh using the context menu option “Create Image from Mesh”

The image contains all “0” voxels except the ones that are inside the surface mesh, that are “1”.

Image Orientation

Added a new widget to change orientation of images

Image Orientation

For example when you press the button Flip Up/Down, the image will be flipped like in this example:

Image Orientation example

Image overlay

It allows you to overlay an image to a main image.

For example the main image can be an MRI and the overlay image can be a PET.

Image Overlay

Readers and writers

Added an option to select the desired fields from a CGNS file and change the frequency of a BrainVision file signal.

When you open a BrainVision file, a window allows you to change the sub sampling factor that will be used when reading the signal data.

Signal reader

In this example, the initial sample rate of the file was 500 Hz and the output sample rate will be 50 Hz.

When you open a CGNS file, a dialog appears that allows you to select the fields you want to load.

CGNS reader

The option “Use compression” allows optimizing the memory when loading data with multiple time steps.

CGNS reader example

Selection Tools

Manual segmentation

You can enable the manual segmentation widget through the corresponding Icon in the Interactors Toolbar or through the menu option Tools->Selection->Manual Segmentation.

In the Selection Toolbox different options will appear.

Manual segmentation configuration
  • 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.
  • 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.
  • Erase only selected color: When erasing (CTRL + Left mouse button) you can choose to erase only the selected level or all them.
  • Lookup table: You can change the lookup table if you don’t like the default colors.

For example here you have a segmentation with 3 levels (LV epi, LV endo, RV endo)

Manual segmentation example

The multi level ROI can be saved to disk and restored later. The level information is saved in the VTK file header.

Multi Level ROI information

You can enable the multi level ROI information widget through the menu option View->Visualization->Multi Level ROI

In the multi level ROI information widget you have the following options:

Manual segmentation information
  • 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.
  • 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 combo box and the time step using the time management widget (View->Windows->Time management). When you click update the values are refreshed with the selected level and time step.
  • Create signal: You can create a signal to compare the evolution of those values over time. Those values are also computed using only the selected level.

You can visualize the signal using the signal viewer.

Manual segmentation information example

Extended manual segmentation to work with 2D images

You can open a 2D image and use manual segmentation tool.

Manual segmentation for 2D images

Landmarks selection

Extended landmarks selection to allow multiple landmarks set.

Multiple landmarks

Surface Selector

You can enable the surface selector through the corresponding Icon in the Interactors Toolbar or through the menu option Tools->Selection->Surface

In the Selection Toolbox different options will appear, all of them use the CTRL + Left Mouse Button interaction:

Surface selector configuration
  • TriangleSelect: allows the user to select triangle by triangle
  • SphereSelect: allows the user to select a circular region, using a sphere that grows dragging the mouse
  • BrushSelect: allows the user to select a region with a brush of defined radius, by dragging you will create a path with your brush (for the moment it only allow one brush path, if we switch to another type and then we come back we can use it multiple times)
  • combination of different options: allows the user to change the selection type during the selection of a specific region.
Surface selector example

Once made the selection one of the Tools that are listed in the section Select Tools could be applied.

  • Remove Cells option (working)
  • Local Refiner, Edge Swap and Taubin Smoothing options ( to be improved)
Surface selector example

BSV: multidimensional signal viewing and exploration

Modified the signal viewer plugin to synchronize image and signal using the signal markers.

Step1: Open signal data

Open signal data. You can see in the images bellow a standard 32 channel EEG signal with the red markers on the first signal channel.

Double Banana

The second picture is the double banana visualization. You can compute it using the menu option Tools->Signals->Double Banana.

Step 2: Open set of images

Next, the user can open the 400 SPECT images of the brain acquired during the same period. Using the Image Contrast Widget, the user can easily adjust the blue and red colors of the image.

SPECT visualization

Step 3: Synchronize signal and images

Propagate the signal markers to the image. You need to open the Tools->Signal->Propagate Signal Time.

Propagate signal

Pressing the button Synchronize of the Signal Viewer will synchronize the image and the signal

Step 4: Image and signal navigation

Open the time management window to navigate through the signal and images at the same time. You can adjust the offset and window size of the signal view.

Image and signal navigation

Step 5: Add an annotation to the signal

Right click on a channel of the signal viewer and select “Add annotation”. Select the annotation type you want to add. Drag the mouse button to set the duration.

Signal annotation

Step 6: Add free annotations to the signal

You can add free annotations use the right click button and the option “Add free annotation”. Using these annotations, you can freely set the name of the annotation.

Free signal annotation

Step 7: Save signal in GDF format

Save the signal using the menu File->Save selected data entity.