Surface3D Overview

From Visual3D Wiki Documentation
Jump to: navigation, search
Language:  English  • français • italiano • português • español 

Surface3D segments objects (bones, implants, etc.) from CT data for use in model-based tracking, and it creates surface models of these objects for subsequent kinematic analysis of the tracking results. It works by labelling and segmenting CT data for each object, then saving the segmented objects to RAW or TIFF files. Then it produces polygonal surface models from the segmented objects using a marching cubes algorithm, and saves them to OBJ files. The segmented objects are used by X4D to generate DRRs for model-based tracking. The surface models are used by Orient3D to define anatomical references and regions of interest (for distance map calculations), and by Visual3D for kinematic analysis. Surface3D also allows you to identify landmarks (e.g., ligament attachments) and points of interest (e.g., implanted beads) in the image data.

S3Dscreen.png

Tutorials

How To: Segment Image Data and Create Surface Models

Menus

     File Menu
     xManLoadSubject.png
The Load Subject command loads a Subject file. This command can also be accessed with the Ctrl + O shortcut.
     xManSaveSubject.png
The Save Subject command saves the currently loaded subject to its existing Subject file. This command can also be accessed with the Ctrl + S shortcut.
     xManSaveSubjectAs.png
The Save Subject As command saves the currently loaded subject to a new Subject file.
     S3DLoadImage.png
The Load Image command loads 3D image data for segmentation. If a subject is currently loaded, it is closed. This command can also be accessed with the Ctrl + I shortcut.
     S3DSaveSegmentedObjectButton2.png
The Save Segmented Object command saves the currently loaded image data to a RAW or TIFF file. It is meant to be called after the data has been cropped to a label. If a subject is loaded and the object in the subject already has a link to a segmented image file, this file will be overwritten without notification. If a link does not already exist, you will be prompted to select a new file name.
     S3DSaveSurfaceModelButton2.png
The Save Surface Model button saves the polygonal surface model to an OBJ file. If a subject is loaded and the object in the subject already has a link to a surface model file, this file will be overwritten without notification. If a link does not already exist, you will be prompted to select a new file name.
     S3DExitButton.png
The Exit command exits the program and all unsaved data will be lost. The program can also be closed by using the X in the top right corner of the program window.
     View Menu
     S3DObjectConfigurationButton2.png
The Object Configuration control toggles the appearance of the dockable Object Configuration widget. It can also be controlled using the Ctrl + Shift + C shortcut. This item appears in the View menu only when a subject file is loaded.
     S3DLandmarksButton.png
The Landmarks control toggles the dockable Landmarks widget, which has a list of the landmarks in the selected object. The Ctrl + Shift + L shortcut can also be used. This item appears in the menu only when a subject file is loaded and an object is selected.
     S3DPOIsButton.png
The POIs control toggles the dockable POIs widget, which has a list of the points of interest in the selected object. The Ctrl + Shift + P shortcut can also be used. This item appears in the menu only when a subject file is loaded and an object is selected.
     S3DSegmentationButton.png
The Segmentation control toggles the dockable Segmentation widget, which contains the editable list of object labels that can be used for segmentation. The Ctrl + Shift + S shortcut can also be used to toggle the widget.
     S3DHistogramOfImageButton2.png
The Histogram of Image control toggles the dockable widget with the histogram of the image data. The Ctrl + Shift + H shortcut can also be used.
     S3DParametersButton2.png
The Parameters control toggles the dockable Parameters widget. The Ctrl + Shift + P shortcut can also be used.
     Segmentation Menu
     S3DAddObjectLabelButton2.png
The Add Object Label command adds a segmentation label to the Segmentation widget. The Ctrl + A shortcut can also be used.
     S3DRemoveObjectLabelButton2.png
The Remove Object Label command deletes the currently selected segmentation label. The Ctrl + R shortcut can also be used.
     S3DCropImageDataToLabels2.png
The Crop Image Data to Labels command crops the image data to the extent of the all of the labels applied to the image data.
     S3DExportLabelMaskButton2.png
The Export Label Mask command saves a binary image representing the current label.
     S3DUndoButton2.png
The Undo command undoes the last manual edit to the segmentation label. The Ctrl + Z shortcut can also be used.
     S3DRedoButton2.png
The Redo command redoes the last undone manual edit to the segmentation label. The Ctrl + Y shortcut can also be used.
     Select Thresholding Seed
The Select Thresholding Seed command allows the user to pick a point(pixel) in any of the 2d render windows, which will then be used as a seed for 3d thresholding using the threshold values set in the Histogram widget.
     S3DAutomaticHoleFillingButton2.png
The Automatic Hole Filling command automatically fills all 3D holes in the segmentation. It works by finding each unlabelled voxel next to a labelled voxel and using a flood-fill algorithm to find all unlabelled voxels that are connected to it. If the size of this region is less than the value of the Auto Hole Threshold parameter, then the region is labelled with the current label. The Ctrl + H shortcut can also be used to execute this command.
     Fill Gaps
Still under development.
     Erode Label
The Erode Label command automatically erodes the segmentation. The basic effect is to erode away the boundaries of regions of the currently selected label. Thus areas of label pixels shrink in size, and holes within those areas become larger.
     Dilate Label
The Dilate Label command automatically dilates the segmentation. The basic effect is to gradually enlarge the boundaries of regions of the currently selected label. Thus areas of label pixels grow in size, and holes within those areas become smaller.


     Image Menu
     Reverse Image Slice Order
The Reverse Image Slice Order command reverses the slices of the loaded image, i.e. the first slice becomes the last one, and the last slice the first one. The segmentation and its edits are automatically adjusted, as are the pois and landmarks.
     Model Menu
     S3DCreateSurfaceModelButton2.png
The Create Surface Model command creates a polygonal surface model from the current segmentation label. It uses a marching cubes algorithm to find an isosurface from the set of labelled voxels. For best results, the labelled voxels should not have any holes in the interior.
     S3DDecimateSurfaceModelButton2.png
The Decimate Surface Model command reduces the number of polygons in the surface model. It is controlled by the Decimation Factor parameter, which specifies the approximate percentage of polygons that will be removed from the object surface. For example, if the parameter is set to 0.2, approximately 20% of the polygons will be removed each time the decimate command is performed. Decimating will remove small details of the surface model.
     S3DSmoothSurfaceModelButton2.png
The Smooth Surface Model command smooths the surface model. This Laplacian smoothing algorithm is controlled by the following three parameters. Feature Edge Smoothing turns on (true) and off (false) smoothing of sharp interior edges on the surface model. Relaxation Factor specifies the Laplacian relaxation factor. Smoothing Iterations is the number of iterations performed each time the smoothing command is executed. Smoothing will shrink the surface model towards its center.
     S3DDeleteSurfaceModelButton2.png
The Delete Surface Model command deletes the current surface model.
     Help Menu
     S3DHelpButton.png
The Help command opens the Surface3D wiki page in the default browser. The F1 shortcut can also be used.
     S3DAboutButton.png
The About option displays a dialog with information about Surface3D, including the installed version number. It also contains the Deactivate button, for deactivating your Surface3D license.

Widgets

     Object Configuration

The Object Configuration widget is available only if a subject file is currently loaded in Surface3D.

S3D ObjectConfigurationWidget.png

     Subject

The Subject field is automatically populated with the ID of the subject when you load a Subject file.

     Session

The Session drop down menu is automatically populated with all of the sessions available for the current subject.

     Object

The Object list is automatically populated with all of the objects in the current session. Each object is enabled if it either has a segmented image file specified for it, or if there is scan data specified for the session. Selecting one of the objects loads its segmented image file, if it has one. If it does not, a dialog is displayed containing all of the scan data files specified for the session, allowing you to select one of them for segmentation.

     Histogram of Image

S3DHistogramOfImageWidget.png

The histogram of the image shows the range of voxel intensities in the currently loaded image data. If a label is selected in the Segmentation widget, the upper and lower thresholds of the label are represented in the histogram as red and green vertical lines, respectively. You can left-click and drag these lines to change the respective threshold values.

     Parameters
S3D ParametersWidget.png
     Auto Hole Threshold

The Auto Hole Threshold specifies the size (in number of voxels) of the largest volume that will be filled by the auto hole-filling command. This command works by finding each unlabelled voxel next to a labelled voxel and using a flood-fill algorithm to find all unlabelled voxels that are connected to it. If the size of this region is less than Auto Hole Threshold, then the region is labelled with the current label. The default value is 2000.

     Decimation Factor

The Decimation Factor specifies the approximate percentage of polygons that will be removed from the object surface during decimation (Model -> Decimate Surface Model). The default value is 0.2, meaning that approximately 20% of the polygons will be removed each time the decimate command is performed.

     Feature Edge Smoothing

The Feature Edge Smoothing parameter turns on (true) and off (false) smoothing of sharp interior edges on the surface model during smoothing (Model -> Smooth Surface Model). The default value is false.

     Paintbrush Radius

Paintbrush Radius is the radius (in voxels) of the circular paintbrush that is used for label painting and label erasing. The default value is 5.

     Relaxation Factor

Relaxation Factor specifies the relaxation factor for the Laplacian smoothing performed by the smoothing command (Model -> Smooth Surface Model). The default value is 0.2.

     Smoothing Iterations

Smoothing Iterations is the number of iterations of Laplacian smoothing performed by the smoothing command (Model -> Smooth Surface Model). The default value is 300.

     Undo Limit

Undo Limit is the maximum number of label editing actions that can be undone. The default value is 10.

     Points of Interest
S3D POIWidget.png
     Add POI

The Add POI button adds a new point of interest to the object. After pressing the button, click in one of the 2D image windows to set the location of the point. Surface3D then creates the POI with a default name and adds it to the table. To change the name, double-click on it and type in a new name.

     Remove POI

The Remove POI button deletes the currently selected POI from the object. To select a POI, click on its row in the table.

     Table

The table shows all of the object's points of interest. The columns are the name of the POI, and the X, Y and Z coordinates in the image data's reference frame. A POI name can be changed by double-clicking on it and typing in a new name. To change the XYZ coordinates, select the POI by clicking on its row in the table, and then click on the new location in one of the 2D image windows.

     Landmarks
S3D LandmarksWidget.png
     Add Landmark

The Add Landmark button adds a new landmark to the object. After pressing the button, click in one of the 2D image windows to set the location of the point. Surface3D then creates the landmark with a default name and adds it to the table. To change the name, double-click on it and type in a new name.

     Remove Landmark

The Remove Landmark button deletes the currently selected landmark from the object. To select a landmark, click on its row in the table.

     Table

The table shows all of the object's landmarks. The columns are the name of the landmark, and the X, Y and Z coordinates in the image data's reference frame. A landmark name can be changed by double-clicking on it and typing in a new name. To change the XYZ coordinates, select the landmark by clicking on its row in the table, and then click on the new location in one of the 2D image windows.

     Segmentation

S3D SegmentationWidget.png

The Segmentation widget provides access to the labels that you use to identify and segment objects (bones, implants, etc.) in the image data. The labels are contained in a table with their name, color, and upper and lower threshold values. For most applications, it is recommended that you segment one object at a time, as described in How To: Segment Image Data and Create Surface Models. When you are finished with the first object, remove the label and create a new one for the next object. To create a label, use the command Segmentation -> Add Object Label. To remove a label, use the command Segmentation -> Remove Object Label. To change the name of a label, double-click on the name and type in a new one. To change its color, double-click on the color cell in the table and select a new color from the dialog. The upper and lower threshold values can be changed by dragging the vertical lines in the Histogram of Image widget, or by double-clicking on the cells in the table and typing in new values.

Image Data Windows

S3D 2D3D Views.png

     2D Views

The three 2D views show cross sections of the image data along the X, Y, and Z axes. The upper-left view, with the red border around the image data, shows a slice perpendicular to the X axis. The lower-right view (green) shows a slice perpendicular to the Y axis, and the upper-right view (blue) shows a Z slice. When the mouse cursor hovers over a 2D view, its border turns yellow indicating the window has become active. The following interaction is possible in an active 2D view:

zooming using the mouse wheel,
panning using the right mouse button,
image contrast can be adjusted by pressing the left mouse button and Shift key and dragging the cursor left and right,
image brightness can be adjusted by pressing the left mouse button and Shift key and dragging the cursor up and down, and
scrolling through the image slices using the Page Up/Down keys.
pressing the 'p' key will put activate the paint mode. In this mode the user can label additional pixels in the segmentation by pressing the left mouse button. It is also possible to drag the mouse while keeping the left button depressed. The radius of the paintbrush is an application parameter that can be edited by the user.
pressing the 'e' key will activate the erase mode. In this mode the user can un-label pixels in the segmentation by pressing the left mouse button. It is also possible to drag the mouse while keeping the left button depressed. The radius of the paintbrush is an application parameter that can be edited by the user.
pressing the 'm' key will activate the manual hole filling mode. In this mode the user can use the left mouse button to select holes in the segmentation that need to be filled.
     3D View

The 3D view in the lower-right shows the image slices from the 2D views as well as the current object's surface model, if one exists. It also shows the reference frame of the image data, with its origin in the lower-left corner of the first image slice in the data file. When the mouse cursor hovers over the 3D view, its border turns yellow indicating the window has become active. The following interaction is possible in an active 3D view:

3D rotation (virtual trackball) using the left mouse button,
panning using the middle mouse button,
zooming using the mouse wheel or right mouse button, and
spinning (in-window-plane rotation) using the left button while holding the Ctrl key.
Retrieved from ""