University of Heidelberg

ZMBH - Central Services - Imaging Facility - 3D ImageJ Macros

3D ImageJ Macros

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.



back to Imaging Facility back to Imaging Facility