SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
vsislide.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_VSIslide_HPP
5#define OPENCV_slideio_VSIslide_HPP
6
7#include "etsfile.hpp"
8#include "slideio/core/cvscene.hpp"
9#include "slideio/core/cvslide.hpp"
10#include "slideio/drivers/vsi/vsiscene.hpp"
11#include "slideio/drivers/vsi/vsi_api_def.hpp"
12
13#if defined(_MSC_VER)
14#pragma warning( push )
15#pragma warning(disable: 4251)
16#endif
17
18namespace slideio
19{
20 namespace vsi
21 {
22 class VSIFile;
23 struct TempData;
24 class SLIDEIO_VSI_EXPORTS VSISlide : public slideio::CVSlide
25 {
26 friend class VSIImageDriver;
27 public:
28 VSISlide(const std::string& filePath);
29 public:
30 int getNumScenes() const override;
31 std::string getFilePath() const override;
32 std::shared_ptr<slideio::CVScene> getScene(int index) const override;
33 std::shared_ptr<CVScene> getAuxImage(const std::string& sceneName) const override;
34 const std::string& getRawMetadata() const override;
35 private:
36 void init();
37 private:
38 std::vector<std::shared_ptr<VSIScene>> m_Scenes;
39 std::map<std::string, std::shared_ptr<slideio::CVScene>> m_auxImages;
40 std::string m_filePath;
41 std::shared_ptr<vsi::VSIFile> m_vsiFile;
42 };
43 }
44
45}
46
47#if defined(_MSC_VER)
48#pragma warning( pop )
49#endif
50
51#endif
CVSlide is an base class for representation of medical slide.
Definition: cvslide.hpp:28
Definition: exceptions.hpp:15