8#include "slideio/drivers/dcm/dcm_api_def.hpp"
9#include "slideio/core/cvscene.hpp"
10#include "slideio/drivers/dcm/dcmfile.hpp"
13#pragma warning( push )
14#pragma warning(disable: 4251)
20 class SLIDEIO_DCM_EXPORTS DCMScene :
public CVScene
24 std::string getFilePath()
const override;
25 int getSceneIndex()
const override {
28 const std::string& getDriverId()
const override {
31 void setDriverId(
const std::string& driverId) {
32 m_driverId = driverId;
34 cv::Rect getRect()
const override;
35 int getNumChannels()
const override;
36 int getNumZSlices()
const override;
37 int getNumTFrames()
const override;
38 double getZSliceResolution()
const override;
39 double getTFrameResolution()
const override;
40 DataType getChannelDataType(
int channel)
const override;
41 std::string getChannelName(
int channel)
const override;
42 Resolution getResolution()
const override;
43 double getMagnification()
const override;
44 void readResampledBlockChannelsEx(
const cv::Rect& blockRect,
const cv::Size& blockSize,
45 const std::vector<int>& componentIndices,
int zSliceIndex,
int tFrameIndex, cv::OutputArray output)
override;
46 std::string getName()
const override;
48 void addFile(std::shared_ptr<DCMFile>& file);
49 void init(
const std::string& slideFilePath,
int sceneIndex,
const std::string& driverId);
51 void prepareSliceIndices();
53 void extractSliceRaster(
const cv::Mat& frame,
54 const cv::Rect& blockRect,
55 const cv::Size& blockSize,
56 const std::vector<int>& componentIndices,
57 cv::OutputArray output);
58 std::pair<int, int> findFileIndex(
int zSliceIndex);
60 std::vector<std::shared_ptr<DCMFile>> m_files;
61 std::map<int, int> m_sliceMap;
62 cv::Rect m_rect = { 0, 0, 0, 0 };
66 int m_numChannels = 0;
67 std::string m_filePath;
69 DataType m_dataType = DataType::DT_Unknown;
71 std::string m_driverId;
Definition: exceptions.hpp:15
Compression
raster data compression enum
Definition: slideio_enums.hpp:12