Struct Prediction
pub struct Prediction { /* private fields */ }
Expand description
The possible output of each predictions found during the run.
Implementations§
§impl Prediction
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
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
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>
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>
pub fn prediction_score(&self) -> Option<f64>
Retrieves the confidence value of the prediction.
pub fn bounding_boxes(&self) -> Option<Vec<BoundingBox>>
pub fn bounding_boxes(&self) -> Option<Vec<BoundingBox>>
Copies the bounding boxes in the detection and returns it as a vector of BoundingBox
es.
Trait Implementations§
§impl Clone for Prediction
impl Clone for Prediction
§fn clone(&self) -> Prediction
fn clone(&self) -> Prediction
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for Prediction
impl Debug for Prediction
§impl<'de> Deserialize<'de> for Prediction
impl<'de> Deserialize<'de> for Prediction
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Prediction, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
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
impl Serialize for Prediction
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
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§
impl Freeze for Prediction
impl RefUnwindSafe for Prediction
impl Send for Prediction
impl Sync for Prediction
impl Unpin for Prediction
impl UnwindSafe for Prediction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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