18#ifndef itkStructuralSimilarityImageFilter_h
19#define itkStructuralSimilarityImageFilter_h
111template <
typename TInputImage,
typename TOutputImage = Image<
float, TInputImage::ImageDimension>>
136 using SizeType =
typename InputImageType::SizeType;
154 const InputImageType *
172 itkSetMacro(GaussianSigma,
double);
173 itkGetConstMacro(GaussianSigma,
double);
179 itkSetMacro(MaximumKernelWidth,
unsigned int);
180 itkGetConstMacro(MaximumKernelWidth,
unsigned int);
185 itkSetMacro(K1,
double);
186 itkGetConstMacro(K1,
double);
191 itkSetMacro(K2,
double);
192 itkGetConstMacro(K2,
double);
200 itkSetMacro(DynamicRange,
double);
201 itkGetConstMacro(DynamicRange,
double);
206 itkSetMacro(LuminanceExponent,
double);
207 itkGetConstMacro(LuminanceExponent,
double);
212 itkSetMacro(ContrastExponent,
double);
213 itkGetConstMacro(ContrastExponent,
double);
218 itkSetMacro(StructureExponent,
double);
219 itkGetConstMacro(StructureExponent,
double);
234 itkGetConstMacro(MeanSSIM,
double);
267 static constexpr double
270 if constexpr (std::is_floating_point_v<InputPixelType>)
291#ifndef ITK_MANUAL_INSTANTIATION
292# include "itkStructuralSimilarityImageFilter.hxx"
Array class with size defined at construction time.
Base class for all data objects in ITK.
virtual void SetInput(const InputImageType *input)
const InputImageType * GetInput() const
Control indentation during Print() invocation.
static constexpr T max(const T &)
static constexpr T min(const T &)
Implements transparent reference counting.
static constexpr double DefaultDynamicRange()
void GenerateData() override
void EnlargeOutputRequestedRegion(DataObject *data) override
ScaleWeightsType m_ScaleWeights
const InputImageType * GetInput1() const
~StructuralSimilarityImageFilter() override=default
TInputImage InputImageType
typename InputImageType::SizeType SizeType
SmartPointer< const Self > ConstPointer
void SetInput1(const InputImageType *image)
SmartPointer< Self > Pointer
typename InputImageType::RegionType InputImageRegionType
typename OutputImageType::RegionType OutputImageRegionType
double m_StructureExponent
ImageToImageFilter< TInputImage, TOutputImage > Superclass
void VerifyPreconditions() const override
StructuralSimilarityImageFilter Self
typename InputImageType::IndexType IndexType
void SetInput2(const InputImageType *image)
double m_LuminanceExponent
Array< RealType > ScaleWeightsType
unsigned int m_MaximumKernelWidth
void SetScaleWeights(const ScaleWeightsType &weights)
double m_ContrastExponent
TOutputImage OutputImageType
void PrintSelf(std::ostream &os, Indent indent) const override
static constexpr unsigned int ImageDimension
typename NumericTraits< InputPixelType >::RealType RealType
const InputImageType * GetInput2() const
typename InputImageType::PixelType InputPixelType
StructuralSimilarityImageFilter()
typename OutputImageType::PixelType OutputPixelType
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....