public class SoImageRegistrationTransform extends SoImageVizEngine
SoImageRegistrationTransform
image filter.
SoImageRegistrationTransform
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.
File format/default:
ImageRegistrationTransform3d {
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 |
Notice: This engine requires to preliminarily load the whole input data sets into memory to be computed. As a consequence, the maximum memory parameter must be either set to 0 or greater than the data set memory size:
If this condition is not respected an exception will be raised when launching the execution of this engine: "engine cannot be computed because inputs are not in memory images." If the input data sets cannot fit in memory, this engine will fail during its computation. |
See also:
Modifier and Type | Class and Description |
---|---|
static class |
SoImageRegistrationTransform.MetricTypes
This enum defines the different types of metric used to compute the similarity value.
|
static class |
SoImageRegistrationTransform.RegistrationEvent
This event describes the evolution of the registration process.
|
static class |
SoImageRegistrationTransform.TransformationTypes
This enum defines the types of transforms that can be computed.
|
SoImageVizEngine.ComputeModes, SoImageVizEngine.EventArg, SoImageVizEngine.Neighborhood3ds
Inventor.ConstructorCommand
Modifier and Type | Field and Description |
---|---|
SoSFBool |
autoParameterMode
Automatic mode.
|
SoSFVec3i32 |
coarsestResampling
Voxel size at the coarsest level.
|
SoSFEnum<SoImageVizEngine.ComputeModes> |
computeMode
Select the compute Mode (2D or 3D or AUTO) .
|
SoSFBool |
ignoreFinestLevel
Skip the finest level of the pyramid.
|
SoSFImageDataAdapter |
inFixedImage
The input reference image.
|
SoSFMatrix |
initialTransform
The initial transformation that pre-aligns the model onto the reference.
|
SoSFImageDataAdapter |
inMovingImage
The input model image.
|
SoSFEnum<SoImageRegistrationTransform.MetricTypes> |
metricType
Select the metric type.
|
SbEventHandler<SoImageRegistrationTransform.RegistrationEvent> |
onProgressRegistration
Specific event handler for registration.
|
SoSFVec2f |
optimizerStep
Step size in translation at coarsest and finest scales (physical).
|
SoImageVizEngineOutput<SoSFFieldContainer,SoRegistrationResult> |
outTransform
Output structure storing registration results.
|
SoSFEnum<SoImageRegistrationTransform.TransformationTypes> |
transformType
Select the type of transform.
|
onBegin, onEnd, onProgress
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoImageRegistrationTransform()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
SbMatrix |
getOutputTransformation()
return the output transform matrix that aligns the model image to the reference image.
|
abortEvaluate, isEvaluating, startEvaluate, waitEvaluate
copy, getByName, getOutput, getOutputName
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable, touch
getNativeResourceHandle
public final SbEventHandler<SoImageRegistrationTransform.RegistrationEvent> onProgressRegistration
public final SoSFEnum<SoImageVizEngine.ComputeModes> computeMode
public final SoSFImageDataAdapter inMovingImage
public final SoSFImageDataAdapter inFixedImage
public final SoSFMatrix initialTransform
SbMatrix.identity()
. The SoImagePreAlignmentTransform3d
engine can be used to compute an initial transform.public final SoSFBool autoParameterMode
public final SoSFVec2f optimizerStep
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 false.public final SoSFVec3i32 coarsestResampling
SbVec3i32(8,8,8)
. This parameter is ignored if autoParameterMode is set to false.public final SoSFEnum<SoImageRegistrationTransform.TransformationTypes> transformType
public final SoSFBool ignoreFinestLevel
public final SoSFEnum<SoImageRegistrationTransform.MetricTypes> metricType
public final SoImageVizEngineOutput<SoSFFieldContainer,SoRegistrationResult> outTransform
public SbMatrix getOutputTransformation()
Generated on July 31, 2019, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com