#include <freTransformInitializer.h>
RotationInitializer is a helper class intended to calculate the rotation by pairs reference points around a given pair of center points.
The difference between reference vector and center vector will be calculated. This difference vectors (difV) will be projected to a main plan and the projected vectors are used to calculate the angel needed for the rotation around a main axis. The moving difV will be rotated by this angel and the result becomes the new moving difV. This repeats till all wanted rotation axis have been checked and the angels have been calculated. The result of all reference point pairs are used to calculate the final results as an average.
The order and type of projections can be specified by a schedule. the default is z,y,x.
Definition at line 214 of file freTransformInitializer.h.
| typedef itk::Vector<ScalarType,iDimension> FREE::RotationInitializer< iDimension >::VectorType |
Definition at line 217 of file freTransformInitializer.h.
typedef std::vector<Vector3DType> FREE::RotationInitializer< iDimension >::VectorArrayType [private] |
Definition at line 443 of file freTransformInitializer.h.
typedef std::vector<RotationAxisType> FREE::RotationInitializer< iDimension >::ScheduleType [private] |
Definition at line 447 of file freTransformInitializer.h.
| FREE::RotationInitializer< iDimension >::RotationInitializer | ( | ) | [inline] |
Definition at line 425 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::ClearSchedule(), FREE::RotationInitializer< iDimension >::m_Angles, FREE::RotationInitializer< iDimension >::m_bInitialized, FREE::RotationInitializer< iDimension >::m_bUseRotationWeight, FREE::RA_X, FREE::RA_Y, and FREE::RA_Z.

| FREE::RotationInitializer< iDimension >::~RotationInitializer | ( | ) | [inline] |
Definition at line 436 of file freTransformInitializer.h.
| void FREE::RotationInitializer< iDimension >::ClearSchedule | ( | bool | bToDefault = true |
) | [inline] |
Definition at line 219 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::m_bInitialized, FREE::RotationInitializer< iDimension >::m_Schedule, FREE::RA_X, FREE::RA_Y, and FREE::RA_Z.
Referenced by FREE::RotationInitializer< iDimension >::RotationInitializer(), FREE::Similarity2DTransformController::SetInitialTransformValues(), FREE::CenteredRigid3DTransformController::SetInitialTransformValues(), FREE::CenteredEuler3DTransformController::SetInitialTransformValues(), FREE::CenteredAffine3DTransformController::SetInitialTransformValues(), and FREE::CenteredAffine2DTransformController::SetInitialTransformValues().
| void FREE::RotationInitializer< iDimension >::AddToSchedule | ( | RotationAxisType | axis | ) | [inline] |
Definition at line 231 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::m_bInitialized, and FREE::RotationInitializer< iDimension >::m_Schedule.
Referenced by FREE::Similarity2DTransformController::SetInitialTransformValues(), FREE::CenteredRigid3DTransformController::SetInitialTransformValues(), FREE::CenteredEuler3DTransformController::SetInitialTransformValues(), FREE::CenteredAffine3DTransformController::SetInitialTransformValues(), and FREE::CenteredAffine2DTransformController::SetInitialTransformValues().
| void FREE::RotationInitializer< iDimension >::SetMovingCenter | ( | VectorType | center | ) | [inline] |
Definition at line 237 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::m_bInitialized, and FREE::RotationInitializer< iDimension >::m_MovingCenter.
Referenced by FREE::RotationInitializer< iDimension >::SetCenterPair().
| void FREE::RotationInitializer< iDimension >::SetFixedCenter | ( | VectorType | center | ) | [inline] |
Definition at line 244 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::m_bInitialized, and FREE::RotationInitializer< iDimension >::m_FixedCenter.
Referenced by FREE::RotationInitializer< iDimension >::SetCenterPair().
| void FREE::RotationInitializer< iDimension >::SetCenterPair | ( | VectorType | movingCenter, | |
| VectorType | fixedCenter | |||
| ) | [inline] |
Definition at line 251 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::SetFixedCenter(), and FREE::RotationInitializer< iDimension >::SetMovingCenter().
Referenced by FREE::Similarity2DTransformController::SetInitialTransformValues(), FREE::CenteredRigid3DTransformController::SetInitialTransformValues(), FREE::CenteredEuler3DTransformController::SetInitialTransformValues(), FREE::CenteredAffine3DTransformController::SetInitialTransformValues(), and FREE::CenteredAffine2DTransformController::SetInitialTransformValues().

| void FREE::RotationInitializer< iDimension >::SetCenterPair | ( | ParameterArrayType | movingCenter, | |
| ParameterArrayType | fixedCenter | |||
| ) | [inline] |
Definition at line 257 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::SetFixedCenter(), and FREE::RotationInitializer< iDimension >::SetMovingCenter().

| void FREE::RotationInitializer< iDimension >::ClearReferences | ( | ) | [inline] |
Definition at line 272 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::m_bInitialized, FREE::RotationInitializer< iDimension >::m_FixedReferences, and FREE::RotationInitializer< iDimension >::m_MovingReferences.
| void FREE::RotationInitializer< iDimension >::AddReferencePair | ( | VectorType | movingReference, | |
| VectorType | fixedReference | |||
| ) | [inline] |
Definition at line 279 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::m_bInitialized, FREE::RotationInitializer< iDimension >::m_FixedReferences, and FREE::RotationInitializer< iDimension >::m_MovingReferences.
Referenced by FREE::RotationInitializer< iDimension >::AddReferencePair(), FREE::Similarity2DTransformController::SetInitialTransformValues(), FREE::CenteredRigid3DTransformController::SetInitialTransformValues(), FREE::CenteredEuler3DTransformController::SetInitialTransformValues(), FREE::CenteredAffine3DTransformController::SetInitialTransformValues(), and FREE::CenteredAffine2DTransformController::SetInitialTransformValues().
| void FREE::RotationInitializer< iDimension >::AddReferencePair | ( | ParameterArrayType | movingReference, | |
| ParameterArrayType | fixedReference | |||
| ) | [inline] |
Definition at line 298 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::AddReferencePair().

| void FREE::RotationInitializer< iDimension >::ComputeRotations | ( | ) | [inline] |
Definition at line 312 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::CalculateRotationAngel(), FREE::RotationInitializer< iDimension >::m_Angles, FREE::RotationInitializer< iDimension >::m_bInitialized, FREE::RotationInitializer< iDimension >::m_bUseRotationWeight, FREE::RotationInitializer< iDimension >::m_FixedCenter, FREE::RotationInitializer< iDimension >::m_FixedReferences, FREE::RotationInitializer< iDimension >::m_MovingCenter, FREE::RotationInitializer< iDimension >::m_MovingReferences, FREE::RotationInitializer< iDimension >::m_Schedule, FREE::RA_X, FREE::RA_Y, and FREE::RA_Z.
Referenced by FREE::RotationInitializer< iDimension >::GetRotation(), FREE::Similarity2DTransformController::SetInitialTransformValues(), FREE::CenteredRigid3DTransformController::SetInitialTransformValues(), FREE::CenteredEuler3DTransformController::SetInitialTransformValues(), FREE::CenteredAffine3DTransformController::SetInitialTransformValues(), and FREE::CenteredAffine2DTransformController::SetInitialTransformValues().

| double FREE::RotationInitializer< iDimension >::GetRotation | ( | RotationAxisType | axis | ) | [inline] |
Definition at line 410 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::ComputeRotations(), FREE::RotationInitializer< iDimension >::m_Angles, and FREE::RotationInitializer< iDimension >::m_bInitialized.
Referenced by FREE::Similarity2DTransformController::SetInitialTransformValues(), FREE::CenteredRigid3DTransformController::SetInitialTransformValues(), FREE::CenteredEuler3DTransformController::SetInitialTransformValues(), FREE::CenteredAffine3DTransformController::SetInitialTransformValues(), and FREE::CenteredAffine2DTransformController::SetInitialTransformValues().

| bool FREE::RotationInitializer< iDimension >::GetUseRotationWeight | ( | ) | [inline] |
Definition at line 417 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::m_bUseRotationWeight.
| void FREE::RotationInitializer< iDimension >::SetUseRotationWeight | ( | bool | bUseWeight | ) | [inline] |
Definition at line 419 of file freTransformInitializer.h.
References FREE::RotationInitializer< iDimension >::m_bInitialized, and FREE::RotationInitializer< iDimension >::m_bUseRotationWeight.
Referenced by FREE::CenteredRigid3DTransformController::SetInitialTransformValues(), FREE::CenteredEuler3DTransformController::SetInitialTransformValues(), and FREE::CenteredAffine3DTransformController::SetInitialTransformValues().
| double FREE::RotationInitializer< iDimension >::CalculateRotationAngel | ( | Vector3DType | vector1, | |
| Vector3DType | vector2, | |||
| Vector3DType | rotationAxis | |||
| ) | [inline, private] |
This function is used to calculate the rotation angel needed to transform vector2 to vector1 by a rotation with axis also passed with the function call.
Definition at line 456 of file freTransformInitializer.h.
Referenced by FREE::RotationInitializer< iDimension >::ComputeRotations().
double FREE::RotationInitializer< iDimension >::m_Angles[3] [private] |
Definition at line 436 of file freTransformInitializer.h.
Referenced by FREE::RotationInitializer< iDimension >::ComputeRotations(), FREE::RotationInitializer< iDimension >::GetRotation(), and FREE::RotationInitializer< iDimension >::RotationInitializer().
bool FREE::RotationInitializer< iDimension >::m_bInitialized [private] |
Definition at line 440 of file freTransformInitializer.h.
Referenced by FREE::RotationInitializer< iDimension >::AddReferencePair(), FREE::RotationInitializer< iDimension >::AddToSchedule(), FREE::RotationInitializer< iDimension >::ClearReferences(), FREE::RotationInitializer< iDimension >::ClearSchedule(), FREE::RotationInitializer< iDimension >::ComputeRotations(), FREE::RotationInitializer< iDimension >::GetRotation(), FREE::RotationInitializer< iDimension >::RotationInitializer(), FREE::RotationInitializer< iDimension >::SetFixedCenter(), FREE::RotationInitializer< iDimension >::SetMovingCenter(), and FREE::RotationInitializer< iDimension >::SetUseRotationWeight().
bool FREE::RotationInitializer< iDimension >::m_bUseRotationWeight [private] |
Definition at line 441 of file freTransformInitializer.h.
Referenced by FREE::RotationInitializer< iDimension >::ComputeRotations(), FREE::RotationInitializer< iDimension >::GetUseRotationWeight(), FREE::RotationInitializer< iDimension >::RotationInitializer(), and FREE::RotationInitializer< iDimension >::SetUseRotationWeight().
VectorArrayType FREE::RotationInitializer< iDimension >::m_FixedReferences [private] |
Definition at line 444 of file freTransformInitializer.h.
Referenced by FREE::RotationInitializer< iDimension >::AddReferencePair(), FREE::RotationInitializer< iDimension >::ClearReferences(), and FREE::RotationInitializer< iDimension >::ComputeRotations().
VectorArrayType FREE::RotationInitializer< iDimension >::m_MovingReferences [private] |
Definition at line 445 of file freTransformInitializer.h.
Referenced by FREE::RotationInitializer< iDimension >::AddReferencePair(), FREE::RotationInitializer< iDimension >::ClearReferences(), and FREE::RotationInitializer< iDimension >::ComputeRotations().
ScheduleType FREE::RotationInitializer< iDimension >::m_Schedule [private] |
Definition at line 449 of file freTransformInitializer.h.
Referenced by FREE::RotationInitializer< iDimension >::AddToSchedule(), FREE::RotationInitializer< iDimension >::ClearSchedule(), and FREE::RotationInitializer< iDimension >::ComputeRotations().
Vector3DType FREE::RotationInitializer< iDimension >::m_FixedCenter [private] |
Definition at line 451 of file freTransformInitializer.h.
Referenced by FREE::RotationInitializer< iDimension >::ComputeRotations(), and FREE::RotationInitializer< iDimension >::SetFixedCenter().
Vector3DType FREE::RotationInitializer< iDimension >::m_MovingCenter [private] |
Definition at line 452 of file freTransformInitializer.h.
Referenced by FREE::RotationInitializer< iDimension >::ComputeRotations(), and FREE::RotationInitializer< iDimension >::SetMovingCenter().
1.5.3 written by Dimitri van Heesch,
© 1997-2000