SlideIO 2.9.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
slide.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/slideio/slideio_def.hpp"
7#include "slideio/core/metadata.hpp"
8#include <string>
9#include <memory>
10#include <list>
11#include "scene.hpp"
12
13#if defined(_MSC_VER)
14#pragma warning( push )
15#pragma warning(disable: 4251)
16#endif
17
18
19namespace slideio
20{
21 class CVSlide;
29 class SLIDEIO_EXPORTS Slide
30 {
31 friend SLIDEIO_EXPORTS std::shared_ptr<Slide> openSlide(const std::string& path, const std::string& driver);
32 private:
35 Slide(std::shared_ptr<CVSlide> slide);
36 public:
37 virtual ~Slide();
39 int getNumScenes() const;
41 std::string getFilePath() const;
43 std::shared_ptr<Scene> getScene(int index) const;
45 std::shared_ptr<Scene> getSceneByName(const std::string& name) const;
50 const std::string& getRawMetadata() const;
52 MetadataFormat getMetadataFormat() const;
54 const Metadata& getMetadata() const;
58 const std::list<std::string>& getAuxImageNames() const;
60 virtual int getNumAuxImages() const;
65 virtual std::shared_ptr<Scene> getAuxImage(const std::string& sceneName) const;
71 std::string toString() const;
72 void setDriverId(const std::string& driverId);
74 const std::string& getDriverId() const;
75 private:
76 std::shared_ptr<CVSlide> m_slide;
77 };
78}
79
80#define SlidePtr std::shared_ptr<slideio::Slide>
81
82#if defined(_MSC_VER)
83#pragma warning( pop )
84#endif
Read-only tree view over slide/scene metadata.
Definition: metadata.hpp:26
Slide class is an interface for accessing the information on a medical slide.
Definition: slide.hpp:30
friend SLIDEIO_EXPORTS std::shared_ptr< Slide > openSlide(const std::string &path, const std::string &driver)
The function returns a smart pointer to an object of Slide class.
Definition: exceptions.hpp:15