9#include "slideio/drivers/vsi/vsi_api_def.hpp"
10#include "slideio/drivers/vsi/etsfilescene.hpp"
11#include "slideio/drivers/vsi/volume.hpp"
12#include "slideio/drivers/vsi/vsistruct.hpp"
13#include "slideio/base/slideio_enums.hpp"
14#include "slideio/drivers/vsi/vsistream.hpp"
15#include "slideio/drivers/vsi/pyramid.hpp"
19#pragma warning(disable : 4251)
27 class SLIDEIO_VSI_EXPORTS EtsFile
30 EtsFile(
const std::string& filePath);
32 std::string getFilePath()
const {
36 DataType getDataType()
const {
40 int getNumChannels()
const {
48 void read(std::list<std::shared_ptr<Volume>>& volumes, TileInfoListPtr& tiles);
49 void readTilePart(
const vsi::TileInfo& tileInfo, cv::OutputArray tileRaster);
50 bool assignVolume(std::list<std::shared_ptr<vsi::Volume>>& volumes);
51 void initStruct(TileInfoListPtr& tiles);
53 void setVolume(
const std::shared_ptr<Volume>& volume) {
57 std::shared_ptr<Volume> getVolume()
const {
61 const cv::Size& getSize()
const {
65 const cv::Size& getTileSize()
const {
69 int getNumZSlices()
const {
73 int getNumTFrames()
const {
77 int getNumLambdas()
const {
81 int getNumPyramidLevels()
const {
82 return m_pyramid.getNumLevels();
85 const PyramidLevel& getPyramidLevel(
int index)
const {
86 return m_pyramid.getLevel(index);
88 const cv::Size& getSizeWithCompleteTiles()
const {
89 return m_sizeWithCompleteTiles;
91 void readTile(
int levelIndex,
int tileIndex,
const std::vector<int>& channelIndices,
int zSlice,
int tFrame, cv::OutputArray output);
93 std::string m_filePath;
94 DataType m_dataType = DataType::DT_Unknown;
95 int m_numChannels = 1;
96 ColorSpace m_colorSpace = ColorSpace::Unknown;
98 int m_compressionQuality = 0;
100 cv::Size m_sizeWithCompleteTiles;
102 int m_numZSlices = 1;
103 int m_numTFrames = 1;
104 int m_numLambdas = 1;
105 uint32_t m_pixelInfoHints[17] = {0};
106 uint32_t m_backgroundColor[10] = {0};
107 bool m_usePyramid =
false;
109 std::shared_ptr<Volume> m_volume;
111 std::unique_ptr<VSIStream> m_etsStream;
112 std::vector<uint8_t> m_buffer;
113 std::vector<int> m_maxCoordinates;
Definition: exceptions.hpp:15
Compression
raster data compression enum
Definition: slideio_enums.hpp:12
@ Unknown
Unknown compression.