StereoDepthConfig.cpp
Go to the documentation of this file.
2 
3 namespace dai {
4 
5 std::shared_ptr<RawBuffer> StereoDepthConfig::serialize() const {
6  return raw;
7 }
8 
9 StereoDepthConfig::StereoDepthConfig() : Buffer(std::make_shared<RawStereoDepthConfig>()), cfg(*dynamic_cast<RawStereoDepthConfig*>(raw.get())) {}
10 StereoDepthConfig::StereoDepthConfig(std::shared_ptr<RawStereoDepthConfig> ptr)
11  : Buffer(std::move(ptr)), cfg(*dynamic_cast<RawStereoDepthConfig*>(raw.get())) {}
12 
15  return *this;
16 }
17 
20  return *this;
21 }
22 
25 }
26 
28  cfg.postProcessing.median = median;
29  return *this;
30 }
31 
33  return cfg.postProcessing.median;
34 }
35 
38  return *this;
39 }
40 
43 }
44 
47  return *this;
48 }
49 
52 }
53 
56  return *this;
57 }
58 
61  return *this;
62 }
63 
66  return *this;
67 }
68 
70  cfg.algorithmControl.subpixelFractionalBits = subpixelFractionalBits;
71  return *this;
72 }
73 
75  cfg.algorithmControl.depthUnit = depthUnit;
76  return *this;
77 }
78 
80  cfg.algorithmControl.disparityShift = disparityShift;
81  return *this;
82 }
83 
85  cfg.algorithmControl.numInvalidateEdgePixels = numInvalidateEdgePixels;
86  return *this;
87 }
88 
91 }
92 
94  uint32_t maxDisp = 95;
96  maxDisp = 63;
97  }
98  if(cfg.costMatching.enableCompanding) maxDisp = 175;
100  if(cfg.algorithmControl.enableExtended) maxDisp *= 2;
102 
103  std::vector<dai::StereoDepthConfig::PostProcessing::Filter> filtersToExecute;
104  for(auto filter : cfg.postProcessing.filteringOrder) {
105  switch(filter) {
108  filtersToExecute.push_back(filter);
109  }
110  break;
113  filtersToExecute.push_back(filter);
114  }
115  break;
118  filtersToExecute.push_back(filter);
119  }
120  break;
123  filtersToExecute.push_back(filter);
124  }
125  break;
128  filtersToExecute.push_back(filter);
129  }
130  break;
132  break;
133  default:
134  break;
135  }
136  }
137 
138  if(filtersToExecute.size() != 0) {
139  if(filtersToExecute.back() != RawStereoDepthConfig::PostProcessing::Filter::MEDIAN) {
140  maxDisp = maxDisp * ((1 << 13) / maxDisp);
141  }
142  }
143 
144  return maxDisp;
145 }
146 
148  return cfg;
149 }
150 
152  cfg = config;
153  return *this;
154 }
155 
156 } // namespace dai
dai::StereoDepthConfig::setSubpixelFractionalBits
StereoDepthConfig & setSubpixelFractionalBits(int subpixelFractionalBits)
Definition: StereoDepthConfig.cpp:69
dai::RawStereoDepthConfig::AlgorithmControl::subpixelFractionalBits
std::int32_t subpixelFractionalBits
Definition: RawStereoDepthConfig.hpp:78
dai::StereoDepthConfig::setNumInvalidateEdgePixels
StereoDepthConfig & setNumInvalidateEdgePixels(int32_t numInvalidateEdgePixels)
Definition: StereoDepthConfig.cpp:84
dai::RawStereoDepthConfig::PostProcessing::SpatialFilter::enable
bool enable
Definition: RawStereoDepthConfig.hpp:162
dai::RawStereoDepthConfig::PostProcessing::filteringOrder
std::array< Filter, 5 > filteringOrder
Definition: RawStereoDepthConfig.hpp:140
dai::StereoDepthConfig::getDepthUnit
AlgorithmControl::DepthUnit getDepthUnit()
Definition: StereoDepthConfig.cpp:89
dai::StereoDepthConfig::serialize
std::shared_ptr< RawBuffer > serialize() const override
Definition: StereoDepthConfig.cpp:5
dai::RawStereoDepthConfig::CostMatching::DisparityWidth::DISPARITY_64
@ DISPARITY_64
dai::RawStereoDepthConfig::AlgorithmControl::DepthAlign
DepthAlign
Definition: RawStereoDepthConfig.hpp:21
dai::RawStereoDepthConfig::PostProcessing::Filter::SPECKLE
@ SPECKLE
DAI_SPAN_NAMESPACE_NAME::get
constexpr auto get(span< E, S > s) -> decltype(s[N])
Definition: span.hpp:491
dai::RawStereoDepthConfig::PostProcessing::Filter::NONE
@ NONE
dai::MedianFilter
MedianFilter
Definition: MedianFilter.hpp:14
dai::RawStereoDepthConfig::PostProcessing::speckleFilter
SpeckleFilter speckleFilter
Definition: RawStereoDepthConfig.hpp:335
dai::RawStereoDepthConfig::AlgorithmControl::depthUnit
DepthUnit depthUnit
Definition: RawStereoDepthConfig.hpp:37
dai::RawStereoDepthConfig::postProcessing
PostProcessing postProcessing
Definition: RawStereoDepthConfig.hpp:385
dai::StereoDepthConfig::set
StereoDepthConfig & set(dai::RawStereoDepthConfig config)
Definition: StereoDepthConfig.cpp:151
dai::RawStereoDepthConfig::PostProcessing::Filter::DECIMATION
@ DECIMATION
dai::StereoDepthConfig::setConfidenceThreshold
StereoDepthConfig & setConfidenceThreshold(int confThr)
Definition: StereoDepthConfig.cpp:18
dai::MedianFilter::MEDIAN_OFF
@ MEDIAN_OFF
dai::RawStereoDepthConfig::PostProcessing::temporalFilter
TemporalFilter temporalFilter
Definition: RawStereoDepthConfig.hpp:252
dai::RawStereoDepthConfig::costMatching
CostMatching costMatching
Definition: RawStereoDepthConfig.hpp:510
dai::StereoDepthConfig::setExtendedDisparity
StereoDepthConfig & setExtendedDisparity(bool enable)
Definition: StereoDepthConfig.cpp:59
dai::StereoDepthConfig::getBilateralFilterSigma
uint16_t getBilateralFilterSigma() const
Definition: StereoDepthConfig.cpp:41
dai::RawStereoDepthConfig::PostProcessing::bilateralSigmaValue
std::int16_t bilateralSigmaValue
Definition: RawStereoDepthConfig.hpp:151
dai::StereoDepthConfig::setDepthAlign
StereoDepthConfig & setDepthAlign(AlgorithmControl::DepthAlign align)
Definition: StereoDepthConfig.cpp:13
dai::StereoDepthConfig::StereoDepthConfig
StereoDepthConfig()
Definition: StereoDepthConfig.cpp:9
dai::RawStereoDepthConfig::AlgorithmControl::enableExtended
bool enableExtended
Definition: RawStereoDepthConfig.hpp:55
dai::RawStereoDepthConfig::PostProcessing::median
MedianFilter median
Definition: RawStereoDepthConfig.hpp:145
dai::StereoDepthConfig::setLeftRightCheck
StereoDepthConfig & setLeftRightCheck(bool enable)
Definition: StereoDepthConfig.cpp:54
dai::RawStereoDepthConfig::AlgorithmControl::disparityShift
std::int32_t disparityShift
Definition: RawStereoDepthConfig.hpp:88
dai::RawStereoDepthConfig::PostProcessing::decimationFilter
DecimationFilter decimationFilter
Definition: RawStereoDepthConfig.hpp:368
dai::RawStereoDepthConfig::PostProcessing::spatialFilter
SpatialFilter spatialFilter
Definition: RawStereoDepthConfig.hpp:197
dai::StereoDepthConfig::setSubpixel
StereoDepthConfig & setSubpixel(bool enable)
Definition: StereoDepthConfig.cpp:64
dai::RawStereoDepthConfig::PostProcessing::Filter::MEDIAN
@ MEDIAN
dai::StereoDepthConfig::getMaxDisparity
float getMaxDisparity() const
Definition: StereoDepthConfig.cpp:93
dai::RawStereoDepthConfig::AlgorithmControl::DepthUnit
DepthUnit
Definition: RawStereoDepthConfig.hpp:26
dai::RawStereoDepthConfig::CostMatching::enableCompanding
bool enableCompanding
Definition: RawStereoDepthConfig.hpp:470
dai::RawStereoDepthConfig::PostProcessing::Filter::TEMPORAL
@ TEMPORAL
dai::RawStereoDepthConfig::PostProcessing::DecimationFilter::decimationFactor
std::uint32_t decimationFactor
Definition: RawStereoDepthConfig.hpp:347
dai::StereoDepthConfig::cfg
RawStereoDepthConfig & cfg
Definition: StereoDepthConfig.hpp:16
dai::StereoDepthConfig::setDepthUnit
StereoDepthConfig & setDepthUnit(AlgorithmControl::DepthUnit depthUnit)
Definition: StereoDepthConfig.cpp:74
dai::RawStereoDepthConfig::AlgorithmControl::numInvalidateEdgePixels
std::int32_t numInvalidateEdgePixels
Definition: RawStereoDepthConfig.hpp:110
dai::StereoDepthConfig::getConfidenceThreshold
int getConfidenceThreshold() const
Definition: StereoDepthConfig.cpp:23
dai::StereoDepthConfig::getLeftRightCheckThreshold
int getLeftRightCheckThreshold() const
Definition: StereoDepthConfig.cpp:50
dai::RawStereoDepthConfig::AlgorithmControl::enableLeftRightCheck
bool enableLeftRightCheck
Definition: RawStereoDepthConfig.hpp:49
StereoDepthConfig.hpp
dai::Buffer
Base message - buffer of binary data.
Definition: Buffer.hpp:13
dai::StereoDepthConfig::setMedianFilter
StereoDepthConfig & setMedianFilter(MedianFilter median)
Definition: StereoDepthConfig.cpp:27
dai::RawStereoDepthConfig::algorithmControl
AlgorithmControl algorithmControl
Definition: RawStereoDepthConfig.hpp:129
dai::RawStereoDepthConfig::CostMatching::confidenceThreshold
uint8_t confidenceThreshold
Definition: RawStereoDepthConfig.hpp:481
dai::StereoDepthConfig::getMedianFilter
MedianFilter getMedianFilter() const
Definition: StereoDepthConfig.cpp:32
dai::RawStereoDepthConfig::CostMatching::disparityWidth
DisparityWidth disparityWidth
Definition: RawStereoDepthConfig.hpp:459
std
Definition: Node.hpp:366
dai::StereoDepthConfig
Definition: StereoDepthConfig.hpp:14
dai::StereoDepthConfig::setLeftRightCheckThreshold
StereoDepthConfig & setLeftRightCheckThreshold(int threshold)
Definition: StereoDepthConfig.cpp:45
dai::RawStereoDepthConfig::AlgorithmControl::enableSubpixel
bool enableSubpixel
Definition: RawStereoDepthConfig.hpp:60
dai::StereoDepthConfig::setDisparityShift
StereoDepthConfig & setDisparityShift(int disparityShift)
Definition: StereoDepthConfig.cpp:79
dai::RawStereoDepthConfig::AlgorithmControl::depthAlign
DepthAlign depthAlign
Definition: RawStereoDepthConfig.hpp:31
dai::RawStereoDepthConfig::PostProcessing::SpeckleFilter::enable
bool enable
Definition: RawStereoDepthConfig.hpp:316
dai::StereoDepthConfig::get
dai::RawStereoDepthConfig get() const
Definition: StereoDepthConfig.cpp:147
dai::ADatatype::raw
std::shared_ptr< RawBuffer > raw
Definition: ADatatype.hpp:15
dai::RawStereoDepthConfig
RawStereoDepthConfig configuration structure.
Definition: RawStereoDepthConfig.hpp:14
dai::RawStereoDepthConfig::AlgorithmControl::leftRightCheckThreshold
std::int32_t leftRightCheckThreshold
Definition: RawStereoDepthConfig.hpp:67
dai::StereoDepthConfig::setBilateralFilterSigma
StereoDepthConfig & setBilateralFilterSigma(uint16_t sigma)
Definition: StereoDepthConfig.cpp:36
dai
Definition: CameraExposureOffset.hpp:6
dai::RawStereoDepthConfig::PostProcessing::TemporalFilter::enable
bool enable
Definition: RawStereoDepthConfig.hpp:208
dai::RawStereoDepthConfig::PostProcessing::Filter::SPATIAL
@ SPATIAL


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:19