SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
pkescene.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/pke/pke_api_def.hpp"
7#include "slideio/core/cvscene.hpp"
8#include "slideio/imagetools/tiffkeeper.hpp"
9#include "slideio/imagetools/tifftools.hpp"
10
11#if defined(_MSC_VER)
12#pragma warning( push )
13#pragma warning(disable: 4251)
14#endif
15
16namespace slideio
17{
18 class SLIDEIO_PKE_EXPORTS PKEScene : public CVScene
19 {
20 public:
27 PKEScene(const std::string& filePath, const std::string& name);
28 PKEScene(const std::string& filePath, libtiff::TIFF* hFile, const std::string& name);
29
30 virtual ~PKEScene();
31 void makeSureFileIsOpened();
32
33 std::string getFilePath() const override {
34 return m_filePath;
35 }
36 std::string getName() const override {
37 return m_name;
38 }
39 Compression getCompression() const override{
40 return m_compression;
41 }
42 slideio::Resolution getResolution() const override{
43 return m_resolution;
44 }
45 double getMagnification() const override{
46 return m_magnification;
47 }
48 DataType getChannelDataType(int) const override{
49 return m_dataType;
50 }
51 libtiff::TIFF* getFileHandle();
52
53 protected:
54 std::string m_filePath;
55 std::string m_name;
56 Compression m_compression;
57 Resolution m_resolution;
58 double m_magnification;
59 slideio::DataType m_dataType;
60 private:
61 TIFFKeeper m_tiffKeeper;
62 };
63}
64
65#if defined(_MSC_VER)
66#pragma warning( pop )
67#endif
Definition: exceptions.hpp:12
Compression
raster data compression enum
Definition: slideio_enums.hpp:12