4#ifndef OPENCV_slideio_dcmscene_HPP
5#define OPENCV_slideio_dcmscene_HPP
7#include "slideio/drivers/dcm/dcm_api_def.hpp"
8#include "slideio/core/cvscene.hpp"
9#include "slideio/drivers/dcm/dcmfile.hpp"
12#pragma warning( push )
13#pragma warning(disable: 4251)
19 class SLIDEIO_DCM_EXPORTS DCMScene :
public CVScene
23 std::string getFilePath()
const override;
24 cv::Rect getRect()
const override;
25 int getNumChannels()
const override;
26 int getNumZSlices()
const override;
27 int getNumTFrames()
const override;
28 double getZSliceResolution()
const override;
29 double getTFrameResolution()
const override;
30 DataType getChannelDataType(
int channel)
const override;
31 std::string getChannelName(
int channel)
const override;
32 Resolution getResolution()
const override;
33 double getMagnification()
const override;
34 void readResampledBlockChannelsEx(
const cv::Rect& blockRect,
const cv::Size& blockSize,
35 const std::vector<int>& componentIndices,
int zSliceIndex,
int tFrameIndex, cv::OutputArray output)
override;
36 std::string getName()
const override;
38 void addFile(std::shared_ptr<DCMFile>& file);
40 std::string getRawMetadata()
const override;
42 void prepareSliceIndices();
44 void extractSliceRaster(
const cv::Mat& frame,
45 const cv::Rect& blockRect,
46 const cv::Size& blockSize,
47 const std::vector<int>& componentIndices,
48 cv::OutputArray output);
49 std::pair<int, int> findFileIndex(
int zSliceIndex);
51 std::vector<std::shared_ptr<DCMFile>> m_files;
52 std::map<int, int> m_sliceMap;
53 cv::Rect m_rect = { 0, 0, 0, 0 };
57 int m_numChannels = 0;
58 std::string m_filePath;
59 DataType m_dataType = DataType::DT_Unknown;
Definition: exceptions.hpp:12
Compression
raster data compression enum
Definition: slideio_enums.hpp:12