Tool: 3D Surface Relaxation

 

This tool enable you to get sub-voxel accuracy for some 3D surfaces.

 

The standard Lorensen 3D reconstruction algorithm create surfaces that are smoother than the surfaces you can create with sliceOmatic's version.  This is because the standard algorithm create the surfaces directly from the 3D data using a threshold value.  If the desired threshold is between 2 voxels, the created surface will go through the interpolated position between the voxels.  Since sliceOmatic create its volumes from pre-segmented data, not necessarily created by thresholding, it can not interpolate between voxels.

 

This tool is intended to be used as a post-processing step.  It will create a displacement map, associated with the geometry's nodes, to move the nodes to an interpolated threshold position. 

 

Note:

 

This tool will only work if there are 3D datasets of voxels associated with the geometries.  In other words, the geometries must have been created (with either the "3D Shell Lorensen" or "3D Shell TomoVision" modules) in the same session as the 3D relaxation step.  When you save and reload a geometry, the dataset association is lost.

 

The tool work in 2 steps:

 

The first step, activated by clicking on the "Compute" button, it will compute the GLI values of the dataset associated at each node of all the selected geometries.  It will also compute the GLI values at 2 positions along the normal at that node.  The first position is "$RELAX_REACH" voxels in the direction of the normal.  This will be the "out" position for "outside" the surface.  The second position is "$RELAX_REACH" voxels in the direction inverse to the normal.  This will be the "in" (for "inside") position.  The tool will then display the ranges of GLI values for each of these positions.  These ranges of GLI values will then be used to create a "Threshold" slider in the tool's interface.

 

The second step is computed when you select a threshold value from the slider.  The tool will compute, using the desired threshold and the "in" and "out" GLI values, a displacement for each node of the selected geometries.

 

Note:

 

Please note that the "in" and "out" GLI values are computed from a mean value of all the voxels within a range of "$RELAX_RADIUS" voxels of the actual "in" and "out" positions.  This enable a certain level of noise filtering.

 

Note:

 

It is important to note that this tool, like the "3D Smoothing" tool, compute a displacement that is associated with each node.  There is only be one displacement for each node. So if you use both tools, they will overwrite one another's displacement.  You will need to use the "3D Displacement Burn-In" tool to actually change the node's positions after computing the displacements of with the first tool before you can use the second tool.

 

 

 

 

 

 

 

Original Surface

 

 

After Relaxation

 

 

From the Graphic Interface

 

 

 

Compute

This button start the pre-processing computation of the "in" and "out" values needed for the displacement interpolation.

 

Off

This button disable the node displacement. Thus removing any relaxation you may have computed

 

Threshold

changing the threshold value force a re-computation of the relaxation displacements.

 

 

 

From the Display Area

 

There is no Display Area interaction specific to this tool.

 

 

From the Keyboard

 

There is no keyboard interface specific to this tool.

 

 

From the Command Line

 

There is no command line for this tool.