pub mod assigner;
pub mod augment;
pub mod rng;
pub mod rot_nms;
#[cfg(feature = "torch")]
pub mod backbone;
#[cfg(feature = "torch")]
pub mod backbone_cspelan;
pub mod backbone_dino;
#[cfg(feature = "torch")]
pub mod backbone_resnet;
#[cfg(feature = "torch")]
pub mod heads;
#[cfg(feature = "torch")]
pub mod keypoint;
#[cfg(feature = "torch")]
pub mod kfiou;
#[cfg(feature = "torch")]
pub mod mask;
#[cfg(feature = "torch")]
pub mod models;
#[cfg(feature = "torch")]
pub mod oks;
#[cfg(feature = "torch")]
pub mod prelude {
pub use av_core::traits::{
BaseBackbone, Configurable, FeatureMap, FeatureNeck, FeaturePyramid, LossAggregator,
LossDict, PostProcessor, TaskHead, WeightedSumAggregator,
};
pub use av_core::types::{DetTarget, Detection, ImageMeta, ObbTarget};
}
#[cfg(feature = "torch")]
pub fn register_builtin() -> av_core::AvResult<()> {
use av_core::registry::{register, Category};
register(Category::Backbone, crate::backbone::FAMILY_NAME)?;
register(Category::Backbone, crate::backbone_dino::FAMILY_NAME)?;
register(Category::Backbone, crate::backbone_resnet::FAMILY_NAME)?;
register(Category::Head, "classify")?;
register(Category::Head, "detect")?;
register(Category::Head, "obb")?;
register(Category::Head, "seg")?;
register(Category::Head, "keypoint")?;
register(Category::Loss, "kfiou")?;
register(Category::Loss, "probiou")?;
register(Category::Loss, "dice")?;
register(Category::PostProc, "rotate_nms")?;
Ok(())
}