Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoImageRegistrationTransform.h
Go to the documentation of this file.
1/*=======================================================================
2*** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3*** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4*** ***
5*** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6*** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7*** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8*** ***
9*** RESTRICTED RIGHTS LEGEND ***
10*** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11*** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12*** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13*** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14*** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15*** ***
16*** COPYRIGHT (C) 1996-2023 BY FEI S.A.S, ***
17*** BORDEAUX, FRANCE ***
18*** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : S�bastien MARTIN (March 2016)
22**=======================================================================*/
23
24#ifndef _SO_SOIMAGEREGISTRATIONTRANSFORM_H_
25#define _SO_SOIMAGEREGISTRATIONTRANSFORM_H_
26
27#include <Inventor/SbMatrix.h>
34
36#include <ImageViz/SoImageViz.h>
41
42class SoDEPRECATED SoImageRegistrationTransform : public SoImageVizEngine
147{
149
150public:
151
158 {
161 {
162 return m_engine;
163 }
164
166 float getProgress() const
167 {
168 return m_progress;
169 }
170
179 double getSimilarity() const
180 {
181 return m_similarity;
182 }
183
186 {
187 return m_transform;
188 }
189
191 RegistrationEvent( SoImageVizEngine* engine, float progress, double similarity, const SbMatrix& matrix )
192 : m_engine( engine ),
193 m_progress( progress ),
194 m_similarity( similarity ),
195 m_transform( matrix )
196 { }
197
200
201 private:
202 SoImageVizEngine* m_engine;
203 float m_progress;
204 double m_similarity;
205 SbMatrix m_transform;
206 };
207
210
213
218
221
224
228
246
269
282
294
313
318 MIN_MAX = 0,
322 OTHER = 1
323 };
324
332
340
345 {
349 TRANSLATION = 4,
350
354 RIGID = 0,
358 RIGID_ISOTROPIC_SCALING = 1,
362 RIGID_ANISOTROPIC_SCALING = 2,
366 AFFINE = 3,
367 };
368
374
380
416
422
423
427
430 {
431 return outTransform.getValue()->transformation.getValue();
432 }
433
434private:
437};
438
439#endif //_SO_SOIMAGEREGISTRATIONTRANSFORM_H_
#define SO_IMAGEVIZ_ENGINE_HEADER(className)
Base class for all event arguments.
Definition SbEventArg.h:41
Class representing an event.
4x4 matrix class.
Definition SbMatrix.h:309
<a href="IconLegend.html"><img src="extIP.gif" alt="ImageViz" border="0"></a> SoImageRegistrationTra...
SoSFVec2f optimizerStep
The step sizes, in world coordinates, used by the optimizer at coarsest and finest scales.
SoSFMatrix initialTransform
The initial transformation that pre-aligns the model onto the reference.
SoSFVec2f intensityRangeModel
The range [a,b] of gray values for the model data set.
SoSFImageDataAdapter inFixedImage
The input reference image.
SoSFBool ignoreFinestLevel
Skip the finest level of the pyramid.
SoSFEnum rangeModeModel
The way to define the intensity range to be considered by the algorithm in the model (moving) image.
SoSFBool autoParameterMode
The way to determine the coarsestResampling and optimizerStep parameters.
SoSFVec2f intensityRangeReference
The range [a,b] of gray values for the reference data set.
MetricType
This enum defines the different types of metric used to compute the similarity value.
@ CORRELATION
Correlation measures the correlation ratio of the registered images.
@ NORMALIZED_MUTUAL_INFORMATION
The mutual information measures the information shared by both images.
SoSFImageDataAdapter inMovingImage
The input model image.
SoSFEnum computeMode
Select the compute Mode (2D or 3D or AUTO) Use enum ComputeMode.
SbMatrix getOutputTransformation()
return the output transform matrix that aligns the model image to the reference image.
TransformationType
This enum defines the types of transforms that can be computed.
SoSFEnum metricType
Select the metric type.
SoSFVec3i32 coarsestResampling
The sub-sampling factor along each axis.
SoSFEnum transformType
Select the type of transform.
SoSFEnum rangeModeReference
The way to define the intensity range to be considered by the algorithm in the reference (fixed) imag...
SoImageVizEngineOutput< SoSFFieldContainer, SoRegistrationResult * > outTransform
Output structure storing registration results.
SoImageRegistrationTransform()
Constructor.
SbEventHandler< RegistrationEvent & > onProgressRegistration
Specific event handler for registration.
<a href="IconLegend.html"><img src="extIP.gif" alt="ImageViz" border="0"></a> Abstract base class fo...
<a href="IconLegend.html"><img src="extIP.gif" alt="ImageViz" border="0"></a> Image Processing outpu...
OutputType getValue() const
Return the cached output value.
Field containing a single Boolean value.
Definition SoSFBool.h:79
Field containing an enumerated value.
Definition SoSFEnum.h:89
<a href="IconLegend.html"><img src="extIP.gif" alt="ImageViz" border="0"></a> Field containing an So...
Field containing a 4x4 matrix.
Definition SoSFMatrix.h:86
Field containing a two-dimensional vector.
Definition SoSFVec2f.h:78
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Field containing...
Definition SoSFVec3i32.h:48
This event describes the evolution of the registration process.
SbMatrix getTransform() const
Returns the current estimated transformation.
SoImageVizEngine * getSource() const
Returns the source engine that raised the event.
double getSimilarity() const
Returns the similarity measurement between the 2 overlapped images.
RegistrationEvent(SoImageVizEngine *engine, float progress, double similarity, const SbMatrix &matrix)
Default constructor.
float getProgress() const
Returns the progress value of processing in the range [0-1].