SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
zviimageitem.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_zviimagedriver_imageitem_HPP
5#define OPENCV_slideio_zviimagedriver_imageitem_HPP
6#include "slideio/drivers/zvi/pole_lib.hpp"
7#include "slideio/drivers/zvi/zvipixelformat.hpp"
8#include "slideio/base/slideio_enums.hpp"
9#include <opencv2/opencv.hpp>
10
11namespace slideio
12{
13 class ZVIImageItem
14 {
15 public:
16 ZVIImageItem() = default;
17 void setItemIndex(int itemIndex) { m_ItemIndex = itemIndex; }
18 int getZIndex() const { return m_ZIndex; }
19 int getCIndex() const { return m_CIndex; }
20 int getTIndex() const { return m_TIndex; }
21 int getPositionIndex() const { return m_PositionIndex; }
22 int getSceneIndex() const { return m_SceneIndex; }
23 int getItemIndex() const { return m_ItemIndex; }
24 std::streamoff getDataOffset() const { return m_DataPos; }
25 std::string getChannelName() const { return m_ChannelName; }
26 ZVIPixelFormat getPixelFormat() const { return m_PixelFormat; }
27 int getWidth() const { return m_Width; }
28 int getHeight() const { return m_Height; }
29 int getZSliceCount() const { return m_ZSliceCount; }
30 void setZSliceCount(int depth) { m_ZSliceCount = depth; }
31 DataType getDataType() const { return m_DataType; }
32 int getChannelCount() const { return m_ChannelCount; }
33 void readItemInfo(ole::compound_document& doc);
34 int getTileIndexX() const { return m_TileIndexX; }
35 int getTileIndexY() const { return m_TileIndexY; }
36 void readRaster(ole::compound_document& doc, cv::OutputArray raster) const;
37 int getValidBits() const { return m_ValidBits; }
38 void setCIndex(int cIndex) { m_CIndex = cIndex; }
39 private:
40 void setWidth(int width) { m_Width = width; }
41 void setHeight(int height) { m_Height = height; }
42 void setPixelFormat(ZVIPixelFormat pixelFormat);
43 void setZIndex(int zIndex) { m_ZIndex = zIndex; }
44 void setTIndex(int tIndex) { m_TIndex = tIndex; }
45 void setPositionIndex(int positionIndex) { m_PositionIndex = positionIndex; }
46 void setSceneIndex(int sceneIndex) { m_SceneIndex = sceneIndex; }
47 void setDataOffset(std::streamoff pos) { m_DataPos = pos; }
48 void setChannelName(const std::string& name) { m_ChannelName = name; }
49 void setTileIndexX(int index) { m_TileIndexX = index; }
50 void setTileIndexY(int index) { m_TileIndexY = index; }
51 void readContents(ole::compound_document& doc);
52 void readTags(ole::compound_document& doc);
53 void setValidBits(int bits) { m_ValidBits = bits; }
54 private:
55 int m_ChannelCount = 0;
56 int m_Width = 0;
57 int m_Height = 0;
58 int m_ItemIndex = -1;
59 int m_ZIndex = -1;
60 int m_CIndex = -1;
61 int m_TIndex = -1;
62 int m_PositionIndex = -1;
63 int m_SceneIndex = -1;
64 int m_TileIndexX = -1;
65 int m_TileIndexY = -1;
66 int m_ValidBits = 0;
67 std::streamoff m_DataPos = 0;
68 std::string m_ChannelName;
69 ZVIPixelFormat m_PixelFormat = ZVIPixelFormat::PF_UNKNOWN;
70 int m_ZSliceCount = 1;
71 DataType m_DataType = DataType::DT_Unknown;
72 };
73
74}
75#endif
Definition: exceptions.hpp:12