SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
svsslide.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/svs/svs_api_def.hpp"
7#include "slideio/core/cvscene.hpp"
8#include "slideio/core/cvslide.hpp"
9#include "slideio/imagetools/libtiff.hpp"
10#include <map>
11
12#if defined(_MSC_VER)
13#pragma warning( push )
14#pragma warning(disable: 4251)
15#endif
16
17namespace slideio
18{
19 class SVSSlide;
20}
21
22//std::ostream& operator << (std::ostream& os, const slideio::SVSSlide& slide);
23
24namespace slideio
25{
26 class SLIDEIO_SVS_EXPORTS SVSSlide : public slideio::CVSlide
27 {
28 protected:
29 SVSSlide();
30 public:
31 virtual ~SVSSlide();
32 int getNumScenes() const override;
33 std::string getFilePath() const override;
34 std::shared_ptr<slideio::CVScene> getScene(int index) const override;
35 static std::shared_ptr<SVSSlide> openFile(const std::string& path, const std::string& id);
36 static void closeFile(libtiff::TIFF* hfile);
37 std::shared_ptr<CVScene> getAuxImage(const std::string& sceneName) const override;
38 void log();
39 protected:
40 MetadataBuilder buildMetadataTree() const override;
41 private:
42 std::vector<std::shared_ptr<slideio::CVScene>> m_Scenes;
43 std::map<std::string, std::shared_ptr<slideio::CVScene>> m_auxImages;
44 std::string m_filePath;
45 };
46}
47
48
49#if defined(_MSC_VER)
50#pragma warning( pop )
51#endif
CVSlide is an base class for representation of medical slide.
Definition: cvslide.hpp:29
Definition: exceptions.hpp:15