SlideIO 2.0.0
Open-source library for reading of medical images
All Classes Namespaces Functions Enumerations Enumerator Friends Pages
tilecomposer.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#ifndef OPENCV_slideio_tilecomposer_HPP
5#define OPENCV_slideio_tilecomposer_HPP
6
7#include "slideio/core/slideio_core_def.hpp"
8#include <opencv2/core.hpp>
9
10namespace slideio
11{
12 class SLIDEIO_CORE_EXPORTS Tiler
13 {
14 public:
15 virtual ~Tiler() {}
16 virtual int getTileCount(void* userData) = 0;
17 virtual bool getTileRect(int tileIndex, cv::Rect& tileRect, void* userData) = 0;
18 virtual bool readTile(int tileIndex, const std::vector<int>& channelIndices, cv::OutputArray tileRaster, void* userData) = 0;
19 virtual void initializeBlock(const cv::Size& blockSize, const std::vector<int>& channelIndices, cv::OutputArray output) = 0;
20 };
21 class SLIDEIO_CORE_EXPORTS TileComposer
22 {
23 public:
24 static void composeRect(Tiler* tiler, const std::vector<int>& channelIndices,
25 const cv::Rect& blockRect, const cv::Size& blockSize, cv::OutputArray output, void* userData = nullptr);
26 };
27}
28
29#endif
Definition: exceptions.hpp:12