1use thiserror::Error;
4
5pub type SceneResult<T> = Result<T, SceneError>;
7
8#[derive(Error, Debug)]
10pub enum SceneError {
11 #[error("Invalid dimensions: {0}")]
13 InvalidDimensions(String),
14
15 #[error("Invalid parameter: {0}")]
17 InvalidParameter(String),
18
19 #[error("Feature extraction failed: {0}")]
21 FeatureExtractionFailed(String),
22
23 #[error("Classification failed: {0}")]
25 ClassificationFailed(String),
26
27 #[error("Detection failed: {0}")]
29 DetectionFailed(String),
30
31 #[error("Segmentation failed: {0}")]
33 SegmentationFailed(String),
34
35 #[error("Model not loaded: {0}")]
37 ModelNotLoaded(String),
38
39 #[error("Insufficient data: {0}")]
41 InsufficientData(String),
42
43 #[error("CV error: {0}")]
45 CvError(#[from] oximedia_cv::error::CvError),
46
47 #[error("Core error: {0}")]
49 CoreError(#[from] oximedia_core::error::OxiError),
50
51 #[cfg(feature = "onnx")]
53 #[error("ML error: {0}")]
54 MlError(#[from] oximedia_ml::MlError),
55}