5#include "slideio/transformer/transformationex.hpp"
6#include "slideio/transformer/transformationtype.hpp"
11 class SLIDEIO_TRANSFORMER_EXPORTS BilateralFilter :
public TransformationEx
14 BilateralFilter(
const BilateralFilter& other)
15 : TransformationEx(other),
16 m_diameter(other.m_diameter),
17 m_sigmaColor(other.m_sigmaColor),
18 m_sigmaSpace(other.m_sigmaSpace) {
21 BilateralFilter(BilateralFilter&& other) noexcept
22 : TransformationEx(std::move(other)),
23 m_diameter(other.m_diameter),
24 m_sigmaColor(other.m_sigmaColor),
25 m_sigmaSpace(other.m_sigmaSpace) {
28 BilateralFilter& operator=(
const BilateralFilter& other) {
31 TransformationEx::operator =(other);
32 m_diameter = other.m_diameter;
33 m_sigmaColor = other.m_sigmaColor;
34 m_sigmaSpace = other.m_sigmaSpace;
38 BilateralFilter& operator=(BilateralFilter&& other)
noexcept {
41 TransformationEx::operator =(std::move(other));
42 m_diameter = other.m_diameter;
43 m_sigmaColor = other.m_sigmaColor;
44 m_sigmaSpace = other.m_sigmaSpace;
50 m_type = TransformationType::BilateralFilter;
53 int getDiameter()
const
58 void setDiameter(
int diameter)
60 m_diameter = diameter;
63 double getSigmaColor()
const
68 void setSigmaColor(
double sigmaColor)
70 m_sigmaColor = sigmaColor;
73 double getSigmaSpace()
const
78 void setSigmaSpace(
double sigmaSpace)
80 m_sigmaSpace = sigmaSpace;
83 void applyTransformation(
const cv::Mat& block, cv::OutputArray transformedBlock)
const override;
84 std::vector<DataType> computeChannelDataTypes(
const std::vector<DataType>& channels)
const override;
85 int getInflationValue()
const override;
89 double m_sigmaColor = 1.;
90 double m_sigmaSpace = 1.;
Definition: exceptions.hpp:15