The Surface Objectmap control is a specialized tool for creating surface objectmaps. These are used as inputs to the point-based registration tools. For more information see below..
In the applications that they are available in, the surface and the surface objectmap controls appear under the Features Menu, as shown in Figure 1.
The Surface Control
The General Properties Frame
The Surface Control essential consists of a menubar and the general properties frame below it. On the general properties frame there are three items: (i) The status label which provides information about the current surface. (ii) The Surface Selector which allows the user to select which surface to manipulate -- all operations are performed on the current surface.. (iii) The Display menu selects how the current surface is displayed. There are four options. "Show as Surface" results in an optimal rendering for 3D viewers. "Show as Wireframe" results in the surface being displayed as a wireframe - this is often useful for showing the intersection of the surface with image slices. "Show as Points" eliminates the lines joining the points and just shows the individual surface points. Finally the "Do not show" option is used to turn off the display of the individual surface.The display of each surface can be further manipulated using options in the display menu, which is described below.
The File & Edit Menus
There are four options under the File Menu:- Load -- for loading surfaces in the .sur or .tstack formats (the .tstack format is an internal format that originated in some of the cardiac applications).
- Save -- for saving the surface in the .vtk format.
- "Binary Save" toggle. If selected save operations result in binary files which are more compact but less compatible across different platforms. Turing this off results in the surfaces being saved in text format which is both human readable and more cross-platform compatible at the expense of additional file size.
- Close -- closes the control.
- The Copy and Paste options can be used to copy and/or paste in the current surface from the surface cliboard.
- The Undo option restores the previous state of the surface after manipulation with one of the tools described in the tools menu.
- The Append option is a poor man's version of the Surface Objectmap control. It can be used to append different surfaces into a single surface.
The Tools Menu
The Tools Menu contains a number of options for surface manipulation. They are briefly described below. Most of these tools invoke directly VTK classes which are listed in parenthesis in the description.- Smooth -- surface smoothing. Two algorithms are available "Windowed
Sinc" (vtkWindowedSincPolyDataFilter) which is slower but does not shrink
the surface and "Laplacian" (vtkSmoothPolyDataFilter) which
is faster but may result in surface shrinkage.
- Decimate. This enables the reduction in the number of points/faces in
the surface. (vtkDecimatePro).
- Subdivide. This is the opposite of decimation. It subdivides the
surface to add additional points. (vtkLinearSubdivisionFilter).
- Cluster. This is a more radical version of the decimation algorithms
which shrink the size of the surface by eliminating closely spaced
points. Two algorithms can be invoked, the clean algorithm
(vtkCleanPolyData) which performs simple distance sampling and the Quadric
Clustering which performs local path fitting ( vtkQuadricClustering).
- Normals. This can be used to compute surface normals which can
enormously improve the appearance of a surface (vtkPolyDataNormals).
- Triangulate. This tool ensures that all polygonal faces of a surface
are triangles. (vtkTriangleFilter).
- Connectivity. The connectivity filter can return a connected surface
(to eliminate small unconnected regions). (vtkPolyDataConnectivityFilter).
- Clip In Image. This function can clip a surface so that all its points
lie within the current image.
- Convex Hull. This option generates the convex hull of a surface (vtkDelaunay3D).
- Compute Curvatures. This option can be used to compute the curvature
of a surface. Five different options exist namely (i) The Shapeindex, (ii)
the Mean Curvature, (iii) The Gaussian curvature, (iv) and (v) the first
and second princial curvatures. These are computed by fitting local
quadratic pathes to the surface of size determined by the scale option. The
range option can be used to saturate the values of the curvature to improve
the display.
- Extract Iso-Contour - this applies an iso-contour extraction to
extract a surface representing an iso-level in the
image. (vtkContourFilter). The iso-level is set using "Iso-Contour
Level". The image may also be thresholded, smoothed and resampled to
improve the extraction process. Note: Smoothing the image will
result in smoother surfaces, it is often better to smooth the image rather
than try to smooth the extracted surface afterwards. If the image is really
an objectmap where each value corresponds to a pre-segmented structure,
then use the Extract Object-Map option below instead.
- Threshold Points - this enables the surface to be thresholded based on
the value of its attribute or scalar vector. (vtkThresholdPoints)
- Extract Object-Map. This is a specialized version of Extact Iso-Contour for objectmap images, i.e. images which contain a small number of values, each of which corresponds to a pre-segmented structure. Such images can be generated using the Surface Editor tool.
The Display Menu
The display menu provides additional options for manipulating how the surface is displayed.- Surface Color - allows the user to set the surface color.
- Surface Opacity - allows the user to set the surface
opacity. (0=completely transparent, 1=completely opaque).
- Display Size - this is useful for setting the size of points and lines
when the surface is displayed as a wireframe or as points only.
- Objectmap Colormap, ShapeIndex Colormap, Curvature Colormap - these
all allow for setting colormaps such that the surface color is determined
by its attribute vector. Objectmap colormap is particularly suited for
surfaces extracted using the "Extract Object-map" option, or generated
using the Surface Objectmap control below.
- Clear Attributes - this clears the attribute vector of the surface.
- Info - this provides information about the current surface.
- Hide All - this hides all the surfaces!
The Surface Objectmap Control
The Surface Objectmap Control is designed to allow the combination of different surfaces and point sets into surface objectmaps which are used as inputs to the point-based registration tools. It can take as input up to 15 surfaces (in .vtk format) or point sets in (.land format, as saved by the Landmark Control.At the bottom of the surface objectmap control there are a number of buttons that can be used to Load/Save/Create the Objectmap. The Load Setup and Save Setup buttons enable loading/saving a list containing the filenames and attributes of the current set of surfaces.
The Resample All button causes all input surfaces to be resampled to have spacing equal to the product of the Target Spacing set in each surface (see below) multiplied by the scale factor set in the option menu next to the Resample All button.
The Create Combo Surface button appends all resampled surfaces into a single surface and places its output into the clipboard of the associated Surface Control, which can be invoked using the Show Surface Control button. The resulting surface objectmap can then be pasted into one of the surfaces in the Surface Control and saved for later use.

Each surface or pointset can then be resampled to have approximate point spacing set by the "Target Spacing" field and assigned a unique label for inclusion into the surface objectmap. Each point set has its own set of controls shown above. The control is divided into three panes (left to right). The leftmost pane provides information about the surface/pointset (filename, type=Surface/Landmarks, Number of Points.). The middle pane provides options for resampling the surface (spacing) and for setting its label for the surface obectmap to be outputted from the control. The rightmost pane has one toggle button that enables the inclusion or exclusion of the surface from the final output (the "Active" toggle) as well as some information textboxes that display the actual number of points the surface is being resampled to.



