Loading...
Searching...
No Matches
itkLimiterFunctionBase.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 itkLimiterFunctionBase_h
#define itkLimiterFunctionBase_h
#include "itkFunctionBase.h"
#include "itkMacro.h"
namespace itk
{
template <class TInput, unsigned int NDimension>
class ITK_TEMPLATE_EXPORT LimiterFunctionBase : public FunctionBase<TInput, typename NumericTraits<TInput>::RealType>
{
public:
ITK_DISALLOW_COPY_AND_MOVE(LimiterFunctionBase);
using Self = LimiterFunctionBase;
using Superclass = FunctionBase<TInput, typename NumericTraits<TInput>::RealType>;
using Pointer = SmartPointer<Self>;
using ConstPointer = SmartPointer<const Self>;
itkTypeMacro(LimiterFunctionBase, FunctionBase);
itkStaticConstMacro(Dimension, unsigned int, NDimension);
using typename Superclass::InputType;
using typename Superclass::OutputType;
using DerivativeValueType = OutputType;
using DerivativeType = CovariantVector<DerivativeValueType, Self::Dimension>;
OutputType
Evaluate(const InputType & input) const override = 0;
virtual OutputType
Evaluate(const InputType & input, DerivativeType & derivative) const = 0;
itkSetMacro(UpperBound, OutputType);
itkGetConstMacro(UpperBound, OutputType);
itkSetMacro(LowerBound, OutputType);
itkGetConstMacro(LowerBound, OutputType);
itkSetMacro(UpperThreshold, InputType);
itkGetConstMacro(UpperThreshold, InputType);
itkSetMacro(LowerThreshold, InputType);
itkGetConstMacro(LowerThreshold, InputType);
virtual void
Initialize()
{}
protected:
LimiterFunctionBase()
{
this->m_UpperBound = itk::NumericTraits<OutputType>::One + itk::NumericTraits<OutputType>::One;
this->m_LowerBound = OutputType{};
this->m_UpperThreshold = itk::NumericTraits<InputType>::One;
this->m_LowerThreshold = itk::NumericTraits<InputType>::One;
}
~LimiterFunctionBase() override = default;
OutputType m_UpperBound{};
OutputType m_LowerBound{};
InputType m_UpperThreshold{};
InputType m_LowerThreshold{};
};
} // end namespace itk
#endif
itk::LimiterFunctionBase< RealType, FixedImageDimension >::DerivativeType
CovariantVector< DerivativeValueType, Self::Dimension > DerivativeType
Definition itkLimiterFunctionBase.h:71
itk::LimiterFunctionBase< RealType, FixedImageDimension >::m_LowerBound
OutputType m_LowerBound
Definition itkLimiterFunctionBase.h:119
itk::LimiterFunctionBase::LimiterFunctionBase
LimiterFunctionBase()
Definition itkLimiterFunctionBase.h:107
itk::LimiterFunctionBase::~LimiterFunctionBase
~LimiterFunctionBase() override=default
itk::LimiterFunctionBase::Evaluate
virtual OutputType Evaluate(const InputType &input, DerivativeType &derivative) const =0
itk::LimiterFunctionBase::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(LimiterFunctionBase)
itk::LimiterFunctionBase< RealType, FixedImageDimension >::m_UpperThreshold
InputType m_UpperThreshold
Definition itkLimiterFunctionBase.h:120
itk::LimiterFunctionBase::Evaluate
OutputType Evaluate(const InputType &input) const override=0
itk::LimiterFunctionBase::Initialize
virtual void Initialize()
Definition itkLimiterFunctionBase.h:103
itk::LimiterFunctionBase< RealType, FixedImageDimension >::Pointer
SmartPointer< Self > Pointer
Definition itkLimiterFunctionBase.h:58
itk::LimiterFunctionBase< RealType, FixedImageDimension >::Superclass
FunctionBase< RealType, typename NumericTraits< RealType >::RealType > Superclass
Definition itkLimiterFunctionBase.h:57
itk::LimiterFunctionBase< RealType, FixedImageDimension >::DerivativeValueType
OutputType DerivativeValueType
Definition itkLimiterFunctionBase.h:70
itk::LimiterFunctionBase< RealType, FixedImageDimension >::m_LowerThreshold
InputType m_LowerThreshold
Definition itkLimiterFunctionBase.h:121
itk::LimiterFunctionBase< RealType, FixedImageDimension >::Self
LimiterFunctionBase Self
Definition itkLimiterFunctionBase.h:56
itk::LimiterFunctionBase< RealType, FixedImageDimension >::ConstPointer
SmartPointer< const Self > ConstPointer
Definition itkLimiterFunctionBase.h:59
itk::LimiterFunctionBase::itkStaticConstMacro
itkStaticConstMacro(Dimension, unsigned int, NDimension)
itk::LimiterFunctionBase< RealType, FixedImageDimension >::m_UpperBound
OutputType m_UpperBound
Definition itkLimiterFunctionBase.h:118
itk
Definition itkAdvancedImageToImageMetric.h:43

Generated on 1768596610 for elastix by 1.15.0 |