Surface3D Overview

From Software Product Documentation
Revision as of 21:51, 17 January 2020 by Wikisysop (talk | contribs) (→‎Image Data Windows)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to 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. After segmenting an object from the CT data, the CT data can be cropped and masked, and then saved to a RAW or TIFF file. These cropped image files with just one object in them, are used by X4D to generate DRRs for model-based tracking. It can also generate a polygonal surface model from the currently segmented object using a marching cubes algorithm, and save it to an OBJ file. 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.

Tutorials

How To: Using Surface3D

How To: Segment Image Data and Create Surface Models

Menus

     File Menu
     
The Load Subject command loads a Subject file. This command can also be accessed with the Ctrl + O shortcut.
     
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.
     
The Save Subject As command saves the currently loaded subject to a new Subject file.
     
The Load Image... command loads 3D image data for segmentation. Currently, Surface3D supports DICOM, RAW, and TIFF formats. At least one of the image files needs to have the appropriate extension to enable selection in the filedialog, so the user needs to ensure this is the case. If a subject is currently loaded, it is closed. This command can also be accessed with the Ctrl + I shortcut.
     
The Load Labels... command loads an earlier saved segmentation from file. Currently, Surface3D only supports the RAW format. Loading a segmentation from file will erase the current label and label edits. The menu item becomes enabled after an grayscale image has been loaded. The size of the segmented image data in the selected file needs to be the same as the size of the currently loaded grayscale image. This command can also be accessed with the Ctrl + L shortcut.
     
The Export Labels... command saves the current segmentation to file. Currently, Surface3D only supports the RAW format. This command can also be accessed with the Ctrl + E shortcut.
     
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 masked and 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.
     
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.
     
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
     
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.
     
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.
     
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.
     
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.
     
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.
     Segmentation Menu
     
The Add Object Label command adds a segmentation label to the Segmentation widget. The Ctrl + A shortcut can also be used.
     
The Remove Object Label command deletes the currently selected segmentation label. The Ctrl + R shortcut can also be used.
     
The Undo command undoes the last manual edit to the segmentation label. The Ctrl + Z shortcut can also be used.
     
The Redo command redoes the last undone manual edit to the segmentation label. The Ctrl + Y shortcut can also be used.
     
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.
     
Selecting the The Fill 3D Holes command first opens a dialog with some descriptive text and the opportunity to change the value of the 3D Hole Threshold parameter (default: 2000). When the user decides to go ahead, the command automatically fills all 3D holes in the current segmentation. The algorithm finds each unlabelled voxel next to a labelled voxel and uses 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 3D Hole Threshold parameter, then the region is labelled with the current label. The Ctrl + H shortcut can also be used to execute this command.
     
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.
     
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.
     
The Unlabel Disconnected Regions command unlabels all voxels that are not connected to the selected voxel. It is useful for unlabelling large sections of the image data after you have labelled the bone of interest. For example, when segmenting a vertebra from spine images, the appropriate threshold settings often label all of the vertebrae because of their close proximity. Rather than manually erase the label from all of these unwanted voxels, you can use this command. Start by completely labelling the bone of interest. Then erase the label from all unwanted voxels bordering this bone, so that the bone is not connected to any other labelled regions. Then choose this command and select any voxel in the bone of interest.


     Image Menu
     
The Toggle Voxel Interpolation command toggles the method used to render the image voxels and the segmentation label voxels. The default method renders each voxel with a constant color (flat shading). The other method uses a smooth shading technique in which a voxel's color is smoothly interpolated between its neighbors.
     
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.
     
The Mask Labeled Image Data command sets all unlabeled voxels in the current image to zero. This action cannot be undone.
     
The Crop Image Data to Labels reduces the size of the image to the bounding box of the current segmentation label (i.e., the minimum dimensions that include all labeled voxels). This action cannot be undone.
     Model Menu
     
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.
     
Selecting the The Decimate Surface Model command first opens a dialog with some descriptive text and the opportunity to change the value of the Decimation Factor parameter (default: 0.2). When the user decides to go ahead, the command reduces the number of polygons in the surface model. It is controlled by the value of 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 and the action cannot be undone.
     
Selecting the The Smooth Surface Model command first opens a dialog with some descriptive text and the opportunity to change the value of the parameters that control the smoothing. When the user decides to go ahead, the command smooths the surface model. This Laplacian smoothing algorithm is controlled by the following three parameters. Relaxation Factor specifies the Laplacian relaxation factor. Smoothing Iterations is the number of iterations performed each time the smoothing command is executed. Feature Edge Smoothing turns on (true) and off (false) smoothing of sharp interior edges on the surface model. Smoothing will shrink the surface model towards its center and the action cannot be undone.
     
The Delete Surface Model command deletes the current surface model.
     Options Menu
     

     Undo Limit

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

     Paintbrush Radius

Paintbrush Radius is the radius (in voxels) of the circular paintbrush that is used for painting and erasing segmentation labels. The default value is 5. The radius can also be increased or decreased using the mouse wheel, while pressing 'p' to paint or 'e' to erase.

     Text Scale

Text Scale is the scale factor for POI and landmark text labels. The default value is 0.75.

     Help Menu
     
The Help command opens the Surface3D wiki page in the default browser. The F1 shortcut can also be used.
     
The About option displays a dialog with information about Surface3D, including the installed version number. It also contains the Deactivate button, for deactivating your DSX suite license.

Widgets

     Object Configuration

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

     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

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.

     Points of Interest
     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
     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

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

     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 ESC key will exit the interaction mode, i.e. cancel the selection of a segmentation seed, poi, or landmark location.
pressing the R key will reset the camera vi
pressing the HOME/END key will move to the first/last image slice.
pressing the P key activates paint mode. In this mode you can label additional voxels 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 can be changed while in paint mode using the mouse wheel. It can also be changed in the dialog accessible by selecting Options -> Settings in the menu bar.
pressing the E key activates erase mode. In this mode you can unlabel voxels 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 can be changed while in erase mode using the mouse wheel. It can also be changed in the dialog accessible by selecting Options -> Settings in the menu bar.
pressing the M key activates manual hole filling mode. In this mode you can use the left mouse button to select holes in the segmentation that need to be filled.
pressing the S key toggles the display of the segmentation labels.
     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 mouse button while pressing the Ctrl key.
Retrieved from ""