Loading...
Searching...
No Matches
itkMultiBSplineDeformableTransformWithNormal.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 itkMultiBSplineDeformableTransformWithNormal_h
#define itkMultiBSplineDeformableTransformWithNormal_h
#include "itkAdvancedBSplineDeformableTransform.h"
#include "itkNearestNeighborInterpolateImageFunction.h"
namespace itk
{
template <class TScalarType = double, // Data type for scalars
unsigned int NDimensions = 3, // Number of dimensions
unsigned int VSplineOrder = 3>
// Spline order
class ITK_TEMPLATE_EXPORT MultiBSplineDeformableTransformWithNormal
: public AdvancedTransform<TScalarType, NDimensions, NDimensions>
{
public:
ITK_DISALLOW_COPY_AND_MOVE(MultiBSplineDeformableTransformWithNormal);
using Self = MultiBSplineDeformableTransformWithNormal;
using Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>;
using Pointer = SmartPointer<Self>;
using ConstPointer = SmartPointer<const Self>;
itkNewMacro(Self);
itkTypeMacro(MultiBSplineDeformableTransformWithNormal, AdvancedTransform);
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions);
itkStaticConstMacro(SplineOrder, unsigned int, VSplineOrder);
using typename Superclass::ParametersType;
using typename Superclass::NumberOfParametersType;
using typename Superclass::JacobianType;
using typename Superclass::ScalarType;
using typename Superclass::InputPointType;
using typename Superclass::OutputPointType;
using typename Superclass::InputVectorType;
using typename Superclass::OutputVectorType;
using typename Superclass::InputVnlVectorType;
using typename Superclass::OutputVnlVectorType;
using typename Superclass::InputCovariantVectorType;
using typename Superclass::OutputCovariantVectorType;
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 WeightsFunctionType = BSplineInterpolationWeightFunction2<ScalarType, Self::SpaceDimension, VSplineOrder>;
using WeightsType = typename WeightsFunctionType::WeightsType;
void
SetParameters(const ParametersType & parameters) override;
void
SetFixedParameters(const ParametersType & parameters) override;
void
SetParametersByValue(const ParametersType & parameters) override;
void
SetIdentity();
const ParametersType &
GetParameters() const override;
const ParametersType &
GetFixedParameters() const override;
using PixelType = typename ParametersType::ValueType;
using ImageType = Image<PixelType, Self::SpaceDimension>;
using ImagePointer = typename ImageType::Pointer;
// virtual ImagePointer * GetCoefficientImage()
// { return this->m_CoefficientImage; }
// virtual const ImagePointer * GetCoefficientImage() const
// { return this->m_CoefficientImage; }
// virtual void SetCoefficientImage( ImagePointer images[] );
using RegionType = ImageRegion<Self::SpaceDimension>;
using IndexType = typename RegionType::IndexType;
using SizeType = typename RegionType::SizeType;
using SpacingType = typename ImageBase<NDimensions>::SpacingType;
using DirectionType = typename ImageType::DirectionType;
using OriginType = typename ImageType::PointType;
using GridOffsetType = IndexType;
virtual void
SetGridRegion(const RegionType & region);
virtual RegionType
GetGridRegion() const;
virtual void
SetGridSpacing(const SpacingType & spacing);
virtual SpacingType
GetGridSpacing() const;
virtual void
SetGridDirection(const DirectionType & spacing);
virtual DirectionType
GetGridDirection() const;
virtual void
SetGridOrigin(const OriginType & origin);
virtual OriginType
GetGridOrigin() const;
using ImageLabelType = Image<unsigned char, Self::SpaceDimension>;
using ImageLabelPointer = typename ImageLabelType::Pointer;
using ImageLabelInterpolator = itk::NearestNeighborInterpolateImageFunction<ImageLabelType, TScalarType>;
using ImageLabelInterpolatorPointer = typename ImageLabelInterpolator::Pointer;
using VectorType = Vector<TScalarType, Self::SpaceDimension>;
using BaseType = Vector<VectorType, Self::SpaceDimension>;
using ImageVectorType = Image<VectorType, Self::SpaceDimension>;
using ImageVectorPointer = typename ImageVectorType::Pointer;
using ImageBaseType = Image<BaseType, Self::SpaceDimension>;
using ImageBasePointer = typename ImageBaseType::Pointer;
void
SetLabels(ImageLabelType * labels);
itkGetConstMacro(Labels, ImageLabelType *);
itkGetConstMacro(NbLabels, unsigned char);
void
UpdateLocalBases();
itkGetConstMacro(LocalBases, ImageBaseType *);
using ParameterIndexArrayType = Array<unsigned long>;
OutputVectorType
TransformVector(const InputVectorType &) const override
{
itkExceptionMacro("Method not applicable for deformable transform.");
return OutputVectorType();
}
OutputVnlVectorType
TransformVector(const InputVnlVectorType &) const override
{
itkExceptionMacro("Method not applicable for deformable transform. ");
return OutputVnlVectorType();
}
OutputCovariantVectorType
TransformCovariantVector(const InputCovariantVectorType &) const override
{
itkExceptionMacro("Method not applicable for deformable transform. ");
return OutputCovariantVectorType();
}
NumberOfParametersType
GetNumberOfParameters() const override;
virtual NumberOfParametersType
GetNumberOfParametersPerDimension() const;
virtual const RegionType &
GetValidRegion()
{
return m_Trans[0]->GetValidRegion();
}
bool
IsLinear() const override
{
return false;
}
virtual unsigned int
GetNumberOfAffectedWeights() const
{
return NumberOfWeights;
}
NumberOfParametersType
GetNumberOfNonZeroJacobianIndices() const override
{
return NumberOfWeights * SpaceDimension;
}
virtual bool
GetHasNonZeroSpatialJacobian() const
{
return true;
}
virtual bool
HasNonZeroJacobianOfSpatialJacobian() const
{
return true;
}
bool
GetHasNonZeroSpatialHessian() const override
{
return true;
}
virtual bool
HasNonZeroJacobianOfSpatialHessian() const
{
return true;
}
using ContinuousIndexType = ContinuousIndex<ScalarType, SpaceDimension>;
OutputPointType
TransformPoint(const InputPointType & point) const override;
// virtual const JacobianType & GetJacobian( const InputPointType & point ) const;
void
GetJacobian(const InputPointType & inputPoint, JacobianType & j, NonZeroJacobianIndicesType &) const override;
void
GetSpatialJacobian(const InputPointType & inputPoint, SpatialJacobianType & sj) const override;
void
GetJacobianOfSpatialJacobian(const InputPointType & inputPoint,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices) const override;
void
GetJacobianOfSpatialJacobian(const InputPointType &,
SpatialJacobianType &,
JacobianOfSpatialJacobianType &,
NonZeroJacobianIndicesType &) const override;
void
GetSpatialHessian(const InputPointType & inputPoint, SpatialHessianType & sh) const override;
void
GetJacobianOfSpatialHessian(const InputPointType &,
JacobianOfSpatialHessianType &,
NonZeroJacobianIndicesType &) const override
{
itkExceptionMacro("ERROR: GetJacobianOfSpatialHessian() not yet implemented in the "
"MultiBSplineDeformableTransformWithNormal class.");
}
void
GetJacobianOfSpatialHessian(const InputPointType &,
SpatialHessianType &,
JacobianOfSpatialHessianType &,
NonZeroJacobianIndicesType &) const override;
protected:
void
PrintSelf(std::ostream & os, Indent indent) const override;
MultiBSplineDeformableTransformWithNormal();
~MultiBSplineDeformableTransformWithNormal() override = default;
// void WrapAsImages();
/*
void TransformPointToContinuousGridIndex(
const InputPointType & point, ContinuousIndexType & index ) const;
virtual void ComputeNonZeroJacobianIndices(
NonZeroJacobianIndicesType & nonZeroJacobianIndices,
const RegionType & supportRegion ) const;
*/
// virtual bool InsideValidRegion( const ContinuousIndexType& index ) const;
// BulkTransformPointer m_BulkTransform;
// ImagePointer m_CoefficientImage[ NDimensions ];
// RegionType m_GridRegion;
// SpacingType m_GridSpacing;
// DirectionType m_GridDirection;
// OriginType m_GridOrigin;
// GridOffsetType m_GridOffsetTable;
// DirectionType m_PointToIndexMatrix;
// SpatialJacobianType m_PointToIndexMatrix2;
// DirectionType m_PointToIndexMatrixTransposed;
// SpatialJacobianType m_PointToIndexMatrixTransposed2;
// DirectionType m_IndexToPoint;
// RegionType m_ValidRegion;
// unsigned long m_Offset;
// SizeType m_SupportSize;
// ContinuousIndexType m_ValidRegionBegin;
// ContinuousIndexType m_ValidRegionEnd;
// bool m_SplineOrderOdd;
const ParametersType * m_InputParametersPointer{};
/*
using JacobianPixelType = typename JacobianType::ValueType;
using JacobianImageType = Image< JacobianPixelType,
itkGetStaticConstMacro( SpaceDimension ) >;
typename JacobianImageType::Pointer m_JacobianImage[ NDimensions ]{};
*/
// mutable IndexType m_LastJacobianIndex;
// ImagePointer m_WrappedImage[ NDimensions ];
ParametersType m_InternalParametersBuffer{};
using TransformType = AdvancedBSplineDeformableTransform<TScalarType, Self::SpaceDimension, VSplineOrder>;
unsigned char m_NbLabels{};
ImageLabelPointer m_Labels{};
ImageLabelInterpolatorPointer m_LabelsInterpolator{};
ImageVectorPointer m_LabelsNormals{};
std::vector<typename TransformType::Pointer> m_Trans{};
std::vector<ParametersType> m_Para{};
mutable int m_LastJacobian{};
ImageBasePointer m_LocalBases{};
private:
// Private using-declarations, to avoid `-Woverloaded-virtual` warnings from GCC (GCC 11.4).
using Superclass::TransformCovariantVector;
using Superclass::TransformVector;
static constexpr unsigned NumberOfWeights = TransformType::NumberOfWeights;
void
DispatchParameters(const ParametersType & parameters);
void
PointToLabel(const InputPointType & p, int & l) const;
};
} // end namespace itk
#ifndef ITK_MANUAL_INSTANTIATION
# include "itkMultiBSplineDeformableTransformWithNormal.hxx"
#endif
#endif // end itkMultiBSplineDeformableTransformWithNormal_h
itk::AdvancedBSplineDeformableTransform
Deformable transform using a B-spline representation.
Definition itkAdvancedBSplineDeformableTransform.h:134
itk::AdvancedBSplineDeformableTransform::NumberOfWeights
static constexpr unsigned NumberOfWeights
Definition itkAdvancedBSplineDeformableTransform.h:220
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< double, 3, 3 >::AdvancedTransform
AdvancedTransform()=default
itk::AdvancedTransform::NonZeroJacobianIndicesType
std::vector< unsigned long > NonZeroJacobianIndicesType
Definition itkAdvancedTransform.h:133
itk::BSplineInterpolationWeightFunction2
Returns the weights over the support region used for B-spline interpolation/reconstruction.
Definition itkBSplineInterpolationWeightFunction2.h:45
itk::BSplineInterpolationWeightFunction2< ScalarType, Self::SpaceDimension, VSplineOrder >::WeightsType
FixedArray< double, NumberOfWeights > WeightsType
itk::MultiBSplineDeformableTransformWithNormal::GetGridOrigin
virtual OriginType GetGridOrigin() const
itk::MultiBSplineDeformableTransformWithNormal::SetFixedParameters
void SetFixedParameters(const ParametersType &parameters) override
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::SpatialJacobianType
Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
itk::MultiBSplineDeformableTransformWithNormal::SetGridDirection
virtual void SetGridDirection(const DirectionType &spacing)
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::GridOffsetType
IndexType GridOffsetType
Definition itkMultiBSplineDeformableTransformWithNormal.h:200
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::WeightsType
typename WeightsFunctionType::WeightsType WeightsType
Definition itkMultiBSplineDeformableTransformWithNormal.h:89
itk::MultiBSplineDeformableTransformWithNormal::GetJacobianOfSpatialHessian
void GetJacobianOfSpatialHessian(const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ConstPointer
SmartPointer< const Self > ConstPointer
Definition itkMultiBSplineDeformableTransformWithNormal.h:52
itk::MultiBSplineDeformableTransformWithNormal::GetNumberOfNonZeroJacobianIndices
NumberOfParametersType GetNumberOfNonZeroJacobianIndices() const override
Definition itkMultiBSplineDeformableTransformWithNormal.h:331
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::RegionType
ImageRegion< Self::SpaceDimension > RegionType
Definition itkMultiBSplineDeformableTransformWithNormal.h:193
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::BaseType
Vector< VectorType, Self::SpaceDimension > BaseType
Definition itkMultiBSplineDeformableTransformWithNormal.h:239
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::JacobianOfSpatialHessianType
std::vector< SpatialHessianType > JacobianOfSpatialHessianType
itk::MultiBSplineDeformableTransformWithNormal::GetHasNonZeroSpatialHessian
bool GetHasNonZeroSpatialHessian() const override
Definition itkMultiBSplineDeformableTransformWithNormal.h:353
itk::MultiBSplineDeformableTransformWithNormal::GetJacobian
void GetJacobian(const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &) const override
itk::MultiBSplineDeformableTransformWithNormal::SetParameters
void SetParameters(const ParametersType &parameters) override
itk::MultiBSplineDeformableTransformWithNormal::GetSpatialHessian
void GetSpatialHessian(const InputPointType &inputPoint, SpatialHessianType &sh) const override
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::m_NbLabels
unsigned char m_NbLabels
Definition itkMultiBSplineDeformableTransformWithNormal.h:495
itk::MultiBSplineDeformableTransformWithNormal::PointToLabel
void PointToLabel(const InputPointType &p, int &l) const
itk::MultiBSplineDeformableTransformWithNormal::SetGridOrigin
virtual void SetGridOrigin(const OriginType &origin)
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::m_LabelsInterpolator
ImageLabelInterpolatorPointer m_LabelsInterpolator
Definition itkMultiBSplineDeformableTransformWithNormal.h:497
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ImageType
Image< PixelType, Self::SpaceDimension > ImageType
Definition itkMultiBSplineDeformableTransformWithNormal.h:170
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::m_LastJacobian
int m_LastJacobian
Definition itkMultiBSplineDeformableTransformWithNormal.h:501
itk::MultiBSplineDeformableTransformWithNormal::GetGridRegion
virtual RegionType GetGridRegion() const
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::m_Labels
ImageLabelPointer m_Labels
Definition itkMultiBSplineDeformableTransformWithNormal.h:496
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::VectorType
Vector< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension > VectorType
Definition itkMultiBSplineDeformableTransformWithNormal.h:238
itk::MultiBSplineDeformableTransformWithNormal::DispatchParameters
void DispatchParameters(const ParametersType &parameters)
itk::MultiBSplineDeformableTransformWithNormal::HasNonZeroJacobianOfSpatialJacobian
virtual bool HasNonZeroJacobianOfSpatialJacobian() const
Definition itkMultiBSplineDeformableTransformWithNormal.h:346
itk::MultiBSplineDeformableTransformWithNormal::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions)
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::m_Para
std::vector< ParametersType > m_Para
Definition itkMultiBSplineDeformableTransformWithNormal.h:500
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ImageBaseType
Image< BaseType, Self::SpaceDimension > ImageBaseType
Definition itkMultiBSplineDeformableTransformWithNormal.h:242
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::m_LocalBases
ImageBasePointer m_LocalBases
Definition itkMultiBSplineDeformableTransformWithNormal.h:502
itk::MultiBSplineDeformableTransformWithNormal::GetJacobianOfSpatialHessian
void GetJacobianOfSpatialHessian(const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
Definition itkMultiBSplineDeformableTransformWithNormal.h:400
itk::MultiBSplineDeformableTransformWithNormal::GetJacobianOfSpatialJacobian
void GetJacobianOfSpatialJacobian(const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::Superclass
AdvancedTransform< typename elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions > Superclass
Definition itkMultiBSplineDeformableTransformWithNormal.h:50
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::TransformType
AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, VSplineOrder > TransformType
Definition itkMultiBSplineDeformableTransformWithNormal.h:493
itk::MultiBSplineDeformableTransformWithNormal::TransformCovariantVector
OutputCovariantVectorType TransformCovariantVector(const InputCovariantVectorType &) const override
Definition itkMultiBSplineDeformableTransformWithNormal.h:288
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::NumberOfWeights
static constexpr unsigned NumberOfWeights
Definition itkMultiBSplineDeformableTransformWithNormal.h:510
itk::MultiBSplineDeformableTransformWithNormal::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(MultiBSplineDeformableTransformWithNormal)
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ImageVectorPointer
typename ImageVectorType::Pointer ImageVectorPointer
Definition itkMultiBSplineDeformableTransformWithNormal.h:241
itk::MultiBSplineDeformableTransformWithNormal::itkStaticConstMacro
itkStaticConstMacro(SplineOrder, unsigned int, VSplineOrder)
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::OriginType
typename ImageType::PointType OriginType
Definition itkMultiBSplineDeformableTransformWithNormal.h:199
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::WeightsFunctionType
BSplineInterpolationWeightFunction2< ScalarType, Self::SpaceDimension, VSplineOrder > WeightsFunctionType
Definition itkMultiBSplineDeformableTransformWithNormal.h:88
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ImageLabelInterpolator
itk::NearestNeighborInterpolateImageFunction< ImageLabelType, typename elx::TransformBase< TElastix >::CoordRepType > ImageLabelInterpolator
Definition itkMultiBSplineDeformableTransformWithNormal.h:234
itk::MultiBSplineDeformableTransformWithNormal::UpdateLocalBases
void UpdateLocalBases()
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ImageLabelPointer
typename ImageLabelType::Pointer ImageLabelPointer
Definition itkMultiBSplineDeformableTransformWithNormal.h:232
itk::MultiBSplineDeformableTransformWithNormal::HasNonZeroJacobianOfSpatialHessian
virtual bool HasNonZeroJacobianOfSpatialHessian() const
Definition itkMultiBSplineDeformableTransformWithNormal.h:360
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ParameterIndexArrayType
Array< unsigned long > ParameterIndexArrayType
Definition itkMultiBSplineDeformableTransformWithNormal.h:260
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::JacobianOfSpatialJacobianType
std::vector< SpatialJacobianType > JacobianOfSpatialJacobianType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::m_InputParametersPointer
const ParametersType * m_InputParametersPointer
Definition itkMultiBSplineDeformableTransformWithNormal.h:471
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ImageBasePointer
typename ImageBaseType::Pointer ImageBasePointer
Definition itkMultiBSplineDeformableTransformWithNormal.h:243
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::m_LabelsNormals
ImageVectorPointer m_LabelsNormals
Definition itkMultiBSplineDeformableTransformWithNormal.h:498
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::m_Trans
std::vector< typename TransformType::Pointer > m_Trans
Definition itkMultiBSplineDeformableTransformWithNormal.h:499
itk::MultiBSplineDeformableTransformWithNormal::GetNumberOfAffectedWeights
virtual unsigned int GetNumberOfAffectedWeights() const
Definition itkMultiBSplineDeformableTransformWithNormal.h:324
itk::MultiBSplineDeformableTransformWithNormal::GetGridSpacing
virtual SpacingType GetGridSpacing() const
itk::MultiBSplineDeformableTransformWithNormal::SetLabels
void SetLabels(ImageLabelType *labels)
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ImageVectorType
Image< VectorType, Self::SpaceDimension > ImageVectorType
Definition itkMultiBSplineDeformableTransformWithNormal.h:240
itk::MultiBSplineDeformableTransformWithNormal::GetValidRegion
virtual const RegionType & GetValidRegion()
Definition itkMultiBSplineDeformableTransformWithNormal.h:305
itk::MultiBSplineDeformableTransformWithNormal::SetIdentity
void SetIdentity()
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::SpatialHessianType
FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
itk::MultiBSplineDeformableTransformWithNormal::GetFixedParameters
const ParametersType & GetFixedParameters() const override
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::NonZeroJacobianIndicesType
std::vector< unsigned long > NonZeroJacobianIndicesType
itk::MultiBSplineDeformableTransformWithNormal::TransformPoint
OutputPointType TransformPoint(const InputPointType &point) const override
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::SizeType
typename RegionType::SizeType SizeType
Definition itkMultiBSplineDeformableTransformWithNormal.h:196
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::IndexType
typename RegionType::IndexType IndexType
Definition itkMultiBSplineDeformableTransformWithNormal.h:195
itk::MultiBSplineDeformableTransformWithNormal::SetParametersByValue
void SetParametersByValue(const ParametersType &parameters) override
itk::MultiBSplineDeformableTransformWithNormal::GetParameters
const ParametersType & GetParameters() const override
itk::MultiBSplineDeformableTransformWithNormal::TransformVector
OutputVnlVectorType TransformVector(const InputVnlVectorType &) const override
Definition itkMultiBSplineDeformableTransformWithNormal.h:277
itk::MultiBSplineDeformableTransformWithNormal::MultiBSplineDeformableTransformWithNormal
MultiBSplineDeformableTransformWithNormal()
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ContinuousIndexType
ContinuousIndex< ScalarType, SpaceDimension > ContinuousIndexType
Definition itkMultiBSplineDeformableTransformWithNormal.h:367
itk::MultiBSplineDeformableTransformWithNormal::SetGridSpacing
virtual void SetGridSpacing(const SpacingType &spacing)
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::Self
MultiBSplineDeformableTransformWithNormal Self
Definition itkMultiBSplineDeformableTransformWithNormal.h:49
itk::MultiBSplineDeformableTransformWithNormal::GetJacobianOfSpatialJacobian
void GetJacobianOfSpatialJacobian(const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::Pointer
SmartPointer< Self > Pointer
Definition itkMultiBSplineDeformableTransformWithNormal.h:51
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ImageLabelType
Image< unsigned char, Self::SpaceDimension > ImageLabelType
Definition itkMultiBSplineDeformableTransformWithNormal.h:231
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ImagePointer
typename ImageType::Pointer ImagePointer
Definition itkMultiBSplineDeformableTransformWithNormal.h:171
itk::MultiBSplineDeformableTransformWithNormal::GetSpatialJacobian
void GetSpatialJacobian(const InputPointType &inputPoint, SpatialJacobianType &sj) const override
itk::MultiBSplineDeformableTransformWithNormal::~MultiBSplineDeformableTransformWithNormal
~MultiBSplineDeformableTransformWithNormal() override=default
itk::MultiBSplineDeformableTransformWithNormal::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const override
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::SpacingType
typename ImageBase< NDimensions >::SpacingType SpacingType
Definition itkMultiBSplineDeformableTransformWithNormal.h:197
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::DirectionType
typename ImageType::DirectionType DirectionType
Definition itkMultiBSplineDeformableTransformWithNormal.h:198
itk::MultiBSplineDeformableTransformWithNormal::TransformVector
OutputVectorType TransformVector(const InputVectorType &) const override
Definition itkMultiBSplineDeformableTransformWithNormal.h:266
itk::MultiBSplineDeformableTransformWithNormal::GetNumberOfParameters
NumberOfParametersType GetNumberOfParameters() const override
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::m_InternalParametersBuffer
ParametersType m_InternalParametersBuffer
Definition itkMultiBSplineDeformableTransformWithNormal.h:491
itk::MultiBSplineDeformableTransformWithNormal::GetHasNonZeroSpatialJacobian
virtual bool GetHasNonZeroSpatialJacobian() const
Definition itkMultiBSplineDeformableTransformWithNormal.h:339
itk::MultiBSplineDeformableTransformWithNormal::GetNumberOfParametersPerDimension
virtual NumberOfParametersType GetNumberOfParametersPerDimension() const
itk::MultiBSplineDeformableTransformWithNormal::GetGridDirection
virtual DirectionType GetGridDirection() const
itk::MultiBSplineDeformableTransformWithNormal::SetGridRegion
virtual void SetGridRegion(const RegionType &region)
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, Self::SpaceDimension, 1 >::ImageLabelInterpolatorPointer
typename ImageLabelInterpolator::Pointer ImageLabelInterpolatorPointer
Definition itkMultiBSplineDeformableTransformWithNormal.h:235
itk::MultiBSplineDeformableTransformWithNormal::IsLinear
bool IsLinear() const override
Definition itkMultiBSplineDeformableTransformWithNormal.h:317
itkAdvancedBSplineDeformableTransform.h
itk
Definition itkAdvancedImageToImageMetric.h:43

Generated on 1768596610 for elastix by 1.15.0 |