Expand description
§sevensense-analysis
Analysis bounded context for 7sense bioacoustic analysis platform.
This crate provides clustering, motif detection, sequence analysis, and anomaly detection capabilities for bioacoustic embeddings.
§Features
- Clustering: HDBSCAN and K-means clustering for grouping similar vocalizations
- Prototype Extraction: Identify representative embeddings (exemplars) for each cluster
- Motif Detection: Discover recurring patterns in vocalization sequences
- Sequence Analysis: Markov chain analysis, transition matrices, entropy computation
- Anomaly Detection: Identify unusual or novel vocalizations
§Architecture
This crate follows Domain-Driven Design (DDD) with hexagonal architecture:
domain/- Core domain entities, value objects, and repository traitsapplication/- Application services orchestrating domain operationsinfrastructure/- Concrete implementations (HDBSCAN, Markov chains, etc.)
§Example
ⓘ
use sevensense_analysis::{
application::ClusteringService,
domain::{ClusteringConfig, ClusteringMethod},
};
let service = ClusteringService::new(ClusteringConfig::default());
let embeddings = vec![/* ... */];
let clusters = service.run_hdbscan(&embeddings).await?;Re-exports§
pub use domain::entities::Anomaly;pub use domain::entities::AnomalyType;pub use domain::entities::Cluster;pub use domain::entities::ClusterId;pub use domain::entities::EmbeddingId;pub use domain::entities::Motif;pub use domain::entities::MotifOccurrence;pub use domain::entities::Prototype;pub use domain::entities::RecordingId;pub use domain::entities::SegmentId;pub use domain::entities::SequenceAnalysis;pub use domain::repository::ClusterRepository;pub use domain::repository::MotifRepository;pub use domain::repository::SequenceRepository;pub use domain::events::AnalysisEvent;pub use domain::events::ClusterAssigned;pub use domain::events::ClustersDiscovered;pub use domain::events::MotifDetected;pub use domain::events::SequenceAnalyzed;pub use domain::value_objects::ClusteringConfig;pub use domain::value_objects::ClusteringMethod;pub use domain::value_objects::ClusteringParameters;pub use domain::value_objects::MotifConfig;pub use domain::value_objects::SequenceMetrics;pub use domain::value_objects::TransitionMatrix;pub use application::services::AnomalyDetectionService;pub use application::services::ClusteringService;pub use application::services::MotifDetectionService;pub use application::services::SequenceAnalysisService;pub use metrics::ClusteringMetrics;pub use metrics::SequenceEntropy;pub use metrics::SilhouetteScore;pub use metrics::VMeasure;
Modules§
- application
- Application layer for the Analysis bounded context.
- domain
- Domain layer for the Analysis bounded context.
- infrastructure
- Infrastructure layer for the Analysis bounded context.
- metrics
- Clustering quality metrics and evaluation.
- prelude
- Prelude module for convenient imports
Constants§
- VERSION
- Crate version information