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());
115 property int num_detections
121 property cli::array<Box^>^ boxes
124 cli::array<Box^>^ get() {
125 std::vector<DaoAI::DeepLearning::Box> native_boxes =
m_Instance->boxes;
126 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
127 for (
int i = 0; i < native_boxes.size(); i++) {
128 boxes[i] = gcnew Box(native_boxes[i]);
133 property cli::array<double>^ confidences
135 cli::array<double>^ get() {
136 cli::array<double>^ confidences = gcnew cli::array<double>(
m_Instance->confidences.size());
137 for (
int i = 0; i <
m_Instance->confidences.size(); i++) {
143 property cli::array<int>^ class_ids
146 cli::array<int>^ get() {
147 cli::array<int>^ class_ids = gcnew cli::array<int>(
m_Instance->class_ids.size());
148 for (
int i = 0; i <
m_Instance->class_ids.size(); i++) {
154 property cli::array<String^>^ class_labels
156 cli::array<String^>^ get() {
157 std::vector<std::string> native_labels =
m_Instance->class_labels;
158 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
159 for (
int i = 0; i < native_labels.size(); i++) {
160 labels[i] = gcnew String(native_labels[i].c_str());
166 property cli::array<Dictionary<String^, double>^>^ attributes
168 cli::array<Dictionary<String^, double>^>^ get() {
169 std::vector<std::unordered_map<std::string, double>> native_attributes =
m_Instance->attributes;
170 cli::array<Dictionary<String^, double>^>^ attributes = gcnew cli::array<Dictionary<String^, double>^>(native_attributes.size());
171 for (
int i = 0; i < native_attributes.size(); i++) {
172 Dictionary<String^, double>^ attribute = gcnew Dictionary<String^, double>();
173 for (
auto it = native_attributes[i].begin(); it != native_attributes[i].end(); it++) {
174 attribute->Add(gcnew String(it->first.c_str()), it->second);
176 attributes[i] = attribute;
207 property int num_detections
213 property cli::array<Box^>^ boxes
216 cli::array<Box^>^ get() {
217 std::vector<DaoAI::DeepLearning::Box> native_boxes =
m_Instance->boxes;
218 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
219 for (
int i = 0; i < native_boxes.size(); i++) {
220 boxes[i] = gcnew Box(native_boxes[i]);
225 property cli::array<double>^ confidences
227 cli::array<double>^ get() {
228 cli::array<double>^ confidences = gcnew cli::array<double>(
m_Instance->confidences.size());
229 for (
int i = 0; i <
m_Instance->confidences.size(); i++) {
235 property cli::array<int>^ class_ids
238 cli::array<int>^ get() {
239 cli::array<int>^ class_ids = gcnew cli::array<int>(
m_Instance->class_ids.size());
240 for (
int i = 0; i <
m_Instance->class_ids.size(); i++) {
246 property cli::array<String^>^ class_labels
248 cli::array<String^>^ get() {
249 std::vector<std::string> native_labels =
m_Instance->class_labels;
250 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
251 for (
int i = 0; i < native_labels.size(); i++) {
252 labels[i] = gcnew String(native_labels[i].c_str());
280 property int num_detections
286 property cli::array<Box^>^ boxes
288 cli::array<Box^>^ get() {
289 std::vector<DaoAI::DeepLearning::Box> native_boxes =
m_Instance->boxes;
290 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
291 for (
int i = 0; i < native_boxes.size(); i++) {
292 boxes[i] = gcnew Box(native_boxes[i]);
297 property cli::array<double>^ confidences
299 cli::array<double>^ get() {
300 cli::array<double>^ confidences = gcnew cli::array<double>(
m_Instance->confidences.size());
301 for (
int i = 0; i <
m_Instance->confidences.size(); i++) {
307 property cli::array<int>^ class_ids
309 cli::array<int>^ get() {
310 cli::array<int>^ class_ids = gcnew cli::array<int>(
m_Instance->class_ids.size());
311 for (
int i = 0; i <
m_Instance->class_ids.size(); i++) {
317 property cli::array<String^>^ class_labels
319 cli::array<String^>^ get() {
320 std::vector<std::string> native_labels =
m_Instance->class_labels;
321 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
322 for (
int i = 0; i < native_labels.size(); i++) {
323 labels[i] = gcnew String(native_labels[i].c_str());
329 property cli::array<Mask^>^ masks
331 cli::array<Mask^>^ get() {
332 std::vector<DaoAI::DeepLearning::Mask> native_masks =
m_Instance->masks;
333 cli::array<Mask^>^ masks = gcnew cli::array<Mask^>(native_masks.size());
334 for (
int i = 0; i < native_masks.size(); i++) {
335 masks[i] = gcnew Mask(native_masks[i]);
353 return m_Instance->image_width;
359 return m_Instance->image_height;
363 property int num_detections
366 return m_Instance->num_detections;
369 property cli::array<Box^>^ boxes
371 cli::array<Box^>^ get() {
372 std::vector<DaoAI::DeepLearning::Box> native_boxes = m_Instance->boxes;
373 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
374 for (
int i = 0; i < native_boxes.size(); i++) {
375 boxes[i] = gcnew Box(native_boxes[i]);
380 property cli::array<double>^ confidences
382 cli::array<double>^ get() {
383 cli::array<double>^ confidences = gcnew cli::array<double>(m_Instance->confidences.size());
384 for (
int i = 0; i < m_Instance->confidences.size(); i++) {
385 confidences[i] = m_Instance->confidences[i];
390 property cli::array<int>^ class_ids
392 cli::array<int>^ get() {
393 cli::array<int>^ class_ids = gcnew cli::array<int>(m_Instance->class_ids.size());
394 for (
int i = 0; i < m_Instance->class_ids.size(); i++) {
395 class_ids[i] = m_Instance->class_ids[i];
400 property cli::array<String^>^ class_labels
402 cli::array<String^>^ get() {
403 std::vector<std::string> native_labels = m_Instance->class_labels;
404 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
405 for (
int i = 0; i < native_labels.size(); i++) {
406 labels[i] = gcnew String(native_labels[i].c_str());
412 property cli::array<Mask^>^ masks
414 cli::array<Mask^>^ get() {
415 std::vector<DaoAI::DeepLearning::Mask> native_masks = m_Instance->masks;
416 cli::array<Mask^>^ masks = gcnew cli::array<Mask^>(native_masks.size());
417 for (
int i = 0; i < native_masks.size(); i++) {
418 masks[i] = gcnew Mask(native_masks[i]);
424 property cli::array<cli::array<Point^>^>^ keypoints
426 cli::array<cli::array<Point^>^>^ get() {
427 std::vector<std::vector<DaoAI::DeepLearning::Point>> native_keypoints = m_Instance->keypoints;
428 cli::array<cli::array<Point^>^>^ keypoints = gcnew cli::array<cli::array<Point^>^>(native_keypoints.size());
429 for (
int i = 0; i < native_keypoints.size(); i++) {
430 keypoints[i] = gcnew cli::array<Point^>(native_keypoints[i].size());
431 for (
int j = 0; j < native_keypoints[i].size(); j++) {
432 keypoints[i][j] = gcnew Point(native_keypoints[i][j]);
451 return m_Instance->image_width;
457 return m_Instance->image_height;
461 property int num_detections
464 return m_Instance->num_detections;
467 property cli::array<String^>^ texts
469 cli::array<String^>^ get() {
470 std::vector<std::string> native_texts = m_Instance->texts;
471 cli::array<String^>^ texts = gcnew cli::array<String^>(native_texts.size());
472 for (
int i = 0; i < native_texts.size(); i++) {
473 texts[i] = gcnew String(native_texts[i].c_str());
479 property cli::array<Polygon^>^ boxes
481 cli::array<Polygon^>^ get() {
482 std::vector<DaoAI::DeepLearning::Polygon> native_boxes = m_Instance->boxes;
483 cli::array<Polygon^>^ boxes = gcnew cli::array<Polygon^>(native_boxes.size());
484 for (
int i = 0; i < native_boxes.size(); i++) {
485 boxes[i] = gcnew Polygon(native_boxes[i]);
491 property cli::array<double>^ confidences
493 cli::array<double>^ get() {
494 cli::array<double>^ confidences = gcnew cli::array<double>(m_Instance->confidences.size());
495 for (
int i = 0; i < m_Instance->confidences.size(); i++) {
496 confidences[i] = m_Instance->confidences[i];
541 return m_Instance->image_width;
547 return m_Instance->image_height;
551 property cli::array<Flag^>^ flags
553 cli::array<Flag^>^ get() {
554 std::vector<DaoAI::DeepLearning::Vision::ClassificationResult::Flag> native_flags = m_Instance->flags;
555 cli::array<Flag^>^ flags = gcnew cli::array<Flag^>(native_flags.size());
556 for (
int i = 0; i < native_flags.size(); i++) {
557 flags[i] = gcnew Flag(native_flags[i]);
563 property bool multilabel
566 return m_Instance->multilabel;
582 return m_Instance->image_width;
588 return m_Instance->image_height;
592 property Dictionary<String^, Mask^>^ masks
594 Dictionary<String^, Mask^>^ get() {
595 Dictionary<String^, Mask^>^ masks = gcnew Dictionary<String^, Mask^>();
596 for (
auto& pair : m_Instance->masks) {
597 masks[gcnew String(pair.first.c_str())] = gcnew Mask(pair.second);
603 property String^ decision
606 return gcnew String(m_Instance->decision.c_str());
650 ImageEmbedding::ImageEmbedding(
const DaoAI::DeepLearning::Vision::ImageEmbedding& embedding) :
ManagedObject(new
DaoAI::DeepLearning::Vision::
ImageEmbedding(embedding)) {}
655 return m_Instance->image_height;
661 return m_Instance->image_width;
665 property cli::array<float>^ data
667 cli::array<float>^ get() {
668 std::vector<float> native_data = m_Instance->data;
669 cli::array<float>^ data = gcnew cli::array<float>(native_data.size());
670 for (
int i = 0; i < native_data.size(); i++) {
671 data[i] = native_data[i];
677 property cli::array<size_t>^ shape
679 cli::array<size_t>^ get() {
680 std::vector<size_t> native_shape = m_Instance->shape;
681 cli::array<size_t>^ shape = gcnew cli::array<size_t>(native_shape.size());
682 for (
int i = 0; i < native_shape.size(); i++) {
683 shape[i] = native_shape[i];
702 return m_Instance->image_width;
708 return m_Instance->image_height;
712 property int num_detections
715 return m_Instance->num_detections;
718 property cli::array<Box^>^ boxes
720 cli::array<Box^>^ get() {
721 std::vector<DaoAI::DeepLearning::Box> native_boxes = m_Instance->boxes;
722 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
723 for (
int i = 0; i < native_boxes.size(); i++) {
724 boxes[i] = gcnew Box(native_boxes[i]);
729 property cli::array<double>^ confidences
731 cli::array<double>^ get() {
732 cli::array<double>^ confidences = gcnew cli::array<double>(m_Instance->confidences.size());
733 for (
int i = 0; i < m_Instance->confidences.size(); i++) {
734 confidences[i] = m_Instance->confidences[i];
739 property cli::array<int>^ class_ids
741 cli::array<int>^ get() {
742 cli::array<int>^ class_ids = gcnew cli::array<int>(m_Instance->class_ids.size());
743 for (
int i = 0; i < m_Instance->class_ids.size(); i++) {
744 class_ids[i] = m_Instance->class_ids[i];
749 property cli::array<String^>^ class_labels
751 cli::array<String^>^ get() {
752 std::vector<std::string> native_labels = m_Instance->class_labels;
753 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
754 for (
int i = 0; i < native_labels.size(); i++) {
755 labels[i] = gcnew String(native_labels[i].c_str());
761 property String^ decision
764 return gcnew String(m_Instance->decision.c_str());
780 return m_Instance->image_width;
786 return m_Instance->image_height;
790 property int num_detections
793 return m_Instance->num_detections;
796 property cli::array<Box^>^ boxes
798 cli::array<Box^>^ get() {
799 std::vector<DaoAI::DeepLearning::Box> native_boxes = m_Instance->boxes;
800 cli::array<Box^>^ boxes = gcnew cli::array<Box^>(native_boxes.size());
801 for (
int i = 0; i < native_boxes.size(); i++) {
802 boxes[i] = gcnew Box(native_boxes[i]);
807 property cli::array<double>^ confidences
809 cli::array<double>^ get() {
810 cli::array<double>^ confidences = gcnew cli::array<double>(m_Instance->confidences.size());
811 for (
int i = 0; i < m_Instance->confidences.size(); i++) {
812 confidences[i] = m_Instance->confidences[i];
817 property cli::array<int>^ class_ids
819 cli::array<int>^ get() {
820 cli::array<int>^ class_ids = gcnew cli::array<int>(m_Instance->class_ids.size());
821 for (
int i = 0; i < m_Instance->class_ids.size(); i++) {
822 class_ids[i] = m_Instance->class_ids[i];
827 property cli::array<String^>^ class_labels
829 cli::array<String^>^ get() {
830 std::vector<std::string> native_labels = m_Instance->class_labels;
831 cli::array<String^>^ labels = gcnew cli::array<String^>(native_labels.size());
832 for (
int i = 0; i < native_labels.size(); i++) {
833 labels[i] = gcnew String(native_labels[i].c_str());
839 property cli::array<Mask^>^ masks
841 cli::array<Mask^>^ get() {
842 std::vector<DaoAI::DeepLearning::Mask> native_masks = m_Instance->masks;
843 cli::array<Mask^>^ masks = gcnew cli::array<Mask^>(native_masks.size());
844 for (
int i = 0; i < native_masks.size(); i++) {
845 masks[i] = gcnew Mask(native_masks[i]);
851 property cli::array<cli::array<Point^>^>^ keypoints
853 cli::array<cli::array<Point^>^>^ get() {
854 std::vector<std::vector<DaoAI::DeepLearning::Point>> native_keypoints = m_Instance->keypoints;
855 cli::array<cli::array<Point^>^>^ keypoints = gcnew cli::array<cli::array<Point^>^>(native_keypoints.size());
856 for (
int i = 0; i < native_keypoints.size(); i++) {
857 keypoints[i] = gcnew cli::array<Point^>(native_keypoints[i].size());
858 for (
int j = 0; j < native_keypoints[i].size(); j++) {
859 keypoints[i][j] = gcnew Point(native_keypoints[i][j]);
866 property Point^ center
869 return gcnew Point(m_Instance->center);
873 property double angle
876 return m_Instance->angle;
880 property String^ decision
883 return gcnew String(m_Instance->decision.c_str());
888 public ref struct Region :
public ManagedObject<DaoAI::DeepLearning::Vision::UnsupervisedDefectSegmentationResult::Region>
893 property double ai_deviation_score
896 return m_Instance->ai_deviation_score;
900 property String^ label
903 return gcnew String(m_Instance->label.c_str());
910 return m_Instance->defect;
917 return gcnew Box(m_Instance->bbox[0], m_Instance->bbox[1], m_Instance->bbox[2], m_Instance->bbox[3], NAN, Box::Type::XYXY);
933 return m_Instance->image_width;
939 return m_Instance->image_height;
946 return gcnew Mask(m_Instance->mask);
950 property Mask^ anomaly_heatmap
953 return gcnew Mask(m_Instance->anomaly_heatmap);
957 property double ai_deviation_score
960 return m_Instance->ai_deviation_score;
967 return m_Instance->defect;
971 property cli::array<Region^>^ region_defects
973 cli::array<Region^>^ get() {
974 std::vector<DaoAI::DeepLearning::Vision::UnsupervisedDefectSegmentationResult::Region> native_regions = m_Instance->region_defects;
975 cli::array<Region^>^ regions = gcnew cli::array<Region^>(native_regions.size());
976 for (
int i = 0; i < native_regions.size(); i++) {
977 regions[i] = gcnew Region(native_regions[i]);