SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
gaussianblurfilterwrap.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
6#include "slideio/transformer/transformer_def.hpp"
7#include "slideio/transformer/transformationwrapper.hpp"
8#include <memory>
9
10#if defined(_MSC_VER)
11#pragma warning( push )
12#pragma warning(disable: 4275 4251)
13#endif
14
15namespace slideio
16{
17 class GaussianBlurFilter;
18 enum class TransformationType;
19 class SLIDEIO_TRANSFORMER_EXPORTS GaussianBlurFilterWrap : public TransformationWrapper
20 {
21 public:
22 GaussianBlurFilterWrap(const GaussianBlurFilterWrap& other)
23 : TransformationWrapper(other),
24 m_filter(other.m_filter) {
25 }
26
27 GaussianBlurFilterWrap(GaussianBlurFilterWrap&& other) noexcept
28 : TransformationWrapper(std::move(other)),
29 m_filter(std::move(other.m_filter)) {
30 }
31
32 GaussianBlurFilterWrap& operator=(const GaussianBlurFilterWrap& other) {
33 if (this == &other)
34 return *this;
35 TransformationWrapper::operator =(other);
36 m_filter = other.m_filter;
37 return *this;
38 }
39
40 GaussianBlurFilterWrap& operator=(GaussianBlurFilterWrap&& other) noexcept {
41 if (this == &other)
42 return *this;
43 TransformationWrapper::operator =(std::move(other));
44 m_filter = std::move(other.m_filter);
45 return *this;
46 }
47
48 GaussianBlurFilterWrap();
49 GaussianBlurFilterWrap(const GaussianBlurFilter& filter);
50 int getKernelSizeX() const;
51 void setKernelSizeX(int kernelSizeX);
52 int getKernelSizeY() const;
53 void setKernelSizeY(int kernelSizeY);
54 double getSigmaX() const;
55 void setSigmaX(double sigmaX);
56 double getSigmaY() const;
57 void setSigmaY(double sigmaY);
58 TransformationType getType() const override;
59 std::shared_ptr<GaussianBlurFilter> getFilter() const;
60
61 private:
62 std::shared_ptr<GaussianBlurFilter> m_filter;
63 };
64}
65
66#if defined(_MSC_VER)
67#pragma warning( pop )
68#endif
Definition: exceptions.hpp:15