typedef struct {
    ei_impulse_result_bounding_box_t *bounding_boxes;
    uint32_t bounding_boxes_count;
    ei_impulse_result_classification_t classification[EI_CLASSIFIER_LABEL_COUNT];
    float anomaly;
    ei_impulse_result_timing_t timing;
} ei_impulse_result_t;

Brief: Holds the output of inference, anomaly results, and timing information.

Location: edge-impulse-sdk/classifier/ei_classifier_types.h

ei_impulse_result_t holds the output of run_classifier(). If object detection is enabled (e.g. EI_CLASSIFIER_OBJECT_DETECTION == 1), then the output results is a pointer to an array of bounding boxes of size bounding_boxes_count, as given by ei_impulse_result_bounding_box_t. Otherwise, results are stored as an array of classification scores, as given by ei_impulse_result_classification_t.

If anomaly detection is enabled (e.g. EI_CLASSIFIER_HAS_ANOMALY == 1), then the anomaly score will be stored as a floating point value in anomaly.

Timing information is stored in an ei_impulse_result_timing_t struct.


  • bounding_boxes[] - Array of bounding boxes, if object detection is enabled.
  • classification[] - Array of classification scores (if object detection is not enabled)
  • anomaly - A higher anomaly score indicates greater likelihood of an anomalous sample (e.g. it is farther away from its cluster).
  • timing - Information about the time it took to execute sampling, preprocessing (DSP), and inference.