Table of Content

In this post we explain how to use the manual segmentation features of Rhino3DMedical. With these features 2D images can be segmented in order to create binary label maps which can then be used to create 3D surfaces.

Manual 2D image segmentation

First a closed curve is drawn on a given 2D slice which can be either an axial, coronal or sagital 2D view. The segmented area will correspond to the surface enclosed by a curve.

Any Rhino curve tool can be used for this purpose. We recommend to use one of the features listed under the menu point Curve -> Free-form.

Selection of a Rhino curve to draw a closed curve.

Most of the Rhino curves have the option to draw a closed curve. This option can be specified in the command line after the curve tool has been chosen. To ensure that the drawing plane corresponds to a specific 2D image slice there are several options depending on which curve tool is chosen:

  • Sketch: The option OnMesh to draw on a selected mesh can be specified. Since all 2D image slices are treated as meshes in Rhino, selecting this option allows one to subsequently select the 2D image to draw on.

Select the ‘OnMesh’ option when using the ‘Sketch’ tool.

  • If another curve is selected as drawing tool such as for instance the ‘Control Points’ or ‘Interpolate Points’ curve, then the construction plane can be set to correspond to the 2D image through the CPlane command. Setting a CPlane is done by either selecting the menu point View -> Set CPlane or by typing the command CPlane in the command line. Then the option Object can be selected which allows one to select the 2D image to set the CPlane to correspond to the 2D image.

Select the option ‘Object’ to choose a 2D image as CPlane.

It is good practice to draw all the curves on a dedicated layer for curves, i.e. not on the image layer.

Choose a separate layer to draw the curves on.

Once a closed curve is drawn go to the menu item Rhino3DMedical -> Manual Segmentation.

Enable the anual egmentation tool of Rhino3DMedical.

A dialog window will pop up. Select Add Region which then will ask the user to select the 2D slice that needs to be segmented. Note that if the closed curve does not lie on the same plane as the 2D slice, then the manual segmentation tool will automatically project the curve onto the plane that corresponds to the 2D slice.

Select ‘Add Region’ to segment a 2D slice.

The 2D slice is selected by clicking anywhere on it.

Choose the 2D slice to be segmented.

Next, the curve enclosing the area to be segmented is selected.

Select the closed curve that defines the segmented area.

The area enclosed by the curve appears now colored.

The area enclosed by the curve appears in color.

The color can be changed through the dialog window.

The segmentation color can be changed through the dialog window.

The manual segmentation process can be repeated on multiple 2D slices and multiple regions per slice can be segmented.

2D segmentation can be repeated on multiple slices.

If the curves are drawn on a separate layer it is easy to hide/show them through the layer panel in Rhino.

Show/hide the layer with the curves through the layer panel.

The command SelCrv enables to select all the curves in a Rhino scene. That way they can all quickly be shifted to a new layer if needed.

The ‘SelCrv’ command enables to select all curves in a Rhino scene.

Create 3D surface from manual segmentation

If multiple consecutive 2D slices have been segmented, then a 3D surface mesh can be computed. For this purpose simply press the button Create Surface from Regions in the dialog window.

Create a 3D surface mesh based on multiple segmented 2D slices.

The resulting 3D surface appears on a new layer. It can be nicely visualized in the render view and its material properties can be specified such as color, material, transparency or reflectivity.

Specify material properties of the surface mesh for a nice visualization.

The 3D surface mesh is automatically positioned within the 3D image stack and corresponds to the manually segmented 2D slices.