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