SoImageStackProjectionProcessing3d engine More...
#include <ImageViz/Engines/ImageManipulation/StackOperations/SoImageStackProjectionProcessing3d.h>
Public Types | |
enum | ProjectionMode { INTENSITY_MAXIMA = 0, GRADIENT_MAXIMA = 1, PROJECTION = 2, INTENSITY_MINIMA = 3, MEDIAN = 4, MEAN = 5, VARIANCE = 6, ENTROPY = 7, ENERGY = 8 } |
enum | GradientOperator { GAUSSIAN_GRADIENT = 0, MORPHOLOGICAL_GRADIENT = 1, RECURSIVE_GRADIENT = 2 } |
Public Member Functions | |
SoImageStackProjectionProcessing3d () | |
Public Attributes | |
SoSFImageDataAdapter | inImage |
SoSFEnum | projectionMode |
SoSFInt32 | smoothingSize |
SoSFEnum | gradientOperator |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outImage |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outLabelImage |
The SoImageStackProjectionProcessing3d engine creates a single image containing selected pixels from a stack of input images.
For example, when you make several acquisitions of the same object with different acquisition conditions, the images you get may not have the same focused areas. The SoImageStackProjectionProcessing3d engine examines all the images to get the best values of the sequence and build the resulting image.
When projectionMode is one of INTENSITY_MAXIMA, GRADIENT_MAXIMA or INTENSITY_MINIMA, the engine also generates an outLabelImage that shows the contribution source (i.e. the sequence number of the image from the input stack) on the result image outImage.
This engine can produce higher quality results than using the standard Maximum/Minimum Intensity Projection (MIP) rendering in VolumeViz.
For color images, it works in the HSL color space and uses only the lightness.
SoGradientOperatorProcessing2d
inImage | NULL |
projectionMode | GRADIENT_MAXIMA |
smoothingSize | 5 |
gradientOperator | MORPHOLOGICAL_GRADIENT |
GAUSSIAN_GRADIENT |
Compute a gaussian gradient (convolution with derivatives of gaussian function along the stack direction). |
MORPHOLOGICAL_GRADIENT |
Compute a morphological gradient (see SoMorphologicalGradientProcessing for definition). |
RECURSIVE_GRADIENT |
Compute a recursive gradient (Canny-Deriche on stack direction). |
INTENSITY_MAXIMA |
Select the pixel with the highest value of the sequence. |
GRADIENT_MAXIMA |
Select the pixel with the highest gradient. This mode enables the gradientOperator field. |
PROJECTION |
Sum all values of the sequence. |
INTENSITY_MINIMA |
Select the pixel with the lowest value of the sequence. |
MEDIAN |
Select the pixel which is the median of the sequence. |
MEAN |
Compute the average of the sequence. |
VARIANCE |
Compute the variance of the sequence. |
ENTROPY |
Compute the entropy of the sequence based on this formula:
where is the probability to have a pixel with value (it's the number of those pixels divided by the total number of pixels). |
ENERGY |
Compute the energy of the sequence based on this formula:
. |
SoImageStackProjectionProcessing3d::SoImageStackProjectionProcessing3d | ( | ) |
Constructor.
The type of process.
Use enum GradientOperator. Default is MORPHOLOGICAL_GRADIENT
A 3d volume representing a stack of 2d images.
Default value is NULL. Supported types include: grayscale binary label image.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoImageStackProjectionProcessing3d::outImage |
The output image.
Default value is NULL. Supported types include: grayscale binary label color image.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoImageStackProjectionProcessing3d::outLabelImage |
The output map label image.
Each label represents the z plane used in output image. Default value is NULL. Supported types include: label image.
The type of process.
Use enum ProjectionMode. Default is GRADIENT_MAXIMA
The size for the smooth process.
Default value is 5.