Struct Prediction

pub struct Prediction { /* private fields */ }
Expand description

The possible output of each predictions found during the run.

Implementations§

§

impl Prediction

pub fn new(file_path: PathBuf) -> Prediction

pub fn from_detections( file_path: PathBuf, detections: Vec<Detection>, ) -> Prediction

pub fn from_classifications( file_path: PathBuf, classifications: ClassificationBundle, ) -> Prediction

pub fn from_ensemble( file_path: PathBuf, country: Option<String>, admin1_region: Option<String>, geofence_result: GeofenceResult, detections: Vec<Detection>, classifications: ClassificationBundle, ) -> Prediction

pub fn set_file_path(&mut self, path: PathBuf) -> &mut Prediction

pub fn set_country(&mut self, country: Option<String>) -> &mut Prediction

pub fn set_admin1_region( &mut self, admin1_region: Option<String>, ) -> &mut Prediction

pub fn set_detections( &mut self, detections: Option<Vec<Detection>>, ) -> &mut Prediction

pub fn set_classifications( &mut self, classifications: Option<ClassificationBundle>, ) -> &mut Prediction

pub fn set_prediction(&mut self, prediction: Option<String>) -> &mut Prediction

pub fn set_prediction_score( &mut self, prediction_score: Option<f64>, ) -> &mut Prediction

pub fn set_prediction_source( &mut self, prediction_source: Option<String>, ) -> &mut Prediction

pub fn set_model_version( &mut self, model_version: Option<String>, ) -> &mut Prediction

Sets the prediction object’s model version to a given value.

pub fn merge(&mut self, other: Prediction) -> &mut Prediction

Merges 2 Prediction structs together, where the other Prediction would override the initial predictions value if there are values in the Some variant.

§Examples
use std::path::{Path, PathBuf};

use crate::{
    category::Category,
    classification::ClassificationBundle,
    detection::Detection,
    prediction::Prediction,
};

let mut prediction1 = Prediction::default();
prediction1.set_file_path(PathBuf::from("./abd12333/20241212_121922.jpeg"));
prediction1.set_detections(Some(vec![Detection::new(
    Category::Human,
    0.93,
    BoundingBox::new(0.1, 0.2, 0.3, 0.3),
)]));

let mut prediction2 = Prediction::default();

prediction2.set_classifications(Some(ClassificationBundle::new(
    vec![
    "00049ff0-2ffa-4d82-8cf3-c861fbbfa9d5;mammalia;rodentia;muridae;rattus;;rattus species"
        .to_owned(),
    "006959ea-d591-404e-b457-505aaa7d80dc;aves;passeriformes;sittidae;;;sittidae family"
        .to_owned(),
],
    vec![0.88333, 0.9331],
)));

prediction1.merge(prediction2);

assert_eq!(
    prediction1.file_path().to_string_lossy(),
    PathBuf::from("./abd12333/20241212_121922.jpeg").to_string_lossy()
);
assert!(prediction1.detections().is_some());
assert_eq!(
    prediction1
        .detections()
        .unwrap()
        .first()
        .unwrap()
        .category(),
    &Category::Human,
);

assert_eq!(
    prediction1
        .detections()
        .unwrap()
        .first()
        .unwrap()
        .bounding_box(),
    &BoundingBox::new(0.1, 0.2, 0.3, 0.3)
);

assert!(prediction1.classifications().is_some());

pub fn detections(&self) -> &Option<Vec<Detection>>

pub fn classifications(&self) -> &Option<ClassificationBundle>

pub fn file_path(&self) -> &Path

pub fn prediction_id(&self) -> Option<Uuid>

Extracts the id part of the predicted prediction as a Uuid from the labels string in format of.

id;class;order;family;genus;species;common name

pub fn prediction_reference(&self) -> Option<&str>

pub fn prediction_score(&self) -> Option<f64>

Retrieves the confidence value of the prediction.

pub fn bounding_boxes(&self) -> Option<Vec<BoundingBox>>

Copies the bounding boxes in the detection and returns it as a vector of BoundingBoxes.

Trait Implementations§

§

impl Clone for Prediction

§

fn clone(&self) -> Prediction

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for Prediction

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'de> Deserialize<'de> for Prediction

§

fn deserialize<__D>( __deserializer: __D, ) -> Result<Prediction, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
§

impl Serialize for Prediction

§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,