Loading...
Searching...
No Matches
itkKernelTransform2.h
Go to the documentation of this file.
/*=========================================================================
*
* Copyright UMC Utrecht and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
/*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: $RCSfile: itkKernelTransform2.h,v $
Language: C++
Date: $Date: 2006-11-28 14:22:18 $
Version: $Revision: 1.1 $
Copyright (c) Insight Software Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef itkKernelTransform2_h
#define itkKernelTransform2_h
#include "itkAdvancedTransform.h"
#include "itkPoint.h"
#include "itkVector.h"
#include "itkMatrix.h"
#include "itkPointSet.h"
#include <deque>
#include <math.h>
#include <vnl/vnl_matrix_fixed.h>
#include <vnl/vnl_matrix.h>
#include <vnl/vnl_vector.h>
#include <vnl/vnl_vector_fixed.h>
#include <vnl/vnl_sample.h>
#include <vnl/algo/vnl_svd.h>
#include <vnl/algo/vnl_qr.h>
namespace itk
{
template <class TScalarType, // probably only float and double make sense here
unsigned int NDimensions>
// Number of dimensions
class ITK_TEMPLATE_EXPORT KernelTransform2 : public AdvancedTransform<TScalarType, NDimensions, NDimensions>
{
public:
ITK_DISALLOW_COPY_AND_MOVE(KernelTransform2);
using Self = KernelTransform2;
using Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>;
using Pointer = SmartPointer<Self>;
using ConstPointer = SmartPointer<const Self>;
itkTypeMacro(KernelTransform2, AdvancedTransform);
itkNewMacro(Self);
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions);
using typename Superclass::ScalarType;
using typename Superclass::ParametersType;
using typename Superclass::NumberOfParametersType;
using typename Superclass::JacobianType;
using typename Superclass::InputPointType;
using typename Superclass::OutputPointType;
using typename Superclass::InputVectorType;
using typename Superclass::OutputVectorType;
using typename Superclass::InputCovariantVectorType;
using typename Superclass::OutputCovariantVectorType;
using typename Superclass::InputVnlVectorType;
using typename Superclass::OutputVnlVectorType;
using typename Superclass::NonZeroJacobianIndicesType;
using typename Superclass::SpatialJacobianType;
using typename Superclass::JacobianOfSpatialJacobianType;
using typename Superclass::SpatialHessianType;
using typename Superclass::JacobianOfSpatialHessianType;
using typename Superclass::InternalMatrixType;
using PointSetTraitsType = DefaultStaticMeshTraits<TScalarType, NDimensions, NDimensions, TScalarType, TScalarType>;
using PointSetType = PointSet<InputPointType, NDimensions, PointSetTraitsType>;
using PointSetPointer = typename PointSetType::Pointer;
using PointsContainer = typename PointSetType::PointsContainer;
using PointsIterator = typename PointSetType::PointsContainerIterator;
using PointsConstIterator = typename PointSetType::PointsContainerConstIterator;
using VectorSetType = VectorContainer<unsigned long, InputVectorType>;
using VectorSetPointer = typename VectorSetType::Pointer;
using IMatrixType = vnl_matrix_fixed<TScalarType, NDimensions, NDimensions>;
NumberOfParametersType
GetNumberOfParameters() const override
{
return (this->m_SourceLandmarks->GetNumberOfPoints() * SpaceDimension);
}
itkGetModifiableObjectMacro(SourceLandmarks, PointSetType);
virtual void
SetSourceLandmarks(PointSetType *);
itkGetModifiableObjectMacro(TargetLandmarks, PointSetType);
virtual void
SetTargetLandmarks(PointSetType *);
itkGetModifiableObjectMacro(Displacements, VectorSetType);
void
ComputeWMatrix();
void
ComputeLInverse();
OutputPointType
TransformPoint(const InputPointType & thisPoint) const override;
OutputVectorType
TransformVector(const InputVectorType &) const override
{
itkExceptionMacro("TransformVector(const InputVectorType &) is not implemented for KernelTransform");
}
OutputVnlVectorType
TransformVector(const InputVnlVectorType &) const override
{
itkExceptionMacro("TransformVector(const InputVnlVectorType &) is not implemented for KernelTransform");
}
OutputCovariantVectorType
TransformCovariantVector(const InputCovariantVectorType &) const override
{
itkExceptionMacro(
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented for KernelTransform");
}
void
GetJacobian(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override;
virtual void
SetIdentity();
void
SetParameters(const ParametersType &) override;
void
SetFixedParameters(const ParametersType &) override;
virtual void
UpdateParameters();
const ParametersType &
GetParameters() const override;
const ParametersType &
GetFixedParameters() const override;
virtual void
SetStiffness(double stiffness)
{
this->m_Stiffness = stiffness > 0 ? stiffness : 0.0;
this->m_LMatrixComputed = false;
this->m_LInverseComputed = false;
this->m_WMatrixComputed = false;
}
itkGetConstMacro(Stiffness, double);
virtual void
SetAlpha(TScalarType itkNotUsed(Alpha))
{}
itkSetMacro(PoissonRatio, TScalarType);
virtual const TScalarType
GetPoissonRatio() const
{
return this->m_PoissonRatio;
}
itkSetMacro(MatrixInversionMethod, std::string);
itkGetConstReferenceMacro(MatrixInversionMethod, std::string);
void
GetSpatialJacobian(const InputPointType &, SpatialJacobianType &) const override
{
itkExceptionMacro("Not implemented for KernelTransform2");
}
void
GetSpatialHessian(const InputPointType &, SpatialHessianType &) const override
{
itkExceptionMacro("Not implemented for KernelTransform2");
}
void
GetJacobianOfSpatialJacobian(const InputPointType &,
JacobianOfSpatialJacobianType &,
NonZeroJacobianIndicesType &) const override
{
itkExceptionMacro("Not implemented for KernelTransform2");
}
void
GetJacobianOfSpatialJacobian(const InputPointType &,
SpatialJacobianType &,
JacobianOfSpatialJacobianType &,
NonZeroJacobianIndicesType &) const override
{
itkExceptionMacro("Not implemented for KernelTransform2");
}
void
GetJacobianOfSpatialHessian(const InputPointType &,
JacobianOfSpatialHessianType &,
NonZeroJacobianIndicesType &) const override
{
itkExceptionMacro("Not implemented for KernelTransform2");
}
void
GetJacobianOfSpatialHessian(const InputPointType &,
SpatialHessianType &,
JacobianOfSpatialHessianType &,
NonZeroJacobianIndicesType &) const override
{
itkExceptionMacro("Not implemented for KernelTransform2");
}
protected:
KernelTransform2();
~KernelTransform2() override;
void
PrintSelf(std::ostream & os, Indent indent) const override;
public:
using GMatrixType = vnl_matrix_fixed<TScalarType, NDimensions, NDimensions>;
using LMatrixType = vnl_matrix<TScalarType>;
using KMatrixType = vnl_matrix<TScalarType>;
using PMatrixType = vnl_matrix<TScalarType>;
using YMatrixType = vnl_matrix<TScalarType>;
using WMatrixType = vnl_matrix<TScalarType>;
using DMatrixType = vnl_matrix<TScalarType>;
using AMatrixType = vnl_matrix_fixed<TScalarType, NDimensions, NDimensions>;
using BMatrixType = vnl_vector_fixed<TScalarType, NDimensions>;
using RowMatrixType = vnl_matrix_fixed<TScalarType, 1, NDimensions>;
using ColumnMatrixType = vnl_matrix_fixed<TScalarType, NDimensions, 1>;
PointSetPointer m_SourceLandmarks{};
PointSetPointer m_TargetLandmarks{};
protected:
virtual void
ComputeG(const InputVectorType & landmarkVector, GMatrixType & GMatrix) const;
virtual void
ComputeReflexiveG(PointsIterator, GMatrixType & GMatrix) const;
virtual void
ComputeDeformationContribution(const InputPointType & inputPoint, OutputPointType & result) const;
void
ComputeK();
void
ComputeL();
void
ComputeP();
void
ComputeY();
void
ComputeD();
void
ReorganizeW();
double m_Stiffness{};
VectorSetPointer m_Displacements{};
LMatrixType m_LMatrix{};
LMatrixType m_LMatrixInverse{};
KMatrixType m_KMatrix{};
PMatrixType m_PMatrix{};
YMatrixType m_YMatrix{};
WMatrixType m_WMatrix{};
DMatrixType m_DMatrix{};
AMatrixType m_AMatrix{};
BMatrixType m_BVector{};
// GMatrixType m_GMatrix;
bool m_WMatrixComputed{};
bool m_LMatrixComputed{};
bool m_LInverseComputed{};
bool m_LMatrixDecompositionComputed{};
using SVDDecompositionType = vnl_svd<ScalarType>;
using QRDecompositionType = vnl_qr<ScalarType>;
SVDDecompositionType * m_LMatrixDecompositionSVD{};
QRDecompositionType * m_LMatrixDecompositionQR{};
IMatrixType m_I{};
NonZeroJacobianIndicesType m_NonZeroJacobianIndices{};
bool m_FastComputationPossible{};
private:
// Private using-declarations, to avoid `-Woverloaded-virtual` warnings from GCC (GCC 11.4).
using Superclass::TransformCovariantVector;
using Superclass::TransformVector;
TScalarType m_PoissonRatio{};
std::string m_MatrixInversionMethod{};
};
} // end namespace itk
#ifndef ITK_MANUAL_INSTANTIATION
# include "itkKernelTransform2.hxx"
#endif
#endif // itkKernelTransform2_h
TScalarType
itk::AdvancedTransform::InternalMatrixType
typename SpatialJacobianType::InternalMatrixType InternalMatrixType
Definition itkAdvancedTransform.h:140
itk::AdvancedTransform::SpatialHessianType
FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
Definition itkAdvancedTransform.h:137
itk::AdvancedTransform::SpatialJacobianType
Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
Definition itkAdvancedTransform.h:134
itk::AdvancedTransform::JacobianOfSpatialHessianType
std::vector< SpatialHessianType > JacobianOfSpatialHessianType
Definition itkAdvancedTransform.h:139
itk::AdvancedTransform::JacobianOfSpatialJacobianType
std::vector< SpatialJacobianType > JacobianOfSpatialJacobianType
Definition itkAdvancedTransform.h:135
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::AdvancedTransform
AdvancedTransform()=default
itk::AdvancedTransform::NonZeroJacobianIndicesType
std::vector< unsigned long > NonZeroJacobianIndicesType
Definition itkAdvancedTransform.h:133
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_TargetLandmarks
PointSetPointer m_TargetLandmarks
Definition itkKernelTransform2.h:401
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::PointSetPointer
typename PointSetType::Pointer PointSetPointer
Definition itkKernelTransform2.h:144
itk::KernelTransform2::SetParameters
void SetParameters(const ParametersType &) override
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_MatrixInversionMethod
std::string m_MatrixInversionMethod
Definition itkKernelTransform2.h:543
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::SpatialJacobianType
Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
itk::KernelTransform2::GetSpatialHessian
void GetSpatialHessian(const InputPointType &, SpatialHessianType &) const override
Definition itkKernelTransform2.h:313
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_LMatrix
LMatrixType m_LMatrix
Definition itkKernelTransform2.h:466
itk::KernelTransform2::KernelTransform2
KernelTransform2()
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_KMatrix
KMatrixType m_KMatrix
Definition itkKernelTransform2.h:472
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_FastComputationPossible
bool m_FastComputationPossible
Definition itkKernelTransform2.h:533
itk::KernelTransform2::GetFixedParameters
const ParametersType & GetFixedParameters() const override
itk::KernelTransform2::ComputeG
virtual void ComputeG(const InputVectorType &landmarkVector, GMatrixType &GMatrix) const
itk::KernelTransform2::SetAlpha
virtual void SetAlpha(TScalarType)
Definition itkKernelTransform2.h:283
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_Stiffness
double m_Stiffness
Definition itkKernelTransform2.h:458
itk::KernelTransform2::SetStiffness
virtual void SetStiffness(double stiffness)
Definition itkKernelTransform2.h:265
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::JacobianOfSpatialHessianType
std::vector< SpatialHessianType > JacobianOfSpatialHessianType
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::PointSetTraitsType
DefaultStaticMeshTraits< typename elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions, typename elx::TransformBase< TElastix >::CoordRepType, typename elx::TransformBase< TElastix >::CoordRepType > PointSetTraitsType
Definition itkKernelTransform2.h:142
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_PoissonRatio
typename elx::TransformBase< TElastix >::CoordRepType m_PoissonRatio
Definition itkKernelTransform2.h:540
itk::KernelTransform2::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(KernelTransform2)
itk::KernelTransform2::GetParameters
const ParametersType & GetParameters() const override
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::IMatrixType
vnl_matrix_fixed< typename elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions > IMatrixType
Definition itkKernelTransform2.h:154
itk::KernelTransform2::ComputeL
void ComputeL()
itk::KernelTransform2::SetIdentity
virtual void SetIdentity()
itk::KernelTransform2::ComputeP
void ComputeP()
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_BVector
BMatrixType m_BVector
Definition itkKernelTransform2.h:494
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_LMatrixDecompositionSVD
SVDDecompositionType * m_LMatrixDecompositionSVD
Definition itkKernelTransform2.h:521
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_DMatrix
DMatrixType m_DMatrix
Definition itkKernelTransform2.h:488
itk::KernelTransform2::TransformVector
OutputVnlVectorType TransformVector(const InputVnlVectorType &) const override
Definition itkKernelTransform2.h:204
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::DMatrixType
vnl_matrix< typename elx::TransformBase< TElastix >::CoordRepType > DMatrixType
Definition itkKernelTransform2.h:383
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::ConstPointer
SmartPointer< const Self > ConstPointer
Definition itkKernelTransform2.h:106
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::VectorSetType
VectorContainer< unsigned long, InputVectorType > VectorSetType
Definition itkKernelTransform2.h:150
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_I
IMatrixType m_I
Definition itkKernelTransform2.h:525
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::Pointer
SmartPointer< Self > Pointer
Definition itkKernelTransform2.h:105
itk::KernelTransform2::itkGetModifiableObjectMacro
itkGetModifiableObjectMacro(TargetLandmarks, PointSetType)
itk::KernelTransform2::SetTargetLandmarks
virtual void SetTargetLandmarks(PointSetType *)
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_WMatrixComputed
bool m_WMatrixComputed
Definition itkKernelTransform2.h:504
itk::KernelTransform2::ComputeY
void ComputeY()
itk::KernelTransform2::TransformPoint
OutputPointType TransformPoint(const InputPointType &thisPoint) const override
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::RowMatrixType
vnl_matrix_fixed< typename elx::TransformBase< TElastix >::CoordRepType, 1, NDimensions > RowMatrixType
Definition itkKernelTransform2.h:392
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::WMatrixType
vnl_matrix< typename elx::TransformBase< TElastix >::CoordRepType > WMatrixType
Definition itkKernelTransform2.h:380
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::ColumnMatrixType
vnl_matrix_fixed< typename elx::TransformBase< TElastix >::CoordRepType, NDimensions, 1 > ColumnMatrixType
Definition itkKernelTransform2.h:395
itk::KernelTransform2::GetNumberOfParameters
NumberOfParametersType GetNumberOfParameters() const override
Definition itkKernelTransform2.h:158
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::Self
KernelTransform2 Self
Definition itkKernelTransform2.h:103
itk::KernelTransform2::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions)
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::BMatrixType
vnl_vector_fixed< typename elx::TransformBase< TElastix >::CoordRepType, NDimensions > BMatrixType
Definition itkKernelTransform2.h:389
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_Displacements
VectorSetPointer m_Displacements
Definition itkKernelTransform2.h:463
itk::KernelTransform2::UpdateParameters
virtual void UpdateParameters()
itk::KernelTransform2::itkGetModifiableObjectMacro
itkGetModifiableObjectMacro(SourceLandmarks, PointSetType)
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_WMatrix
WMatrixType m_WMatrix
Definition itkKernelTransform2.h:481
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::Superclass
AdvancedTransform< typename elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions > Superclass
Definition itkKernelTransform2.h:104
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_PMatrix
PMatrixType m_PMatrix
Definition itkKernelTransform2.h:475
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::JacobianOfSpatialJacobianType
std::vector< SpatialJacobianType > JacobianOfSpatialJacobianType
itk::KernelTransform2::SetFixedParameters
void SetFixedParameters(const ParametersType &) override
itk::KernelTransform2::ComputeLInverse
void ComputeLInverse()
itk::KernelTransform2::ReorganizeW
void ReorganizeW()
itk::KernelTransform2::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const override
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::AMatrixType
vnl_matrix_fixed< typename elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions > AMatrixType
Definition itkKernelTransform2.h:386
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::YMatrixType
vnl_matrix< typename elx::TransformBase< TElastix >::CoordRepType > YMatrixType
Definition itkKernelTransform2.h:377
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_LMatrixDecompositionComputed
bool m_LMatrixDecompositionComputed
Definition itkKernelTransform2.h:510
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::PointsContainer
typename PointSetType::PointsContainer PointsContainer
Definition itkKernelTransform2.h:145
itk::KernelTransform2::GetJacobianOfSpatialHessian
void GetJacobianOfSpatialHessian(const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
Definition itkKernelTransform2.h:339
itk::KernelTransform2::GetJacobianOfSpatialJacobian
void GetJacobianOfSpatialJacobian(const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override
Definition itkKernelTransform2.h:320
itk::KernelTransform2::~KernelTransform2
~KernelTransform2() override
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_LMatrixDecompositionQR
QRDecompositionType * m_LMatrixDecompositionQR
Definition itkKernelTransform2.h:522
itk::KernelTransform2::GetJacobianOfSpatialHessian
void GetJacobianOfSpatialHessian(const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
Definition itkKernelTransform2.h:348
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::SpatialHessianType
FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::SVDDecompositionType
vnl_svd< ScalarType > SVDDecompositionType
Definition itkKernelTransform2.h:518
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::NonZeroJacobianIndicesType
std::vector< unsigned long > NonZeroJacobianIndicesType
itk::KernelTransform2::ComputeDeformationContribution
virtual void ComputeDeformationContribution(const InputPointType &inputPoint, OutputPointType &result) const
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::PMatrixType
vnl_matrix< typename elx::TransformBase< TElastix >::CoordRepType > PMatrixType
Definition itkKernelTransform2.h:374
itk::KernelTransform2::GetJacobianOfSpatialJacobian
void GetJacobianOfSpatialJacobian(const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override
Definition itkKernelTransform2.h:329
itk::KernelTransform2::GetPoissonRatio
virtual const TScalarType GetPoissonRatio() const
Definition itkKernelTransform2.h:294
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_LMatrixInverse
LMatrixType m_LMatrixInverse
Definition itkKernelTransform2.h:469
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::PointsIterator
typename PointSetType::PointsContainerIterator PointsIterator
Definition itkKernelTransform2.h:146
itk::KernelTransform2::SetSourceLandmarks
virtual void SetSourceLandmarks(PointSetType *)
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::LMatrixType
vnl_matrix< typename elx::TransformBase< TElastix >::CoordRepType > LMatrixType
Definition itkKernelTransform2.h:368
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::KMatrixType
vnl_matrix< typename elx::TransformBase< TElastix >::CoordRepType > KMatrixType
Definition itkKernelTransform2.h:371
itk::KernelTransform2::GetSpatialJacobian
void GetSpatialJacobian(const InputPointType &, SpatialJacobianType &) const override
Definition itkKernelTransform2.h:306
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_SourceLandmarks
PointSetPointer m_SourceLandmarks
Definition itkKernelTransform2.h:398
itk::KernelTransform2::ComputeD
void ComputeD()
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::PointsConstIterator
typename PointSetType::PointsContainerConstIterator PointsConstIterator
Definition itkKernelTransform2.h:147
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_NonZeroJacobianIndices
NonZeroJacobianIndicesType m_NonZeroJacobianIndices
Definition itkKernelTransform2.h:528
itk::KernelTransform2::ComputeWMatrix
void ComputeWMatrix()
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_AMatrix
AMatrixType m_AMatrix
Definition itkKernelTransform2.h:491
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::VectorSetPointer
typename VectorSetType::Pointer VectorSetPointer
Definition itkKernelTransform2.h:151
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_LMatrixComputed
bool m_LMatrixComputed
Definition itkKernelTransform2.h:506
itk::KernelTransform2::TransformCovariantVector
OutputCovariantVectorType TransformCovariantVector(const InputCovariantVectorType &) const override
Definition itkKernelTransform2.h:211
itk::KernelTransform2::itkGetModifiableObjectMacro
itkGetModifiableObjectMacro(Displacements, VectorSetType)
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_YMatrix
YMatrixType m_YMatrix
Definition itkKernelTransform2.h:478
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::GMatrixType
vnl_matrix_fixed< typename elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions > GMatrixType
Definition itkKernelTransform2.h:365
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::PointSetType
PointSet< InputPointType, NDimensions, PointSetTraitsType > PointSetType
Definition itkKernelTransform2.h:143
itk::KernelTransform2::ComputeReflexiveG
virtual void ComputeReflexiveG(PointsIterator, GMatrixType &GMatrix) const
itk::KernelTransform2::ComputeK
void ComputeK()
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::m_LInverseComputed
bool m_LInverseComputed
Definition itkKernelTransform2.h:508
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >::QRDecompositionType
vnl_qr< ScalarType > QRDecompositionType
Definition itkKernelTransform2.h:519
itk::KernelTransform2::GetJacobian
void GetJacobian(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override
itk::KernelTransform2::TransformVector
OutputVectorType TransformVector(const InputVectorType &) const override
Definition itkKernelTransform2.h:197
itkAdvancedTransform.h
itk
Definition itkAdvancedImageToImageMetric.h:43

Generated on 1768596610 for elastix by 1.15.0 |