SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
laplacianfilterwrap.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/transformer/transformer_def.hpp"
6#include "slideio/transformer/transformationwrapper.hpp"
7#include "slideio/transformer/transformation.hpp"
8#include <memory>
9
10#if defined(_MSC_VER)
11#pragma warning( push )
12#pragma warning(disable: 4275 4251)
13#endif
14
15
16namespace slideio
17{
18 class LaplacianFilter;
19 enum class DataType;
20 enum class TransformationType;
21
22 class SLIDEIO_TRANSFORMER_EXPORTS LaplacianFilterWrap : public TransformationWrapper
23 {
24 public:
25 LaplacianFilterWrap();
26
27 LaplacianFilterWrap(const LaplacianFilterWrap& other)
28 : TransformationWrapper(other),
29 m_filter(other.m_filter) {
30 }
31
32 LaplacianFilterWrap(LaplacianFilterWrap&& other) noexcept
33 : TransformationWrapper(std::move(other)),
34 m_filter(std::move(other.m_filter)) {
35 }
36
37 LaplacianFilterWrap& operator=(const LaplacianFilterWrap& other) {
38 if (this == &other)
39 return *this;
40 TransformationWrapper::operator =(other);
41 m_filter = other.m_filter;
42 return *this;
43 }
44
45 LaplacianFilterWrap& operator=(LaplacianFilterWrap&& other) noexcept {
46 if (this == &other)
47 return *this;
48 TransformationWrapper::operator =(std::move(other));
49 m_filter = std::move(other.m_filter);
50 return *this;
51 }
52
53 LaplacianFilterWrap(const LaplacianFilter& filter);
54 DataType getDepth() const;
55 void setDepth(const DataType& depth);
56 int getKernelSize() const;
57 void setKernelSize(int kernelSize);
58 double getScale() const;
59 void setScale(double scale);
60 double getDelta() const;
61 void setDelta(double delta);
62 TransformationType getType() const override;
63 std::shared_ptr<Transformation> getFilter() const;;
64 private:
65 std::shared_ptr<LaplacianFilter> m_filter;
66 };
67}
68
69#if defined(_MSC_VER)
70#pragma warning( pop )
71#endif
Definition: exceptions.hpp:15