SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
gdalslide.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/drivers/gdal/gdal_api_def.hpp"
7#include "slideio/core/cvslide.hpp"
8#include "slideio/core/cvscene.hpp"
9#include <opencv2/core.hpp>
10
11#if defined(_MSC_VER)
12#pragma warning( push )
13#pragma warning(disable: 4251)
14#endif
15
16namespace slideio
17{
18 class SmallImage;
19
20 class SLIDEIO_GDAL_EXPORTS GDALSlide : public slideio::CVSlide
21 {
22 friend class GDALImageDriver;
23 protected:
24 GDALSlide(const std::string& filePath, const std::string& driverId);
25 public:
26 virtual ~GDALSlide() = default;
27 int getNumScenes() const override;
28 std::string getFilePath() const override;
29 std::shared_ptr<CVScene> getScene(int index) const override;
30 MetadataFormat getMetadataFormat() const override;
31 const std::string& getRawMetadata() const override;
32 private:
33 std::vector<std::shared_ptr<CVScene>> m_scenes;
34 std::string m_filePath;
35 std::shared_ptr<SmallImage> m_image;
36 };
37
38}
39
40#if defined(_MSC_VER)
41#pragma warning( pop )
42#endif
CVSlide is an base class for representation of medical slide.
Definition: cvslide.hpp:29
Definition: exceptions.hpp:15