SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
bilateralfilterwrap.hpp
1// This file is part of slideio project.
2// It is subject to the license terms in the LICENSE file found in the top-level directory
3// of this distribution and at http://slideio.com/license.html.
4#pragma once
5#include "slideio/base/slideio_enums.hpp"
6#include "slideio/transformer/transformer_def.hpp"
7#include "slideio/transformer/transformationtype.hpp"
8#include "slideio/transformer/transformationwrapper.hpp"
9#include <memory>
10
11#if defined(_MSC_VER)
12#pragma warning( push )
13#pragma warning(disable: 4275 4251)
14#endif
15
16
17namespace slideio
18{
19
20 class BilateralFilter;
21 class SLIDEIO_TRANSFORMER_EXPORTS BilateralFilterWrap : public TransformationWrapper
22 {
23 public:
24 BilateralFilterWrap(const BilateralFilterWrap& other)
25 : TransformationWrapper(other),
26 m_filter(other.m_filter) {
27 }
28
29 BilateralFilterWrap(BilateralFilterWrap&& other) noexcept
30 : TransformationWrapper(std::move(other)),
31 m_filter(std::move(other.m_filter)) {
32 }
33
34 BilateralFilterWrap& operator=(const BilateralFilterWrap& other) {
35 if (this == &other)
36 return *this;
37 TransformationWrapper::operator =(other);
38 m_filter = other.m_filter;
39 return *this;
40 }
41
42 BilateralFilterWrap& operator=(BilateralFilterWrap&& other) noexcept {
43 if (this == &other)
44 return *this;
45 TransformationWrapper::operator =(std::move(other));
46 m_filter = std::move(other.m_filter);
47 return *this;
48 }
49
50 BilateralFilterWrap();
51 BilateralFilterWrap(const BilateralFilter& filter);
52 int getDiameter() const;
53 void setDiameter(int diameter);
54 double getSigmaColor() const;
55 void setSigmaColor(double sigmaColor);
56 double getSigmaSpace() const;
57 void setSigmaSpace(double sigmaSpace);
58 TransformationType getType() const override;
59 std::shared_ptr<BilateralFilter> getFilter() const;
60 private:
61 std::shared_ptr<BilateralFilter> m_filter;
62 };
63}
64
65#if defined(_MSC_VER)
66#pragma warning( pop )
67#endif
Definition: exceptions.hpp:15