MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ label_for_analysis()

std::optional< uint32_t > MayaFlux::Yantra::VisionExtractor::label_for_analysis ( const Kinesis::Vision::VisionAnalysis &  analysis)
private

Definition at line 258 of file VisionExtractor.cpp.

260{
261 if (!analysis.find_elements)
262 return std::nullopt;
263
264 const auto& elements = *analysis.find_elements;
265
266 if (m_focus) {
267 const auto index = select_element(analysis, *m_focus);
268 if (!index)
269 return std::nullopt;
270 const auto label = elements.boxes[*index].label_id;
271 return label != 0 ? label : static_cast<uint32_t>(*index + 1U);
272 }
273
274 if (m_element_index >= elements.contours.size())
275 return std::nullopt;
276
277 const auto label = elements.contours[m_element_index].label_id;
278 if (label == 0)
279 return std::nullopt;
280 return label;
281}
uint32_t label
Definition Contours.cpp:16
uint32_t index
Definition VKDevice.cpp:122
std::optional< ElementFocus > m_focus
std::optional< size_t > select_element(const Kinesis::Vision::VisionAnalysis &analysis, const ElementFocus &focus)
Index into find_elements boxes of the element ranked first by focus, chosen on the GPU from the analy...

References MayaFlux::Kinesis::Vision::VisionAnalysis::find_elements, index, label, m_element_index, m_focus, and select_element().

Referenced by mask().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: