6#include <opencv2/core.hpp>
8#include "slideio/transformer/transformer_def.hpp"
9#include "slideio/transformer/transformation.hpp"
15 enum class TransformationType;
16 class SLIDEIO_TRANSFORMER_EXPORTS TransformationEx :
public Transformation
19 TransformationEx(
const TransformationEx& other)
20 : Transformation(other),
21 m_type(other.m_type) {
24 TransformationEx(TransformationEx&& other) noexcept
25 : Transformation(std::move(other)),
26 m_type(other.m_type) {
29 TransformationEx& operator=(
const TransformationEx& other) {
32 Transformation::operator =(other);
33 m_type = other.m_type;
37 TransformationEx& operator=(TransformationEx&& other)
noexcept {
40 Transformation::operator =(std::move(other));
41 m_type = other.m_type;
46 virtual ~TransformationEx() =
default;
47 TransformationType getType()
const override {
50 virtual std::vector<DataType> computeChannelDataTypes(
const std::vector<DataType>& channels)
const;
51 virtual int getInflationValue()
const;
52 virtual void applyTransformation(
const cv::Mat& block, cv::OutputArray transformedBlock)
const = 0;
54 TransformationType m_type;
Definition: exceptions.hpp:15