Files
detections/inference.pxd
T

47 lines
2.1 KiB
Cython

from ai_availability_status cimport AIAvailabilityStatus
from annotation cimport Annotation, Detection
from ai_config cimport AIRecognitionConfig
from engines.inference_engine cimport InferenceEngine
cdef class Inference:
cdef object loader_client
cdef InferenceEngine engine
cdef object _annotation_callback
cdef object _status_callback
cdef Annotation _previous_annotation
cdef dict[str, list(Detection)] _tile_detections
cdef dict[str, int] detection_counts
cdef AIRecognitionConfig ai_config
cdef bint stop_signal
cdef public AIAvailabilityStatus ai_availability_status
cdef str model_input
cdef int model_width
cdef int model_height
cdef bytes _converted_model_bytes
cdef bytes get_onnx_engine_bytes(self)
cdef convert_and_upload_model(self, bytes onnx_engine_bytes, str engine_filename)
cdef init_ai(self)
cdef bint is_building_engine
cdef bint is_video(self, str filepath)
cpdef run_detect(self, dict config_dict, object annotation_callback, object status_callback=*)
cpdef list detect_single_image(self, bytes image_bytes, dict config_dict)
cdef _process_video(self, AIRecognitionConfig ai_config, str video_name)
cdef _process_images(self, AIRecognitionConfig ai_config, list[str] image_paths)
cdef _process_images_inner(self, AIRecognitionConfig ai_config, list frame_data, double ground_sampling_distance)
cdef on_annotation(self, Annotation annotation, int frame_count=*, int total_frames=*)
cdef split_to_tiles(self, frame, path, tile_size, overlap_percent)
cpdef stop(self)
cdef preprocess(self, frames)
cdef send_detection_status(self)
cdef remove_overlapping_detections(self, list[Detection] detections, float confidence_threshold=?)
cdef postprocess(self, output, ai_config)
cdef split_list_extend(self, lst, chunk_size)
cdef bint is_valid_video_annotation(self, Annotation annotation, AIRecognitionConfig ai_config)
cdef bint is_valid_image_annotation(self, Annotation annotation, double ground_sampling_distance, frame_shape)
cdef remove_tiled_duplicates(self, Annotation annotation)