Loading...
Searching...
No Matches
itkTransformPenaltyTerm.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 itkTransformPenaltyTerm_h
#define itkTransformPenaltyTerm_h
#include "itkAdvancedImageToImageMetric.h"
// Needed for checking for B-spline for faster implementation
#include "itkAdvancedBSplineDeformableTransform.h"
#include "itkAdvancedCombinationTransform.h"
namespace itk
{
template <class TFixedImage, class TScalarType = double>
class ITK_TEMPLATE_EXPORT TransformPenaltyTerm : public AdvancedImageToImageMetric<TFixedImage, TFixedImage>
{
public:
ITK_DISALLOW_COPY_AND_MOVE(TransformPenaltyTerm);
using Self = TransformPenaltyTerm;
using Superclass = AdvancedImageToImageMetric<TFixedImage, TFixedImage>;
using Pointer = SmartPointer<Self>;
using ConstPointer = SmartPointer<const Self>;
itkTypeMacro(TransformPenaltyTerm, AdvancedImageToImageMetric);
using typename Superclass::CoordinateRepresentationType;
using typename Superclass::MovingImageType;
using typename Superclass::MovingImagePixelType;
using typename Superclass::MovingImagePointer;
using typename Superclass::MovingImageConstPointer;
using typename Superclass::FixedImageType;
using typename Superclass::FixedImagePointer;
using typename Superclass::FixedImageConstPointer;
using typename Superclass::FixedImageRegionType;
// these not: use advanced transform below
// using typename Superclass::TransformType;
// using typename Superclass::TransformPointer;
using typename Superclass::InputPointType;
using typename Superclass::OutputPointType;
using typename Superclass::TransformParametersType;
using typename Superclass::TransformJacobianType;
using typename Superclass::InterpolatorType;
using typename Superclass::InterpolatorPointer;
using typename Superclass::RealType;
using typename Superclass::GradientPixelType;
using typename Superclass::GradientImageType;
using typename Superclass::GradientImagePointer;
using typename Superclass::FixedImageMaskType;
using typename Superclass::FixedImageMaskPointer;
using typename Superclass::MovingImageMaskType;
using typename Superclass::MovingImageMaskPointer;
using typename Superclass::MeasureType;
using typename Superclass::DerivativeType;
using typename Superclass::DerivativeValueType;
using typename Superclass::ParametersType;
using typename Superclass::FixedImagePixelType;
using typename Superclass::ImageSampleContainerType;
using typename Superclass::ImageSampleContainerPointer;
using typename Superclass::ThreadInfoType;
using typename Superclass::CombinationTransformType;
using typename Superclass::BSplineOrder1TransformType;
using typename Superclass::BSplineOrder1TransformPointer;
using typename Superclass::BSplineOrder2TransformType;
using typename Superclass::BSplineOrder2TransformPointer;
using typename Superclass::BSplineOrder3TransformType;
using typename Superclass::BSplineOrder3TransformPointer;
using ScalarType = TScalarType; // \todo: not really meaningful name.
using TransformType = typename Superclass::AdvancedTransformType;
using SpatialJacobianType = typename TransformType::SpatialJacobianType;
using JacobianOfSpatialJacobianType = typename TransformType::JacobianOfSpatialJacobianType;
using SpatialHessianType = typename TransformType::SpatialHessianType;
using JacobianOfSpatialHessianType = typename TransformType::JacobianOfSpatialHessianType;
using InternalMatrixType = typename TransformType::InternalMatrixType;
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension);
protected:
using typename Superclass::FixedImageIndexType;
using typename Superclass::FixedImageIndexValueType;
using typename Superclass::MovingImageIndexType;
using typename Superclass::FixedImagePointType;
using typename Superclass::MovingImagePointType;
using typename Superclass::MovingImageContinuousIndexType;
using typename Superclass::NonZeroJacobianIndicesType;
TransformPenaltyTerm() = default;
~TransformPenaltyTerm() override = default;
virtual bool
CheckForBSplineTransform2(BSplineOrder3TransformPointer & bspline) const;
};
} // end namespace itk
#ifndef ITK_MANUAL_INSTANTIATION
# include "itkTransformPenaltyTerm.hxx"
#endif
#endif // #ifndef itkTransformPenaltyTerm_h
TScalarType
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::BSplineOrder1TransformPointer
typename BSplineOrder1TransformType::Pointer BSplineOrder1TransformPointer
Definition itkAdvancedImageToImageMetric.h:165
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::MovingImagePointType
typename TransformType::OutputPointType MovingImagePointType
Definition itkAdvancedImageToImageMetric.h:338
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::ImageSampleContainerPointer
typename ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
Definition itkAdvancedImageToImageMetric.h:145
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::NonZeroJacobianIndicesType
typename AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition itkAdvancedImageToImageMetric.h:356
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::FixedImagePixelType
typename FixedImageType::PixelType FixedImagePixelType
Definition itkAdvancedImageToImageMetric.h:137
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::DerivativeValueType
typename DerivativeType::ValueType DerivativeValueType
Definition itkAdvancedImageToImageMetric.h:133
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::BSplineOrder3TransformType
AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 > BSplineOrder3TransformType
Definition itkAdvancedImageToImageMetric.h:164
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::FixedImageIndexValueType
typename FixedImageIndexType::IndexValueType FixedImageIndexValueType
Definition itkAdvancedImageToImageMetric.h:335
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::MovingImageIndexType
typename MovingImageType::IndexType MovingImageIndexType
Definition itkAdvancedImageToImageMetric.h:336
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::ImageSampleContainerType
typename ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
Definition itkAdvancedImageToImageMetric.h:144
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::MovingImagePointer
typename MovingImageType::Pointer MovingImagePointer
Definition itkAdvancedImageToImageMetric.h:104
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::FixedImageMaskType
ImageMaskSpatialObject< Self::FixedImageDimension > FixedImageMaskType
Definition itkAdvancedImageToImageMetric.h:124
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::BSplineOrder3TransformPointer
typename BSplineOrder3TransformType::Pointer BSplineOrder3TransformPointer
Definition itkAdvancedImageToImageMetric.h:167
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::FixedImagePointer
typename FixedImageType::Pointer FixedImagePointer
Definition itkAdvancedImageToImageMetric.h:107
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::BSplineOrder2TransformPointer
typename BSplineOrder2TransformType::Pointer BSplineOrder2TransformPointer
Definition itkAdvancedImageToImageMetric.h:166
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::AdvancedTransformType
AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > AdvancedTransformType
Definition itkAdvancedImageToImageMetric.h:157
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::FixedImageIndexType
typename FixedImageType::IndexType FixedImageIndexType
Definition itkAdvancedImageToImageMetric.h:334
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::MovingImageMaskPointer
SmartPointer< MovingImageMaskType > MovingImageMaskPointer
Definition itkAdvancedImageToImageMetric.h:128
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::BSplineOrder1TransformType
AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 > BSplineOrder1TransformType
Definition itkAdvancedImageToImageMetric.h:162
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::AdvancedImageToImageMetric
AdvancedImageToImageMetric()
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::ThreadInfoType
MultiThreaderBase::WorkUnitInfo ThreadInfoType
Definition itkAdvancedImageToImageMetric.h:170
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::FixedImagePointType
typename TransformType::InputPointType FixedImagePointType
Definition itkAdvancedImageToImageMetric.h:337
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::FixedImageMaskPointer
SmartPointer< FixedImageMaskType > FixedImageMaskPointer
Definition itkAdvancedImageToImageMetric.h:125
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::MovingImageContinuousIndexType
typename InterpolatorType::ContinuousIndexType MovingImageContinuousIndexType
Definition itkAdvancedImageToImageMetric.h:339
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::CombinationTransformType
AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
Definition itkAdvancedImageToImageMetric.h:161
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::BSplineOrder2TransformType
AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 > BSplineOrder2TransformType
Definition itkAdvancedImageToImageMetric.h:163
itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >::MovingImageMaskType
ImageMaskSpatialObject< Self::MovingImageDimension > MovingImageMaskType
Definition itkAdvancedImageToImageMetric.h:127
itk::TransformPenaltyTerm::ScalarType
TScalarType ScalarType
Definition itkTransformPenaltyTerm.h:105
itk::TransformPenaltyTerm::~TransformPenaltyTerm
~TransformPenaltyTerm() override=default
itk::TransformPenaltyTerm::JacobianOfSpatialJacobianType
typename TransformType::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Definition itkTransformPenaltyTerm.h:110
itk::TransformPenaltyTerm::TransformType
typename Superclass::AdvancedTransformType TransformType
Definition itkTransformPenaltyTerm.h:108
itk::TransformPenaltyTerm::Self
TransformPenaltyTerm Self
Definition itkTransformPenaltyTerm.h:51
itk::TransformPenaltyTerm::SpatialHessianType
typename TransformType::SpatialHessianType SpatialHessianType
Definition itkTransformPenaltyTerm.h:111
itk::TransformPenaltyTerm::Superclass
AdvancedImageToImageMetric< TFixedImage, TFixedImage > Superclass
Definition itkTransformPenaltyTerm.h:52
itk::TransformPenaltyTerm::ConstPointer
SmartPointer< const Self > ConstPointer
Definition itkTransformPenaltyTerm.h:54
itk::TransformPenaltyTerm::CheckForBSplineTransform2
virtual bool CheckForBSplineTransform2(BSplineOrder3TransformPointer &bspline) const
itk::TransformPenaltyTerm::SpatialJacobianType
typename TransformType::SpatialJacobianType SpatialJacobianType
Definition itkTransformPenaltyTerm.h:109
itk::TransformPenaltyTerm::Pointer
SmartPointer< Self > Pointer
Definition itkTransformPenaltyTerm.h:53
itk::TransformPenaltyTerm::itkStaticConstMacro
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
itk::TransformPenaltyTerm::InternalMatrixType
typename TransformType::InternalMatrixType InternalMatrixType
Definition itkTransformPenaltyTerm.h:113
itk::TransformPenaltyTerm::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(TransformPenaltyTerm)
itk::TransformPenaltyTerm::JacobianOfSpatialHessianType
typename TransformType::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Definition itkTransformPenaltyTerm.h:112
itk::TransformPenaltyTerm::TransformPenaltyTerm
TransformPenaltyTerm()=default
itkAdvancedBSplineDeformableTransform.h
itkAdvancedCombinationTransform.h
itkAdvancedImageToImageMetric.h
itk
Definition itkAdvancedImageToImageMetric.h:43

Generated on 1768596610 for elastix by 1.15.0 |