Isosurface Generation
Program:
IsoSurface
Keeps only pixels with intensities around a given
isosurface value. This isosurface has the same meaning as the
mathematical definition (3D contour) and the implementations used in numerical software such as
Matlab and
Mathematica. It is different from an "isosurface" generated in UCSF Chimera and ImageJ 3D Viewer (and possibly other hardware-accelerated programs using OpenGL with some default settings,) in which case the value is used as a
threshold to generate a
binary image.
3D volume rendering
Program:
3DRenderer
Performs volumetric 3D rendering on a z-stack using
orthogonal projections only (no perspective, shading, transparency ...). It shows the "semi-quantitative" and "partially subjective" nature of 3D visualization. It provides a quantitative basis for the interpretation of the results obtained from
OpenGL (the core of ImageJ
3D Viewer). The core of this macro is performing 3D rotations of a z-stack using
TransformJ. The "Sum Projection" results can also be used optionally to simulate
geometrical X-ray scattering patterns (single-crystal limit of biomolecular
crystallography).
Aliasing in 3D rendering
Program: aliasing3DViewer (
Macro and
Plugin)
Demonstrates the distortions in the rendered 3D image caused by
insufficient sampling of surfaces parallel to the direction of view. The take-home message is to look at an object from different angles and consider the points with normal view (at any orientation) as the most reliable ones.
3D Pattern Generation
Program:
3DPatternGenerate
Generates curves (1D), surfaces (2D), and volumetric data (3D) in 3D space. Some of the 3D objects have been explicitly associated with biological examples (
helicoidal membrane motifs,
molecular knots, and
Photo 51).
3D Pattern of focused Light
Program:
FocusPattern
Generates the 3D profile of a focused beam. With the two parameters of wavelenght ("channel") and focusing level ("frame"), the entire data is generated as a 5D hyperstack.
Soft Thresholding
Program:
SoftThreshold
Offers a solution to the trade-off between
allowing some background ("small" threshold level) and
sacrificing weak real features ("large" threshold level). It also eliminates the clipping caused by single-level thresholding. Soft thresholding can be specifically helpful for pre-processing prior to
3D visualization. Depending on dataset (especially for segmentation purposes), it is advisable that
hysteresis thresholding be also checked out.
Note: Intensity values above the upper threshold are
not saturated. They are simply left unchanged.