SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
vsifilescene.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 "vsifile.hpp"
6#include "vsiscene.hpp"
7#include "slideio/drivers/vsi/vsi_api_def.hpp"
8#include "slideio/imagetools/tiffkeeper.hpp"
9
10
11#if defined(_MSC_VER)
12#pragma warning( push )
13#pragma warning(disable: 4251)
14#endif
15
16namespace slideio
17{
18 namespace vsi
19 {
20 class SLIDEIO_VSI_EXPORTS VsiFileScene : public VSIScene
21 {
22 public:
23 VsiFileScene(const std::string& filePath, std::shared_ptr<VSIFile>& vsiFile, int directoryIndex);
24 public:
25 void readResampledBlockChannels(const cv::Rect& blockRect, const cv::Size& blockSize,
26 const std::vector<int>& channelIndices, cv::OutputArray output) override;
27 int getTileCount(void* userData) override;
28 bool getTileRect(int tileIndex, cv::Rect& tileRect, void* userData) override;
29 bool readTile(int tileIndex, const std::vector<int>& channelIndices, cv::OutputArray tileRaster,
30 void* userData) override;
31 protected:
32 void init();
33 protected:
34 int m_directoryIndex;
35 TIFFKeeper m_tiff;
36 };
37 }
38
39}
40
41#if defined(_MSC_VER)
42#pragma warning( pop )
43#endif
Definition: exceptions.hpp:12