Loading...
Searching...
No Matches
itkAdvancedCombinationTransform.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.
*
*=========================================================================*/
#ifndef itkAdvancedCombinationTransform_h
#define itkAdvancedCombinationTransform_h
#include "itkAdvancedTransform.h"
#include "itkMacro.h"
namespace itk
{
template <typename TScalarType, unsigned int NDimensions = 3>
class ITK_TEMPLATE_EXPORT AdvancedCombinationTransform : public AdvancedTransform<TScalarType, NDimensions, NDimensions>
{
public:
ITK_DISALLOW_COPY_AND_MOVE(AdvancedCombinationTransform);
using Self = AdvancedCombinationTransform;
using Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>;
using Pointer = SmartPointer<Self>;
using ConstPointer = SmartPointer<const Self>;
itkNewMacro(Self);
itkTypeMacro(AdvancedCombinationTransform, AdvancedTransform);
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions);
using typename Superclass::ScalarType;
using typename Superclass::ParametersType;
using typename Superclass::FixedParametersType;
using typename Superclass::ParametersValueType;
using typename Superclass::NumberOfParametersType;
using typename Superclass::DerivativeType;
using typename Superclass::JacobianType;
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::InputPointType;
using typename Superclass::OutputPointType;
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 InverseTransformBaseType = typename Superclass::InverseTransformBaseType;
using typename Superclass::InverseTransformBasePointer;
using typename Superclass::TransformCategoryEnum;
using typename Superclass::MovingImageGradientType;
using typename Superclass::MovingImageGradientValueType;
using TransformType = typename Superclass::TransformType;
using TransformTypePointer = typename TransformType::Pointer;
using TransformTypeConstPointer = typename TransformType::ConstPointer;
using InitialTransformType = Superclass;
using InitialTransformPointer = typename InitialTransformType::Pointer;
using InitialTransformConstPointer = typename InitialTransformType::ConstPointer;
using InitialTransformInverseTransformBaseType = typename InitialTransformType::InverseTransformBaseType;
using InitialTransformInverseTransformBasePointer = typename InitialTransformType::InverseTransformBasePointer;
using CurrentTransformType = Superclass;
using CurrentTransformPointer = typename CurrentTransformType::Pointer;
using CurrentTransformConstPointer = typename CurrentTransformType::ConstPointer;
using CurrentTransformInverseTransformBaseType = typename CurrentTransformType::InverseTransformBaseType;
using CurrentTransformInverseTransformBasePointer = typename CurrentTransformType::InverseTransformBasePointer;
void
SetInitialTransform(InitialTransformType * _arg);
itkGetModifiableObjectMacro(InitialTransform, InitialTransformType);
void
SetCurrentTransform(CurrentTransformType * _arg);
itkGetModifiableObjectMacro(CurrentTransform, CurrentTransformType);
SizeValueType
GetNumberOfTransforms() const;
const TransformTypePointer
GetNthTransform(SizeValueType n) const;
void
SetUseComposition(bool _arg);
itkGetConstMacro(UseComposition, bool);
void
SetUseAddition(bool _arg);
itkGetConstMacro(UseAddition, bool);
OutputPointType
TransformPoint(const InputPointType & point) const override;
OutputVectorType
TransformVector(const InputVectorType &) const override
{
itkExceptionMacro("TransformVector(const InputVectorType &) is not implemented for AdvancedCombinationTransform");
}
OutputVnlVectorType
TransformVector(const InputVnlVectorType &) const override
{
itkExceptionMacro(
"TransformVector(const InputVnlVectorType &) is not implemented for AdvancedCombinationTransform");
}
OutputCovariantVectorType
TransformCovariantVector(const InputCovariantVectorType &) const override
{
itkExceptionMacro("TransformCovariantVector(const InputCovariantVectorType &) is not implemented for "
"AdvancedCombinationTransform");
}
NumberOfParametersType
GetNumberOfParameters() const override;
NumberOfParametersType
GetNumberOfNonZeroJacobianIndices() const override;
const ParametersType &
GetParameters() const override;
const FixedParametersType &
GetFixedParameters() const override;
void
SetParameters(const ParametersType & param) override;
void
SetParametersByValue(const ParametersType & param) override;
void
SetFixedParameters(const FixedParametersType & fixedParam) override;
bool
GetInverse(Self * inverse) const;
bool
IsLinear() const override;
TransformCategoryEnum
GetTransformCategory() const override;
bool
GetHasNonZeroSpatialHessian() const override;
bool
HasNonZeroJacobianOfSpatialHessian() const;
void
GetJacobian(const InputPointType & inputPoint,
JacobianType & j,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const override;
void
EvaluateJacobianWithImageGradientProduct(const InputPointType & inputPoint,
const MovingImageGradientType & movingImageGradient,
DerivativeType & imageJacobian,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const override;
void
GetSpatialJacobian(const InputPointType & inputPoint, SpatialJacobianType & sj) const override;
void
GetSpatialHessian(const InputPointType & inputPoint, SpatialHessianType & sh) const override;
void
GetJacobianOfSpatialJacobian(const InputPointType & inputPoint,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const override;
void
GetJacobianOfSpatialJacobian(const InputPointType & inputPoint,
SpatialJacobianType & sj,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const override;
void
GetJacobianOfSpatialHessian(const InputPointType & inputPoint,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const override;
void
GetJacobianOfSpatialHessian(const InputPointType & inputPoint,
SpatialHessianType & sh,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const override;
protected:
AdvancedCombinationTransform();
~AdvancedCombinationTransform() override = default;
void
UpdateCombinationMethod();
OutputPointType
TransformPointUseAddition(const InputPointType & point) const;
OutputPointType
TransformPointUseComposition(const InputPointType & point) const;
OutputPointType
TransformPointNoInitialTransform(const InputPointType & point) const;
OutputPointType
TransformPointNoCurrentTransform(const InputPointType & point) const;
void
GetJacobianUseAddition(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const;
void
GetJacobianUseComposition(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const;
void
GetJacobianNoInitialTransform(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const;
void
GetJacobianNoCurrentTransform(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const;
void
EvaluateJacobianWithImageGradientProductUseAddition(const InputPointType &,
const MovingImageGradientType &,
DerivativeType &,
NonZeroJacobianIndicesType &) const;
void
EvaluateJacobianWithImageGradientProductUseComposition(const InputPointType &,
const MovingImageGradientType &,
DerivativeType &,
NonZeroJacobianIndicesType &) const;
void
EvaluateJacobianWithImageGradientProductNoInitialTransform(const InputPointType &,
const MovingImageGradientType &,
DerivativeType &,
NonZeroJacobianIndicesType &) const;
void
EvaluateJacobianWithImageGradientProductNoCurrentTransform(const InputPointType &,
const MovingImageGradientType &,
DerivativeType &,
NonZeroJacobianIndicesType &) const;
void
GetSpatialJacobianUseAddition(const InputPointType & inputPoint, SpatialJacobianType & sj) const;
void
GetSpatialJacobianUseComposition(const InputPointType & inputPoint, SpatialJacobianType & sj) const;
void
GetSpatialJacobianNoInitialTransform(const InputPointType & inputPoint, SpatialJacobianType & sj) const;
void
GetSpatialJacobianNoCurrentTransform(const InputPointType & inputPoint, SpatialJacobianType & sj) const;
void
GetSpatialHessianUseAddition(const InputPointType & inputPoint, SpatialHessianType & sh) const;
void
GetSpatialHessianUseComposition(const InputPointType & inputPoint, SpatialHessianType & sh) const;
void
GetSpatialHessianNoInitialTransform(const InputPointType & inputPoint, SpatialHessianType & sh) const;
void
GetSpatialHessianNoCurrentTransform(const InputPointType & inputPoint, SpatialHessianType & sh) const;
void
GetJacobianOfSpatialJacobianUseAddition(const InputPointType & inputPoint,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialJacobianUseAddition(const InputPointType & inputPoint,
SpatialJacobianType & sj,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialJacobianUseComposition(const InputPointType & inputPoint,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialJacobianUseComposition(const InputPointType & inputPoint,
SpatialJacobianType & sj,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialJacobianNoInitialTransform(const InputPointType & inputPoint,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialJacobianNoInitialTransform(const InputPointType & inputPoint,
SpatialJacobianType & sj,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialJacobianNoCurrentTransform(const InputPointType & inputPoint,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialJacobianNoCurrentTransform(const InputPointType & inputPoint,
SpatialJacobianType & sj,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialHessianUseAddition(const InputPointType & inputPoint,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialHessianUseAddition(const InputPointType & inputPoint,
SpatialHessianType & sh,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialHessianUseComposition(const InputPointType & inputPoint,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialHessianUseComposition(const InputPointType & inputPoint,
SpatialHessianType & sh,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialHessianNoInitialTransform(const InputPointType & inputPoint,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialHessianNoInitialTransform(const InputPointType & inputPoint,
SpatialHessianType & sh,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialHessianNoCurrentTransform(const InputPointType & inputPoint,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
void
GetJacobianOfSpatialHessianNoCurrentTransform(const InputPointType & inputPoint,
SpatialHessianType & sh,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const;
private:
// Private using-declarations, to avoid `-Woverloaded-virtual` warnings from GCC (GCC 11.4).
using Superclass::TransformCovariantVector;
using Superclass::TransformVector;
static constexpr const char * NoCurrentTransformSet = "No current transform set in the AdvancedCombinationTransform";
InitialTransformPointer m_InitialTransform{ nullptr };
CurrentTransformPointer m_CurrentTransform{ nullptr };
using TransformPointFunctionPointer = OutputPointType (Self::*)(const InputPointType &) const;
using GetSparseJacobianFunctionPointer = void (Self::*)(const InputPointType &,
JacobianType &,
NonZeroJacobianIndicesType &) const;
using EvaluateJacobianWithImageGradientProductFunctionPointer = void (Self::*)(const InputPointType &,
const MovingImageGradientType &,
DerivativeType &,
NonZeroJacobianIndicesType &) const;
using GetSpatialJacobianFunctionPointer = void (Self::*)(const InputPointType &, SpatialJacobianType &) const;
using GetSpatialHessianFunctionPointer = void (Self::*)(const InputPointType &, SpatialHessianType &) const;
using GetJacobianOfSpatialJacobianFunctionPointer = void (Self::*)(const InputPointType &,
JacobianOfSpatialJacobianType &,
NonZeroJacobianIndicesType &) const;
using GetJacobianOfSpatialJacobianFunctionPointer2 = void (Self::*)(const InputPointType &,
SpatialJacobianType &,
JacobianOfSpatialJacobianType &,
NonZeroJacobianIndicesType &) const;
using GetJacobianOfSpatialHessianFunctionPointer = void (Self::*)(const InputPointType &,
JacobianOfSpatialHessianType &,
NonZeroJacobianIndicesType &) const;
using GetJacobianOfSpatialHessianFunctionPointer2 = void (Self::*)(const InputPointType &,
SpatialHessianType &,
JacobianOfSpatialHessianType &,
NonZeroJacobianIndicesType &) const;
TransformPointFunctionPointer m_SelectedTransformPointFunction{ &Self::TransformPointNoCurrentTransform };
// GetJacobianFunctionPointer m_SelectedGetJacobianFunction;
GetSparseJacobianFunctionPointer m_SelectedGetSparseJacobianFunction{ &Self::GetJacobianNoCurrentTransform };
EvaluateJacobianWithImageGradientProductFunctionPointer m_SelectedEvaluateJacobianWithImageGradientProductFunction{
&Self::EvaluateJacobianWithImageGradientProductNoInitialTransform
};
GetSpatialJacobianFunctionPointer m_SelectedGetSpatialJacobianFunction{ &Self::GetSpatialJacobianNoCurrentTransform };
GetSpatialHessianFunctionPointer m_SelectedGetSpatialHessianFunction{ &Self::GetSpatialHessianNoCurrentTransform };
GetJacobianOfSpatialJacobianFunctionPointer m_SelectedGetJacobianOfSpatialJacobianFunction{
&Self::GetJacobianOfSpatialJacobianNoCurrentTransform
};
GetJacobianOfSpatialJacobianFunctionPointer2 m_SelectedGetJacobianOfSpatialJacobianFunction2{
&Self::GetJacobianOfSpatialJacobianNoCurrentTransform
};
GetJacobianOfSpatialHessianFunctionPointer m_SelectedGetJacobianOfSpatialHessianFunction{
&Self::GetJacobianOfSpatialHessianNoCurrentTransform
};
GetJacobianOfSpatialHessianFunctionPointer2 m_SelectedGetJacobianOfSpatialHessianFunction2{
&Self::GetJacobianOfSpatialHessianNoCurrentTransform
};
bool m_UseAddition{ false };
bool m_UseComposition{ true };
};
} // end namespace itk
#ifndef ITK_MANUAL_INSTANTIATION
# include "itkAdvancedCombinationTransform.hxx"
#endif
#endif // end #ifndef itkAdvancedCombinationTransform_h
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_SelectedGetSpatialHessianFunction
GetSpatialHessianFunctionPointer m_SelectedGetSpatialHessianFunction
Definition itkAdvancedCombinationTransform.h:608
itk::AdvancedCombinationTransform::GetSpatialHessianNoInitialTransform
void GetSpatialHessianNoInitialTransform(const InputPointType &inputPoint, SpatialHessianType &sh) const
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobianNoInitialTransform
void GetJacobianOfSpatialJacobianNoInitialTransform(const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::SpatialJacobianType
Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::InitialTransformConstPointer
typename InitialTransformType::ConstPointer InitialTransformConstPointer
Definition itkAdvancedCombinationTransform.h:112
itk::AdvancedCombinationTransform::EvaluateJacobianWithImageGradientProductUseAddition
void EvaluateJacobianWithImageGradientProductUseAddition(const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessian
void GetJacobianOfSpatialHessian(const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
itk::AdvancedCombinationTransform::GetJacobianNoCurrentTransform
void GetJacobianNoCurrentTransform(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_CurrentTransform
CurrentTransformPointer m_CurrentTransform
Definition itkAdvancedCombinationTransform.h:558
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_SelectedGetSpatialJacobianFunction
GetSpatialJacobianFunctionPointer m_SelectedGetSpatialJacobianFunction
Definition itkAdvancedCombinationTransform.h:607
itk::AdvancedCombinationTransform::UpdateCombinationMethod
void UpdateCombinationMethod()
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::TransformType
typename Superclass::TransformType TransformType
Definition itkAdvancedCombinationTransform.h:105
itk::AdvancedCombinationTransform::SetCurrentTransform
void SetCurrentTransform(CurrentTransformType *_arg)
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::CurrentTransformInverseTransformBasePointer
typename CurrentTransformType::InverseTransformBasePointer CurrentTransformInverseTransformBasePointer
Definition itkAdvancedCombinationTransform.h:121
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::Self
AdvancedCombinationTransform Self
Definition itkAdvancedCombinationTransform.h:62
itk::AdvancedCombinationTransform::TransformPoint
OutputPointType TransformPoint(const InputPointType &point) const override
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessianUseAddition
void GetJacobianOfSpatialHessianUseAddition(const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::JacobianOfSpatialHessianType
std::vector< SpatialHessianType > JacobianOfSpatialHessianType
itk::AdvancedCombinationTransform::GetSpatialJacobianNoCurrentTransform
void GetSpatialJacobianNoCurrentTransform(const InputPointType &inputPoint, SpatialJacobianType &sj) const
itk::AdvancedCombinationTransform::EvaluateJacobianWithImageGradientProductNoCurrentTransform
void EvaluateJacobianWithImageGradientProductNoCurrentTransform(const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::Pointer
SmartPointer< Self > Pointer
Definition itkAdvancedCombinationTransform.h:64
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobianUseComposition
void GetJacobianOfSpatialJacobianUseComposition(const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_SelectedGetJacobianOfSpatialHessianFunction
GetJacobianOfSpatialHessianFunctionPointer m_SelectedGetJacobianOfSpatialHessianFunction
Definition itkAdvancedCombinationTransform.h:615
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobianNoInitialTransform
void GetJacobianOfSpatialJacobianNoInitialTransform(const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform::HasNonZeroJacobianOfSpatialHessian
bool HasNonZeroJacobianOfSpatialHessian() const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::CurrentTransformConstPointer
typename CurrentTransformType::ConstPointer CurrentTransformConstPointer
Definition itkAdvancedCombinationTransform.h:119
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::ConstPointer
SmartPointer< const Self > ConstPointer
Definition itkAdvancedCombinationTransform.h:65
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::EvaluateJacobianWithImageGradientProductFunctionPointer
void(Self::*)(const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const EvaluateJacobianWithImageGradientProductFunctionPointer
Definition itkAdvancedCombinationTransform.h:565
itk::AdvancedCombinationTransform::TransformPointNoInitialTransform
OutputPointType TransformPointNoInitialTransform(const InputPointType &point) const
itk::AdvancedCombinationTransform::GetSpatialHessian
void GetSpatialHessian(const InputPointType &inputPoint, SpatialHessianType &sh) const override
itk::AdvancedCombinationTransform::SetInitialTransform
void SetInitialTransform(InitialTransformType *_arg)
itk::AdvancedCombinationTransform::GetJacobianUseAddition
void GetJacobianUseAddition(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform::GetSpatialHessianUseComposition
void GetSpatialHessianUseComposition(const InputPointType &inputPoint, SpatialHessianType &sh) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::GetSpatialJacobianFunctionPointer
void(Self::*)(const InputPointType &, SpatialJacobianType &) const GetSpatialJacobianFunctionPointer
Definition itkAdvancedCombinationTransform.h:569
itk::AdvancedCombinationTransform::SetUseComposition
void SetUseComposition(bool _arg)
itk::AdvancedCombinationTransform::GetSpatialJacobian
void GetSpatialJacobian(const InputPointType &inputPoint, SpatialJacobianType &sj) const override
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::InitialTransformType
Superclass InitialTransformType
Definition itkAdvancedCombinationTransform.h:110
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::GetJacobianOfSpatialHessianFunctionPointer
void(Self::*)(const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const GetJacobianOfSpatialHessianFunctionPointer
Definition itkAdvancedCombinationTransform.h:578
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_UseAddition
bool m_UseAddition
Definition itkAdvancedCombinationTransform.h:623
itk::AdvancedCombinationTransform::GetHasNonZeroSpatialHessian
bool GetHasNonZeroSpatialHessian() const override
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_SelectedGetJacobianOfSpatialHessianFunction2
GetJacobianOfSpatialHessianFunctionPointer2 m_SelectedGetJacobianOfSpatialHessianFunction2
Definition itkAdvancedCombinationTransform.h:618
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::GetJacobianOfSpatialJacobianFunctionPointer
void(Self::*)(const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const GetJacobianOfSpatialJacobianFunctionPointer
Definition itkAdvancedCombinationTransform.h:571
itk::AdvancedCombinationTransform::SetUseAddition
void SetUseAddition(bool _arg)
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::TransformTypePointer
typename TransformType::Pointer TransformTypePointer
Definition itkAdvancedCombinationTransform.h:106
itk::AdvancedCombinationTransform::itkGetModifiableObjectMacro
itkGetModifiableObjectMacro(InitialTransform, InitialTransformType)
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessianUseComposition
void GetJacobianOfSpatialHessianUseComposition(const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::TransformPointFunctionPointer
OutputPointType(Self::*)(const InputPointType &) const TransformPointFunctionPointer
Definition itkAdvancedCombinationTransform.h:561
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::InitialTransformPointer
typename InitialTransformType::Pointer InitialTransformPointer
Definition itkAdvancedCombinationTransform.h:111
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::NoCurrentTransformSet
static constexpr const char * NoCurrentTransformSet
Definition itkAdvancedCombinationTransform.h:554
itk::AdvancedCombinationTransform::SetParameters
void SetParameters(const ParametersType &param) override
itk::AdvancedCombinationTransform::TransformVector
OutputVectorType TransformVector(const InputVectorType &) const override
Definition itkAdvancedCombinationTransform.h:170
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::JacobianOfSpatialJacobianType
std::vector< SpatialJacobianType > JacobianOfSpatialJacobianType
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::GetJacobianOfSpatialJacobianFunctionPointer2
void(Self::*)(const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const GetJacobianOfSpatialJacobianFunctionPointer2
Definition itkAdvancedCombinationTransform.h:574
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::Superclass
AdvancedTransform< ScalarType, NDimensions, NDimensions > Superclass
Definition itkAdvancedCombinationTransform.h:63
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessianNoInitialTransform
void GetJacobianOfSpatialHessianNoInitialTransform(const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform::GetNumberOfTransforms
SizeValueType GetNumberOfTransforms() const
itk::AdvancedCombinationTransform::AdvancedCombinationTransform
AdvancedCombinationTransform()
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::CurrentTransformInverseTransformBaseType
typename CurrentTransformType::InverseTransformBaseType CurrentTransformInverseTransformBaseType
Definition itkAdvancedCombinationTransform.h:120
itk::AdvancedCombinationTransform::GetFixedParameters
const FixedParametersType & GetFixedParameters() const override
itk::AdvancedCombinationTransform::EvaluateJacobianWithImageGradientProductNoInitialTransform
void EvaluateJacobianWithImageGradientProductNoInitialTransform(const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform::EvaluateJacobianWithImageGradientProductUseComposition
void EvaluateJacobianWithImageGradientProductUseComposition(const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobian
void GetJacobianOfSpatialJacobian(const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
itk::AdvancedCombinationTransform::GetNumberOfNonZeroJacobianIndices
NumberOfParametersType GetNumberOfNonZeroJacobianIndices() const override
itk::AdvancedCombinationTransform::GetJacobian
void GetJacobian(const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_UseComposition
bool m_UseComposition
Definition itkAdvancedCombinationTransform.h:624
itk::AdvancedCombinationTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions)
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobian
void GetJacobianOfSpatialJacobian(const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_SelectedGetJacobianOfSpatialJacobianFunction
GetJacobianOfSpatialJacobianFunctionPointer m_SelectedGetJacobianOfSpatialJacobianFunction
Definition itkAdvancedCombinationTransform.h:609
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::GetJacobianOfSpatialHessianFunctionPointer2
void(Self::*)(const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const GetJacobianOfSpatialHessianFunctionPointer2
Definition itkAdvancedCombinationTransform.h:581
itk::AdvancedCombinationTransform::TransformVector
OutputVnlVectorType TransformVector(const InputVnlVectorType &) const override
Definition itkAdvancedCombinationTransform.h:177
itk::AdvancedCombinationTransform::GetTransformCategory
TransformCategoryEnum GetTransformCategory() const override
itk::AdvancedCombinationTransform::EvaluateJacobianWithImageGradientProduct
void EvaluateJacobianWithImageGradientProduct(const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
itk::AdvancedCombinationTransform::SetFixedParameters
void SetFixedParameters(const FixedParametersType &fixedParam) override
itk::AdvancedCombinationTransform::GetSpatialJacobianUseComposition
void GetSpatialJacobianUseComposition(const InputPointType &inputPoint, SpatialJacobianType &sj) const
itk::AdvancedCombinationTransform::GetJacobianNoInitialTransform
void GetJacobianNoInitialTransform(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessianUseAddition
void GetJacobianOfSpatialHessianUseAddition(const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::GetSparseJacobianFunctionPointer
void(Self::*)(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const GetSparseJacobianFunctionPointer
Definition itkAdvancedCombinationTransform.h:562
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessianNoCurrentTransform
void GetJacobianOfSpatialHessianNoCurrentTransform(const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::SpatialHessianType
FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::GetSpatialHessianFunctionPointer
void(Self::*)(const InputPointType &, SpatialHessianType &) const GetSpatialHessianFunctionPointer
Definition itkAdvancedCombinationTransform.h:570
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::NonZeroJacobianIndicesType
std::vector< unsigned long > NonZeroJacobianIndicesType
itk::AdvancedCombinationTransform::GetJacobianUseComposition
void GetJacobianUseComposition(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::InverseTransformBaseType
typename Superclass::InverseTransformBaseType InverseTransformBaseType
Definition itkAdvancedCombinationTransform.h:98
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_SelectedGetJacobianOfSpatialJacobianFunction2
GetJacobianOfSpatialJacobianFunctionPointer2 m_SelectedGetJacobianOfSpatialJacobianFunction2
Definition itkAdvancedCombinationTransform.h:612
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobianUseComposition
void GetJacobianOfSpatialJacobianUseComposition(const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_SelectedEvaluateJacobianWithImageGradientProductFunction
EvaluateJacobianWithImageGradientProductFunctionPointer m_SelectedEvaluateJacobianWithImageGradientProductFunction
Definition itkAdvancedCombinationTransform.h:604
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::TransformTypeConstPointer
typename TransformType::ConstPointer TransformTypeConstPointer
Definition itkAdvancedCombinationTransform.h:107
itk::AdvancedCombinationTransform::TransformPointNoCurrentTransform
OutputPointType TransformPointNoCurrentTransform(const InputPointType &point) const
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobianNoCurrentTransform
void GetJacobianOfSpatialJacobianNoCurrentTransform(const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessianUseComposition
void GetJacobianOfSpatialHessianUseComposition(const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::InitialTransformInverseTransformBaseType
typename InitialTransformType::InverseTransformBaseType InitialTransformInverseTransformBaseType
Definition itkAdvancedCombinationTransform.h:113
itk::AdvancedCombinationTransform::GetSpatialJacobianUseAddition
void GetSpatialJacobianUseAddition(const InputPointType &inputPoint, SpatialJacobianType &sj) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::CurrentTransformType
Superclass CurrentTransformType
Definition itkAdvancedCombinationTransform.h:117
itk::AdvancedCombinationTransform::GetSpatialJacobianNoInitialTransform
void GetSpatialJacobianNoInitialTransform(const InputPointType &inputPoint, SpatialJacobianType &sj) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_SelectedGetSparseJacobianFunction
GetSparseJacobianFunctionPointer m_SelectedGetSparseJacobianFunction
Definition itkAdvancedCombinationTransform.h:603
itk::AdvancedCombinationTransform::GetNthTransform
const TransformTypePointer GetNthTransform(SizeValueType n) const
itk::AdvancedCombinationTransform::TransformCovariantVector
OutputCovariantVectorType TransformCovariantVector(const InputCovariantVectorType &) const override
Definition itkAdvancedCombinationTransform.h:185
itk::AdvancedCombinationTransform::IsLinear
bool IsLinear() const override
itk::AdvancedCombinationTransform::GetInverse
bool GetInverse(Self *inverse) const
itk::AdvancedCombinationTransform::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(AdvancedCombinationTransform)
itk::AdvancedCombinationTransform::itkGetModifiableObjectMacro
itkGetModifiableObjectMacro(CurrentTransform, CurrentTransformType)
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_SelectedTransformPointFunction
TransformPointFunctionPointer m_SelectedTransformPointFunction
Definition itkAdvancedCombinationTransform.h:592
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessianNoCurrentTransform
void GetJacobianOfSpatialHessianNoCurrentTransform(const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobianUseAddition
void GetJacobianOfSpatialJacobianUseAddition(const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobianNoCurrentTransform
void GetJacobianOfSpatialJacobianNoCurrentTransform(const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobianUseAddition
void GetJacobianOfSpatialJacobianUseAddition(const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform::GetNumberOfParameters
NumberOfParametersType GetNumberOfParameters() const override
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::m_InitialTransform
InitialTransformPointer m_InitialTransform
Definition itkAdvancedCombinationTransform.h:557
itk::AdvancedCombinationTransform::SetParametersByValue
void SetParametersByValue(const ParametersType &param) override
itk::AdvancedCombinationTransform::TransformPointUseComposition
OutputPointType TransformPointUseComposition(const InputPointType &point) const
itk::AdvancedCombinationTransform::TransformPointUseAddition
OutputPointType TransformPointUseAddition(const InputPointType &point) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::InitialTransformInverseTransformBasePointer
typename InitialTransformType::InverseTransformBasePointer InitialTransformInverseTransformBasePointer
Definition itkAdvancedCombinationTransform.h:114
itk::AdvancedCombinationTransform::GetSpatialHessianUseAddition
void GetSpatialHessianUseAddition(const InputPointType &inputPoint, SpatialHessianType &sh) const
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::MovingImageGradientType
OutputCovariantVectorType MovingImageGradientType
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension >::CurrentTransformPointer
typename CurrentTransformType::Pointer CurrentTransformPointer
Definition itkAdvancedCombinationTransform.h:118
itk::AdvancedCombinationTransform::~AdvancedCombinationTransform
~AdvancedCombinationTransform() override=default
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessian
void GetJacobianOfSpatialHessian(const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessianNoInitialTransform
void GetJacobianOfSpatialHessianNoInitialTransform(const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::AdvancedCombinationTransform::GetSpatialHessianNoCurrentTransform
void GetSpatialHessianNoCurrentTransform(const InputPointType &inputPoint, SpatialHessianType &sh) const
itk::AdvancedCombinationTransform::GetParameters
const ParametersType & GetParameters() const override
itk::AdvancedTransform::InternalMatrixType
typename SpatialJacobianType::InternalMatrixType InternalMatrixType
Definition itkAdvancedTransform.h:140
itk::AdvancedTransform::Pointer
SmartPointer< Self > Pointer
Definition itkAdvancedTransform.h:91
itk::AdvancedTransform::InverseTransformBaseType
typename Superclass::InverseTransformBaseType InverseTransformBaseType
Definition itkAdvancedTransform.h:121
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::ConstPointer
SmartPointer< const Self > ConstPointer
Definition itkAdvancedTransform.h:92
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, 3, 3 >::AdvancedTransform
AdvancedTransform()=default
itk::AdvancedTransform::MovingImageGradientValueType
typename MovingImageGradientType::ValueType MovingImageGradientValueType
Definition itkAdvancedTransform.h:148
itk::AdvancedTransform::NonZeroJacobianIndicesType
std::vector< unsigned long > NonZeroJacobianIndicesType
Definition itkAdvancedTransform.h:133
itk::AdvancedTransform::TransformType
Transform< TScalarType, NInputDimensions, NOutputDimensions > TransformType
Definition itkAdvancedTransform.h:125
itk::AdvancedTransform::MovingImageGradientType
OutputCovariantVectorType MovingImageGradientType
Definition itkAdvancedTransform.h:147
itkAdvancedTransform.h
itk
Definition itkAdvancedImageToImageMetric.h:43

Generated on 1768596610 for elastix by 1.15.0 |