SoImageRegistrationTransform3d image filter More...
#include <ImageViz/Engines/GeometryAndMatching/Registration/SoImageRegistrationTransform3d.h>
Classes | |
struct | RegistrationEvent |
This event describes the evolution of the registration process. More... | |
Public Types | |
enum | TransformationType { TRANSLATION = 4, RIGID = 0, RIGID_ISOTROPIC_SCALING = 1, RIGID_ANSISOTROPIC_SCALING = 2, AFFINE = 3 } |
enum | MetricType { EUCLIDIAN = 0, CORRELATION, NORMALIZED_MUTUAL_INFORMATION } |
Public Member Functions | |
SoImageRegistrationTransform3d () | |
SbMatrix | getOutputTransformation () |
Public Attributes | |
SbEventHandler < RegistrationEvent & > | onProgressRegistration |
SoSFEnum | computeMode |
SoSFImageDataAdapter | inMovingImage |
SoSFImageDataAdapter | inFixedImage |
SoSFMatrix | initialTransform |
SoSFBool | autoParameterMode |
SoSFVec2f | optimizerStep |
SoSFVec3i32 | coarsestResampling |
SoSFEnum | transformType |
SoSFBool | ignoreFinestLevel |
SoSFEnum | metricType |
SoImageVizEngineOutput < SoSFFieldContainer, SoRegistrationResult * > | outTransform |
SoImageRegistrationTransform3d finds the best transformation that aligns a moving image with a fixed image by optimizing a similarity criterion between the 2 images, starting from an initial guess. The estimated transformation can be rigid (translation and rotation only), rigid with scale factors or affine.
The SoImagePreAlignmentTransform3d engine can be used to compute the initial guess.
The application can register to receive progress events during the (potentially time consuming) computation.
inMovingImage | NULL |
inFixedImage | NULL |
initialTransform | SbMatrix::identity() |
autoParameterMode | TRUE |
optimizerStep | SbVec2f( 1.0f / 16.0f, 1.0f / 2.0f ) |
coarsestResampling | SbVec3i32( 8, 8, 8 ) |
transformType | RIGID |
ignoreFinestLevel | FALSE |
metricType | CORRELATION |
SoImagePreAlignmentTransform3d, SoRegistrationResult
This enum defines the different types of metric.
This enum defines the types of transforms that can be computed.
Default value is RIGID.
SoImageRegistrationTransform3d::SoImageRegistrationTransform3d | ( | ) |
Constructor.
SbMatrix SoImageRegistrationTransform3d::getOutputTransformation | ( | ) |
return the output transform matrix that aligns the model image to the reference image.
Automatic mode.
If true, optimization parameters (optimizerStep and coarsestResampling) are computed automatically. Default value is true.
Voxel size at the coarsest level.
If the coarsestResampling[0] = 8, it means that one voxel at the coarsest level is equal to 8 voxels at the finest level for the first dimension. The coarsestResampling is specified for each one of the 3 dimensions of the volume. Default value is SbVec3i32(8,8,8). This parameter is ignored if autoParameterMode is set to true.
Select the compute Mode (2D or 3D or AUTO) Use enum ComputeMode.
Default is MODE_AUTO
Skip the finest level of the pyramid.
Default value is false.
The input reference image.
Default value is NULL. Supported types include: grayscale binary label.
The initial transformation that pre-aligns the model onto the reference.
Default value is SbMatrix::identity(). The SoImagePreAlignmentTransform3d engine can be used to compute an initial transform.
The input model image.
Default value is NULL. Supported types include: grayscale binary label.
Select the metric type.
Use enum MetricType. Default is CORRELATION
Specific event handler for registration.
Step size in translation at coarsest and finest scales (physical).
This parameter is used by the optimizer. The first parameter is for the coarsest level, the second one is for the finest level. Default value is SbVec2f( 4.0f, 1.0f / 2.0f ) ). These parameters correspond to a displacement of half a voxel for the coarsest and finest level by using default parameters for coarsestResampling (assuming a voxel size of (1,1,1) ). This parameter is ignored if autoParameterMode is set to true.
SoImageVizEngineOutput<SoSFFieldContainer, SoRegistrationResult*> SoImageRegistrationTransform3d::outTransform |
Output structure storing registration results.
Select the type of transform.
Use enum TransformationType. Default is RIGID