Loading...
Searching...
No Matches
elxRayCastInterpolator.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 elxRayCastInterpolator_h
#define elxRayCastInterpolator_h
#include "elxIncludes.h" // include first to avoid MSVS warning
#include "itkAdvancedRayCastInterpolateImageFunction.h"
#include "itkAdvancedCombinationTransform.h"
#include "itkAdvancedTransform.h"
#include "itkEulerTransform.h"
namespace elastix
{
template <class TElastix>
class ITK_TEMPLATE_EXPORT RayCastInterpolator
: public itk::AdvancedRayCastInterpolateImageFunction<typename InterpolatorBase<TElastix>::InputImageType,
typename InterpolatorBase<TElastix>::CoordRepType>
, public InterpolatorBase<TElastix>
{
public:
ITK_DISALLOW_COPY_AND_MOVE(RayCastInterpolator);
using Self = RayCastInterpolator;
using Superclass1 = itk::AdvancedRayCastInterpolateImageFunction<typename InterpolatorBase<TElastix>::InputImageType,
typename InterpolatorBase<TElastix>::CoordRepType>;
using Superclass2 = InterpolatorBase<TElastix>;
using Pointer = itk::SmartPointer<Self>;
using ConstPointer = itk::SmartPointer<const Self>;
itkNewMacro(Self);
itkTypeMacro(RayCastInterpolator, AdvancedRayCastInterpolateImageFunction);
elxClassNameMacro("RayCastInterpolator");
itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension);
using typename Superclass1::OutputType;
using typename Superclass1::InputImageType;
using typename Superclass1::IndexType;
using typename Superclass1::ContinuousIndexType;
using typename Superclass1::PointType;
using typename Superclass1::SizeType;
using SpacingType = typename InputImageType::SpacingType;
using typename Superclass2::ElastixType;
using typename Superclass2::RegistrationType;
using ITKBaseType = typename Superclass2::ITKBaseType;
using EulerTransformType =
typename itk::EulerTransform<typename InterpolatorBase<TElastix>::CoordRepType, ImageDimension>;
using TransformParametersType = typename EulerTransformType::ParametersType;
using EulerTransformPointer = typename EulerTransformType::Pointer;
using AdvancedTransformType = typename itk::
AdvancedTransform<typename InterpolatorBase<TElastix>::CoordRepType, Self::ImageDimension, Self::ImageDimension>;
using AdvancedTransformPointer = typename AdvancedTransformType::Pointer;
using CombinationTransformType =
typename itk::AdvancedCombinationTransform<typename InterpolatorBase<TElastix>::CoordRepType, Self::ImageDimension>;
using CombinationTransformPointer = typename CombinationTransformType::Pointer;
protected:
RayCastInterpolator() = default;
~RayCastInterpolator() override = default;
int
BeforeAll() override;
void
BeforeRegistration() override;
void
BeforeEachResolution() override;
private:
elxOverrideGetSelfMacro;
EulerTransformPointer m_PreTransform;
TransformParametersType m_PreParameters;
CombinationTransformPointer m_CombinationTransform;
};
} // end namespace elastix
#ifndef ITK_MANUAL_INSTANTIATION
# include "elxRayCastInterpolator.hxx"
#endif
#endif // end #ifndef elxRayCastInterpolator_h
elastix::InterpolatorBase::ITKBaseType
itk::InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
Definition elxInterpolatorBase.h:65
elastix::InterpolatorBase::RegistrationType
typename ElastixType::RegistrationBaseType RegistrationType
Definition elxBaseComponentSE.h:62
elastix::InterpolatorBase::ElastixType
TElastix ElastixType
Definition elxBaseComponentSE.h:57
elastix::InterpolatorBase::CoordRepType
ElastixBase::CoordRepType CoordRepType
Definition elxInterpolatorBase.h:62
elastix::InterpolatorBase::InterpolatorBase
InterpolatorBase()=default
elastix::RayCastInterpolator::BeforeEachResolution
void BeforeEachResolution() override
elastix::RayCastInterpolator::m_PreParameters
TransformParametersType m_PreParameters
Definition elxRayCastInterpolator.h:121
elastix::RayCastInterpolator::Superclass2
InterpolatorBase< TElastix > Superclass2
Definition elxRayCastInterpolator.h:56
elastix::RayCastInterpolator::m_PreTransform
EulerTransformPointer m_PreTransform
Definition elxRayCastInterpolator.h:120
elastix::RayCastInterpolator::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(RayCastInterpolator)
elastix::RayCastInterpolator::~RayCastInterpolator
~RayCastInterpolator() override=default
elastix::RayCastInterpolator::elxOverrideGetSelfMacro
elxOverrideGetSelfMacro
Definition elxRayCastInterpolator.h:118
elastix::RayCastInterpolator::Superclass1
itk::AdvancedRayCastInterpolateImageFunction< typename InterpolatorBase< TElastix >::InputImageType, typename InterpolatorBase< TElastix >::CoordRepType > Superclass1
Definition elxRayCastInterpolator.h:54
elastix::RayCastInterpolator::Self
RayCastInterpolator Self
Definition elxRayCastInterpolator.h:53
elastix::RayCastInterpolator::m_CombinationTransform
CombinationTransformPointer m_CombinationTransform
Definition elxRayCastInterpolator.h:122
elastix::RayCastInterpolator::CombinationTransformType
typename itk::AdvancedCombinationTransform< typename InterpolatorBase< TElastix >::CoordRepType, Self::ImageDimension > CombinationTransformType
Definition elxRayCastInterpolator.h:97
elastix::RayCastInterpolator::ITKBaseType
typename Superclass2::ITKBaseType ITKBaseType
Definition elxRayCastInterpolator.h:87
elastix::RayCastInterpolator::BeforeAll
int BeforeAll() override
elastix::RayCastInterpolator::AdvancedTransformPointer
typename AdvancedTransformType::Pointer AdvancedTransformPointer
Definition elxRayCastInterpolator.h:96
elastix::RayCastInterpolator::SpacingType
typename InputImageType::SpacingType SpacingType
Definition elxRayCastInterpolator.h:82
elastix::RayCastInterpolator::Pointer
itk::SmartPointer< Self > Pointer
Definition elxRayCastInterpolator.h:57
elastix::RayCastInterpolator::EulerTransformPointer
typename EulerTransformType::Pointer EulerTransformPointer
Definition elxRayCastInterpolator.h:93
elastix::RayCastInterpolator::TransformParametersType
typename EulerTransformType::ParametersType TransformParametersType
Definition elxRayCastInterpolator.h:92
elastix::RayCastInterpolator::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition elxRayCastInterpolator.h:58
elastix::RayCastInterpolator::itkStaticConstMacro
itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension)
elastix::RayCastInterpolator::BeforeRegistration
void BeforeRegistration() override
elastix::RayCastInterpolator::AdvancedTransformType
typename itk:: AdvancedTransform< typename InterpolatorBase< TElastix >::CoordRepType, Self::ImageDimension, Self::ImageDimension > AdvancedTransformType
Definition elxRayCastInterpolator.h:94
elastix::RayCastInterpolator::RayCastInterpolator
RayCastInterpolator()=default
elastix::RayCastInterpolator::elxClassNameMacro
elxClassNameMacro("RayCastInterpolator")
elastix::RayCastInterpolator::CombinationTransformPointer
typename CombinationTransformType::Pointer CombinationTransformPointer
Definition elxRayCastInterpolator.h:99
elastix::RayCastInterpolator::EulerTransformType
typename itk::EulerTransform< typename InterpolatorBase< TElastix >::CoordRepType, ImageDimension > EulerTransformType
Definition elxRayCastInterpolator.h:90
itk::AdvancedCombinationTransform
This class combines two transforms: an 'initial transform' with a 'current transform'.
Definition itkAdvancedCombinationTransform.h:57
itk::AdvancedRayCastInterpolateImageFunction
Projective interpolation of an image at specified positions.
Definition itkAdvancedRayCastInterpolateImageFunction.h:58
itk::AdvancedRayCastInterpolateImageFunction::AdvancedRayCastInterpolateImageFunction
AdvancedRayCastInterpolateImageFunction()=default
Constructor.
itk::EulerTransform
This class combines the Euler2DTransform with the Euler3DTransform.
Definition itkEulerTransform.h:89
elxIncludes.h
itkAdvancedCombinationTransform.h
itkAdvancedRayCastInterpolateImageFunction.h
itkAdvancedTransform.h
itkEulerTransform.h
elastix
Definition elxDefaultConstruct.h:25

Generated on 1768596610 for elastix by 1.15.0 |