IRIS User Manual

 

Introduction

What is Image Segmentation?

Image segmentation refers to a process of examining cross-sections of a volumetric data set, and outlining the shape of structure visible in these cross-sections. After the structure has been outlined in a set of parallel cross-sections, the outlines can be stacked together to approximate the 3D-shape of the structure.

Who uses Image Segmentation?

The intended users are doctors, medical technicians, medical researchers, anyone who needs to build a 3D model of a structure from a volumetric data set.

The IRIS system

IRIS is a system for performing image segmentation. It displays three perpendicular cross-sections of the volumetric data set. In any of these cross sections one can outline a structure by drawing a polygon, and the voxels in the interior of this polygon are considered part of the structure being segmented. A 3D rendering of this structure is displayed in a fourth view, within which one can label surface points of the structure with a color.
 

Starting the Program

Unix: In the program directory, type 'iris' at the command prompt

NT: From the program folder, double click on the 'iris' icon.

A menu bar, toolbar, and four windows should appear. The top two and bottom right windows are used to display 2D orthogonal cross-sections of the volumetric data set. The bottom left window is used for displaying a structure segmented in the three 2D windows.
 
 





Loading a Data Set

Loading Grey Data
From the file menu, select 'load -> GreyFile'. The load box should appear.
-Type or select the name of the file
- Specify the X,Y, and Z dimensions of the file
- Specify the file format ( byte and unsigned short (2 bytes) are currently supported).
- Specify the Minimum and Maximum intensity values
- Specify the spacing in each of the dimensions
- Specify the origin from where the data stream begins.
- Click on 'Okay' to proceed or 'Cancel' not to.

After loading, the three 2D windows should display default orthogonal views. The 3-D view will remain empty.
 

Display of the Volumetric Data Set

Data Set and Window Orientation

The volumetric data set is a 3D array of intensities, such as the density map of a volume from an MRI scan.

The cells in the 3D array are referenced by three indices, an x, y, and z, giving the cell's offset from one of the corners in the three array dimensions. An integer unit step in a particular dimension of the 3D array corresponds to a real distance in space. In general, each dimension may have a different ratio of integer step and real distance.

 


Each of the three 2D windows displays an orthogonal cross-section of the volumetric data set. The upper left window displays cross-sections perpendicular to the z-axis. Therefore, the axes of this window are x and y. The upper right window displays cross-sections perpendicular to the x-axis. The axes of this window are z and y. Lastly, the lower right window displays the cross sections perpendicular to the y-axis, with axes of z and x.


Contrast and Brightness Adjustment

At the bottom of the toolbar are two sliders, one each for contrast and brightness. They initialize at the median values.

 

Navigation in the Volumetric Data Set

Changing the Visible Cross Sections

A key feature of IRIS is the ability to navigate through the volumetric data set in any of the orthogonal slice windows. It is also important to keep track of the position of each orthogonal slice relative to the other two slices. IRIS incorporates a linked cursor system that allows the user to track a single voxel as well as the position of each orthogonal slice relative to the other two.

After a volumetric data set is loaded, each 2D window will display a different slice orthogonal to one of three directions, x, y, or z. Within a 2D window, the position of each of the other two orthogonal slices is represented by a blue line. The default position for the x,y, and z-planes is at the top and sides of the volumetric data set. Changing the slice in any window is immediately reflected by the movement of the appropriate blue lines in the other two windows.

Next to each 2D window is a scrollbar that allows the slices to move forward and backward, one slice at a time, in the direction orthogonal to the plane displayed in that window. (If the user clicks at a point in the middle of the scrollbar, it will jump to this relative position in the set of slices in the given dimension). Below  the scrollbar is a counter that displays which slice is currently being shown and how many total slices exist in that plane.




Using the Cross Hairs Button 

The slices may also be shifted by choosing the crosshair button on the toolbar and clicking on a point in any of the three 2D windows. The coordinates of the point chosen in one window will dictate which slices will be shown in the other windows. For example, if an (x,y) coordinate pair is selected in the z-plane window, the other two windows will update to show the x and y planes matching that coordinate. Simultaneously holding down the left mouse button and dragging the mouse across one window does not cause the other two windows to update until the mouse button is released.

If the user clicks on a point of the segmentation data in the 3-D window, the crosshairs will automatically jump to the closest point on the surface of the data set. The corresponding views in each of the 2-D windows will also be immediately updated.

Navigation within a Cross Section

  

Zooming and panning in the cross sections can be performed after pressing the navigation button in the toolbar.

2-D Window Navigation


The left mouse button allows the user to pan the currently displayed slice image in each 2D window. When the left mouse button is pressed and held in any 2D window, moving the mouse will move the displayed image with the mouse.

The right mouse facilitates zooming in and out of the displayed image. Clicking the right mouse button on a slice image will zoom into that image at the position clicked on. Holding down the Shift button and clicking on a slice image will zoom out of the image at the position clicked on.

Changing the slice image in any of the 2D windows will retain the current pan and zoom settings.

To reset a 2D-viewing window to its default view, click the "reset view" button located at the bottom of that window.

3-D Window Navigation

When the left mouse button is pressed and held in the 3D window, moving the mouse will rotate the segmented data set about its center.

The right mouse facilitates zooming in and out of the displayed image. Clicking the right mouse button on a slice image will zoom into and out of the data set.

The middle mouse button,   if available, allows the user to pan the segemented data when it is pressed and held down while the mouse is moved within the 3D   window.

To reset the 3D-viewing window to its default view, click the "reset view" button, located at the bottom of the 3D window.
 

Performing Segmentation with Polygons

Drawing and Editing Polygons

Drawing a polygon

In IRIS, the user segments a structure or applies a color label by drawing a polygon outline. Select the polygon drawing tool above to begin polygon drawing. Draw a polygon by left-clicking the mouse to create points on the perimeter of the polygon. After the last point has been created, right click to close the polygon. A green bounding box will appear around the polygon and the vertices will change color to green. An incomplete polygon may not be deleted.  Only one 2D window may contain a complete or incomplete polygon at a time.   (Note: this program allows self-intersecting polygons.)

Editing and moving a polygon

Once a closed polygon is present, the user may edit its shape by selecting single vertices or groups of vertices and moving them to a desired position. To select a vertex, first deselect all vertices by clicking outside of any bounding box present in the current window. Then  either click directly on a vertex or draw a bounding box around it by clicking and holding down the left mouse button and dragging the mouse. Multiple vertices may be selected by using this bounding box method.   To move a selected vertex or set of vertices, click and hold down the left mouse button inside of the box containing the vertex(or vertices) and move the mouse to position the vertex or vertices as desired.  The entire polygon can be moved using this method.

To select additional vertices to the one(s) already highlighted, hold down the SHIFT key and use the left mouse button  to select a vertex or draw a bounding box around a set of vertices. To deselect a vertex or set of vertices while maintaining the selection of others, hold down the SHIFT key and use the right mouse button to deselect a vertex or draw a bounding box around a set of vertices to be deselected. 

Inserting new vertices

Vertices may be inserted into the current polygon by selecting consecutive vertices and pressing the INSERT key on the keyboard. A new vertex will be placed in the middle of the line formed between the two vertices around it. A new vertex will be placed between any two consecutive vertices selected when the INSERT key is pressed, so if the entire polygon is selected, a new vertex will be placed in the middle of each line that defines that polygon. If only two vertices remain and are selected, pressing the INSERT key will place two vertices on the line between the already exisiting vertices, creating a four-sided polygon.

Deleting vertices and polygons

Vertices may be deleted by using the DELETE key on the keyboard while the vertices are selected. The polygon will close itself when vertices are deleted by reconnecting the remaining vertices in the order that they were placed. IF every vertex is selected, the entire polygon will be deleted. If all but one or two vertices are deleted, the polygon becomes invalid and the remaining point(s) must be deleted before a new polygon may be drawn, or new vertices must be inserted between two remaining vertices.

During polygon creation, if any of the other buttons or menu items are selected, the polygon in progress is retained. This allows the user to change the view paramaters of any window for facilitating segementation.
 
 

Drawing Modes

The polygon region is not actually added to a segmentation until one presses the 'accept poly'  button. It is important to understand the three drawing modes that affect how color labels are applied when this button is pressed.

Select the 'PaintOverAll' radio button to enter this drawing mode. When this mode is activated, drawing a polygon and pressing the 'accept poly' button will fill the entire interior of the polygon with the active color label from the label palette. Unlabeled voxels and voxels with other color labels within this polygon will all be re-labeled with the active label.

Select the 'PaintOverColors' radio button to label over any voxel except clear, unlabeled voxels. Drawing a polygon and pressing 'accept poly' applies the active color label to all voxels in the polygon's interior that have previously been given a color label.

Select this mode with the 'PaintOverOne' radio button, and choose a corresponding label from the neighboring palette. When one draws a polygon and presses the 'accept poly' button, only voxels of this color interior to the polygon will be re-labeled with the active color label.

 

Clearing Voxels

This is treated as drawing with  'clear'. Select   'clear' from the 'Active Label Palette', create a polygon region to be cleared, and press the 'poly accept' button. The 'PaintOverOne' drawing mode above allows one to clear voxels of only one color.

Polygon Cache

Only one polygon can be drawn at a time, so the 'accept poly' button must be pressed before moving to a new polygon. When one presses this button, the polygon disappears but is cached in a 1-polygon cache for the current window.

The cached polygon can be pasted back into any cross section of 2D view it was created in by using the associated 'paste' button. (One cannot paste into the other 2D views - each view has its own separate 1-polygon cache). This feature is available to simplify segmenting along one of the cross section directions. The polygon used in one cross section can be pasted into the next and edited point by point, since this may be faster than creating a new polygon.

 

Generating/Updating a 3D Mesh

Once a data set has been loaded and segmented using the orthogonal viewing windows, a 3D mesh may be created. This mesh represents the boundary surface of the segmented region and is useful in determining the quality of the initial segmentation.

To generate a 3D mesh, click the "Update Mesh" button located in the lower-left window. The generated mesh will be rendered in the 3D window.

After clicking the button the "Update Mesh" button will be deactivated indicating that the current 3D Mesh corresponds to the current segmentation in the orthogonal viewing windows. When modifications are made to the 2D viewing windows, the "Update Mesh" button will become active again indicating that the current 3D Mesh does not correctly correspond to the current segmentation in the 2D windows.

Navigation in the 3D Window

Rotating and Zooming

   

Pressing the navigation button enables navigation in the 3D window.

The left mouse button allows the displayed segmented object to be rotated. To rotate the segmented object horizontally, click and hold the left mouse button anywhere on the 3D window and drag it left or right to rotate the object in the desired direction. To rotate the object vertically, click and hold the left mouse button, then drag the mouse up or down.

The right mouse button allows zooming in the 3D window. Click and hold the right mouse in the 3D window. To zoom into the object, drag the mouse upwards. To zoom out, drag the mouse downwards.

Color Labeling of Points in 3D

To color label points on the 3D mesh, first select a color. The active color is displayed in corner on the toolbar panel.

Changing/Adding Color Labels

If you would like to add/change the name or color/name  of a given label, click on the add/change label button - two boxes will pop up - one to alter color and the other to change/add text names.
- Change the color in the color chooser and click okay (or Cancel if you don't want to change the color).
- Select add or change depending on the functionality that you want to have.
- If you simply wanted to add a new label - change the name in the text box.
- If you wanted to simply change the color, then do not modify the textbox.
- Click 'OK' to continue or 'Cancel' not to.

Point Selection in 3-D

Orient the mesh in the 3D window to bring the point to be labeled into view. Select the 3D-paint button from the toolbar, and click the mouse cursor over the desired point of the mesh. This mesh point will be highlighted in the active color and the voxel corresponding to this mesh point will be filled with this color when it appears in the 2D cross-sectional views.

Spray Painting in 3-D

Spray painting in 3-D is an extension of point selection. Simply hold the left button down and drag the mouse over the area required to be selected. Successive points will be selected.
(Note: The more points you select, the slower the interaction will become because there are more points to draw.)

Loading/Saving a Segmentation

The polygons used to create a segmentation, and the color labels applied to points on the segmented structure, can be saved for later viewing or editing.

Saving Segmentation Data
 To save the current work, select 'Save -> SegFile' from the file menu.
- type or select the desired file name, and press 'OK' or 'Cancel' not to.

Saving Label Data
 To save the current set of color labels , select 'Save -> LabelFile' from the file menu.
- type or select the desired file name, and press 'OK' or 'Cancel' not to.

Loading Segmentation Data
From the file menu, select 'load -> SegFile'. The segmentation file load box should appear.
-Type or select the name of the file
- Click on 'Okay' to proceed or 'Cancel' not to.

The segmentation data will be shown in the 3 orthogonal 2-D views whilte  fourth 3D view will show the segmented  structure .

Loading Label Data
From the file menu, select 'Load -> LabelFile'. The label file load box should appear.
-Type or select the name of the file
- Click on 'Okay' to proceed or 'Cancel' not to.

Extra  labels will be loaded if there are any present.