36 property int num_detections
42 property cli::array<Box^>^ boxes
44 cli::array<Box^>^ get() {
45 std::vector<DaoAI::DeepLearning::Box> native_boxes =
m_Instance->boxes;
46 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
47 for (
int i = 0; i < native_boxes.size(); i++) {
48 boxes[i] = gcnew Box(native_boxes[i]);
53 property cli::array<double>^ confidences
55 cli::array<double>^ get() {
56 cli::array<double>^ confidences = gcnew cli::array<double>(
m_Instance->confidences.size());
57 for (
int i = 0; i <
m_Instance->confidences.size(); i++) {
63 property cli::array<int>^ class_ids
65 cli::array<int>^ get() {
66 cli::array<int>^ class_ids = gcnew cli::array<int>(
m_Instance->class_ids.size());
67 for (
int i = 0; i <
m_Instance->class_ids.size(); i++) {
73 property cli::array<String^>^ class_labels
75 cli::array<String^>^ get() {
76 std::vector<std::string> native_labels =
m_Instance->class_labels;
77 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
78 for (
int i = 0; i < native_labels.size(); i++) {
79 labels[i] = gcnew String(native_labels[i].c_str());
85 property String^ decision
88 return gcnew String(
m_Instance->decision.c_str());
114 property int num_detections
120 property cli::array<Box^>^ boxes
122 cli::array<Box^>^ get() {
123 std::vector<DaoAI::DeepLearning::Box> native_boxes =
m_Instance->boxes;
124 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
125 for (
int i = 0; i < native_boxes.size(); i++) {
126 boxes[i] = gcnew Box(native_boxes[i]);
131 property cli::array<double>^ confidences
133 cli::array<double>^ get() {
134 cli::array<double>^ confidences = gcnew cli::array<double>(
m_Instance->confidences.size());
135 for (
int i = 0; i <
m_Instance->confidences.size(); i++) {
141 property cli::array<int>^ class_ids
143 cli::array<int>^ get() {
144 cli::array<int>^ class_ids = gcnew cli::array<int>(
m_Instance->class_ids.size());
145 for (
int i = 0; i <
m_Instance->class_ids.size(); i++) {
151 property cli::array<String^>^ class_labels
153 cli::array<String^>^ get() {
154 std::vector<std::string> native_labels =
m_Instance->class_labels;
155 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
156 for (
int i = 0; i < native_labels.size(); i++) {
157 labels[i] = gcnew String(native_labels[i].c_str());
163 property cli::array<Mask^>^ masks
165 cli::array<Mask^>^ get() {
166 std::vector<DaoAI::DeepLearning::Mask> native_masks =
m_Instance->masks;
167 cli::array<Mask^>^ masks = gcnew cli::array<Mask^>(native_masks.size());
168 for (
int i = 0; i < native_masks.size(); i++) {
169 masks[i] = gcnew Mask(native_masks[i]);
187 return m_Instance->image_width;
193 return m_Instance->image_height;
197 property int num_detections
200 return m_Instance->num_detections;
203 property cli::array<Box^>^ boxes
205 cli::array<Box^>^ get() {
206 std::vector<DaoAI::DeepLearning::Box> native_boxes = m_Instance->boxes;
207 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
208 for (
int i = 0; i < native_boxes.size(); i++) {
209 boxes[i] = gcnew Box(native_boxes[i]);
214 property cli::array<double>^ confidences
216 cli::array<double>^ get() {
217 cli::array<double>^ confidences = gcnew cli::array<double>(m_Instance->confidences.size());
218 for (
int i = 0; i < m_Instance->confidences.size(); i++) {
219 confidences[i] = m_Instance->confidences[i];
224 property cli::array<int>^ class_ids
226 cli::array<int>^ get() {
227 cli::array<int>^ class_ids = gcnew cli::array<int>(m_Instance->class_ids.size());
228 for (
int i = 0; i < m_Instance->class_ids.size(); i++) {
229 class_ids[i] = m_Instance->class_ids[i];
234 property cli::array<String^>^ class_labels
236 cli::array<String^>^ get() {
237 std::vector<std::string> native_labels = m_Instance->class_labels;
238 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
239 for (
int i = 0; i < native_labels.size(); i++) {
240 labels[i] = gcnew String(native_labels[i].c_str());
246 property cli::array<Mask^>^ masks
248 cli::array<Mask^>^ get() {
249 std::vector<DaoAI::DeepLearning::Mask> native_masks = m_Instance->masks;
250 cli::array<Mask^>^ masks = gcnew cli::array<Mask^>(native_masks.size());
251 for (
int i = 0; i < native_masks.size(); i++) {
252 masks[i] = gcnew Mask(native_masks[i]);
258 property cli::array<cli::array<Point^>^>^ keypoints
260 cli::array<cli::array<Point^>^>^ get() {
261 std::vector<std::vector<DaoAI::DeepLearning::Point>> native_keypoints = m_Instance->keypoints;
262 cli::array<cli::array<Point^>^>^ keypoints = gcnew cli::array<cli::array<Point^>^>(native_keypoints.size());
263 for (
int i = 0; i < native_keypoints.size(); i++) {
264 keypoints[i] = gcnew cli::array<Point^>(native_keypoints[i].size());
265 for (
int j = 0; j < native_keypoints[i].size(); j++) {
266 keypoints[i][j] = gcnew Point(native_keypoints[i][j]);
285 return m_Instance->image_width;
291 return m_Instance->image_height;
295 property int num_detections
298 return m_Instance->num_detections;
301 property cli::array<String^>^ texts
303 cli::array<String^>^ get() {
304 std::vector<std::string> native_texts = m_Instance->texts;
305 cli::array<String^>^ texts = gcnew cli::array<String^>(native_texts.size());
306 for (
int i = 0; i < native_texts.size(); i++) {
307 texts[i] = gcnew String(native_texts[i].c_str());
313 property cli::array<Polygon^>^ boxes
315 cli::array<Polygon^>^ get() {
316 std::vector<DaoAI::DeepLearning::Polygon> native_boxes = m_Instance->boxes;
317 cli::array<Polygon^>^ boxes = gcnew cli::array<Polygon^>(native_boxes.size());
318 for (
int i = 0; i < native_boxes.size(); i++) {
319 boxes[i] = gcnew Polygon(native_boxes[i]);
325 property cli::array<double>^ confidences
327 cli::array<double>^ get() {
328 cli::array<double>^ confidences = gcnew cli::array<double>(m_Instance->confidences.size());
329 for (
int i = 0; i < m_Instance->confidences.size(); i++) {
330 confidences[i] = m_Instance->confidences[i];
375 return m_Instance->image_width;
381 return m_Instance->image_height;
385 property cli::array<Flag^>^ flags
387 cli::array<Flag^>^ get() {
388 std::vector<DaoAI::DeepLearning::Vision::ClassificationResult::Flag> native_flags = m_Instance->flags;
389 cli::array<Flag^>^ flags = gcnew cli::array<Flag^>(native_flags.size());
390 for (
int i = 0; i < native_flags.size(); i++) {
391 flags[i] = gcnew Flag(native_flags[i]);
397 property bool multilabel
400 return m_Instance->multilabel;
416 return m_Instance->image_width;
422 return m_Instance->image_height;
426 property Dictionary<String^, Mask^>^ masks
428 Dictionary<String^, Mask^>^ get() {
429 Dictionary<String^, Mask^>^ masks = gcnew Dictionary<String^, Mask^>();
430 for (
auto& pair : m_Instance->masks) {
431 masks[gcnew String(pair.first.c_str())] = gcnew Mask(pair.second);
437 property String^ decision
440 return gcnew String(m_Instance->decision.c_str());
484 ImageEmbedding::ImageEmbedding(
const DaoAI::DeepLearning::Vision::ImageEmbedding& embedding) :
ManagedObject(new
DaoAI::DeepLearning::Vision::
ImageEmbedding(embedding)) {}
489 return m_Instance->image_height;
495 return m_Instance->image_width;
499 property cli::array<float>^ data
501 cli::array<float>^ get() {
502 std::vector<float> native_data = m_Instance->data;
503 cli::array<float>^ data = gcnew cli::array<float>(native_data.size());
504 for (
int i = 0; i < native_data.size(); i++) {
505 data[i] = native_data[i];
511 property cli::array<size_t>^ shape
513 cli::array<size_t>^ get() {
514 std::vector<size_t> native_shape = m_Instance->shape;
515 cli::array<size_t>^ shape = gcnew cli::array<size_t>(native_shape.size());
516 for (
int i = 0; i < native_shape.size(); i++) {
517 shape[i] = native_shape[i];
536 return m_Instance->image_width;
542 return m_Instance->image_height;
546 property int num_detections
549 return m_Instance->num_detections;
552 property cli::array<Box^>^ boxes
554 cli::array<Box^>^ get() {
555 std::vector<DaoAI::DeepLearning::Box> native_boxes = m_Instance->boxes;
556 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
557 for (
int i = 0; i < native_boxes.size(); i++) {
558 boxes[i] = gcnew Box(native_boxes[i]);
563 property cli::array<double>^ confidences
565 cli::array<double>^ get() {
566 cli::array<double>^ confidences = gcnew cli::array<double>(m_Instance->confidences.size());
567 for (
int i = 0; i < m_Instance->confidences.size(); i++) {
568 confidences[i] = m_Instance->confidences[i];
573 property cli::array<int>^ class_ids
575 cli::array<int>^ get() {
576 cli::array<int>^ class_ids = gcnew cli::array<int>(m_Instance->class_ids.size());
577 for (
int i = 0; i < m_Instance->class_ids.size(); i++) {
578 class_ids[i] = m_Instance->class_ids[i];
583 property cli::array<String^>^ class_labels
585 cli::array<String^>^ get() {
586 std::vector<std::string> native_labels = m_Instance->class_labels;
587 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
588 for (
int i = 0; i < native_labels.size(); i++) {
589 labels[i] = gcnew String(native_labels[i].c_str());
595 property String^ decision
598 return gcnew String(m_Instance->decision.c_str());
614 return m_Instance->image_width;
620 return m_Instance->image_height;
624 property int num_detections
627 return m_Instance->num_detections;
630 property cli::array<Box^>^ boxes
632 cli::array<Box^>^ get() {
633 std::vector<DaoAI::DeepLearning::Box> native_boxes = m_Instance->boxes;
634 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
635 for (
int i = 0; i < native_boxes.size(); i++) {
636 boxes[i] = gcnew Box(native_boxes[i]);
641 property cli::array<double>^ confidences
643 cli::array<double>^ get() {
644 cli::array<double>^ confidences = gcnew cli::array<double>(m_Instance->confidences.size());
645 for (
int i = 0; i < m_Instance->confidences.size(); i++) {
646 confidences[i] = m_Instance->confidences[i];
651 property cli::array<int>^ class_ids
653 cli::array<int>^ get() {
654 cli::array<int>^ class_ids = gcnew cli::array<int>(m_Instance->class_ids.size());
655 for (
int i = 0; i < m_Instance->class_ids.size(); i++) {
656 class_ids[i] = m_Instance->class_ids[i];
661 property cli::array<String^>^ class_labels
663 cli::array<String^>^ get() {
664 std::vector<std::string> native_labels = m_Instance->class_labels;
665 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
666 for (
int i = 0; i < native_labels.size(); i++) {
667 labels[i] = gcnew String(native_labels[i].c_str());
673 property cli::array<Mask^>^ masks
675 cli::array<Mask^>^ get() {
676 std::vector<DaoAI::DeepLearning::Mask> native_masks = m_Instance->masks;
677 cli::array<Mask^>^ masks = gcnew cli::array<Mask^>(native_masks.size());
678 for (
int i = 0; i < native_masks.size(); i++) {
679 masks[i] = gcnew Mask(native_masks[i]);
685 property cli::array<cli::array<Point^>^>^ keypoints
687 cli::array<cli::array<Point^>^>^ get() {
688 std::vector<std::vector<DaoAI::DeepLearning::Point>> native_keypoints = m_Instance->keypoints;
689 cli::array<cli::array<Point^>^>^ keypoints = gcnew cli::array<cli::array<Point^>^>(native_keypoints.size());
690 for (
int i = 0; i < native_keypoints.size(); i++) {
691 keypoints[i] = gcnew cli::array<Point^>(native_keypoints[i].size());
692 for (
int j = 0; j < native_keypoints[i].size(); j++) {
693 keypoints[i][j] = gcnew Point(native_keypoints[i][j]);
700 property Point^ center
703 return gcnew Point(m_Instance->center);
707 property double angle
710 return m_Instance->angle;
714 property String^ decision
717 return gcnew String(m_Instance->decision.c_str());
722 public ref struct Region :
public ManagedObject<DaoAI::DeepLearning::Vision::UnsupervisedDefectSegmentationResult::Region>
727 property double confidence
730 return m_Instance->confidence;
734 property String^ label
737 return gcnew String(m_Instance->label.c_str());
744 return m_Instance->defect;
751 return gcnew Box(m_Instance->bbox[0], m_Instance->bbox[1], m_Instance->bbox[2], m_Instance->bbox[3], NAN, Box::Type::XYXY);
767 return m_Instance->image_width;
773 return m_Instance->image_height;
780 return gcnew Mask(m_Instance->mask);
784 property double confidence
787 return m_Instance->confidence;
794 return m_Instance->defect;
798 property cli::array<Region^>^ region_defects
800 cli::array<Region^>^ get() {
801 std::vector<DaoAI::DeepLearning::Vision::UnsupervisedDefectSegmentationResult::Region> native_regions = m_Instance->region_defects;
802 cli::array<Region^>^ regions = gcnew cli::array<Region^>(native_regions.size());
803 for (
int i = 0; i < native_regions.size(); i++) {
804 regions[i] = gcnew Region(native_regions[i]);