📖 API Reference
This section provides a categorized reference of SimBA’s modules and methods, grouped by their functionality such as feature extraction, plotting, transformation, and modeling.
📑 Find anything fast
Browse the Module Index — an alphabetical list of every SimBA module, and the quickest way to find where a class or function lives.
Or jump to the General Index (every class, function and term, A–Z), or use full-text search.
🔍 Blob tracking tools
Track animals in videos using background subtraction and blob detection. Extract geometric features (center, nose, tail, left/right points) from detected blob shapes without requiring pose-estimation data.
📦 Bounding-box tools
Detect animal interactions via overlapping bounding boxes.
See tutorial: Cue-light tutorial
- Bounding-box tools
- YOLO methods
- Utilities
- Bounding-box inference
- NVDEC GPU-accelerated YOLO inference
- Pose-estimation inference
- YOLO pose-estimation segmentation visualizer
- YOLO pose-estimation segmentation inference
- Pose-estimation track inference
- Pose-estimation track plotting
- Pose-estimation plotting
- Bounding box plotting
- YOLO annotation visualizer
- COCO key-points -> YOLO pose-estimation format conversion
- COCO key-points -> YOLO bounding box conversion
- COCO key-points -> YOLO segmentation conversion
- SAM3 -> YOLO segmentation project
- SAM3 -> YOLO bounding-box (detection) project
- Merge multiple YOLO projects
- Multi-animal DeepLabCut predictions -> YOLO pose-estimation annotations format conversion
- DeepLabCut predictions -> YOLO pose-estimation annotations
- Labelme annotations -> YOLO bounding box annotations
- Labelme points -> YOLO keypoints annotations
- Labelme points -> YOLO segmentation annotations
- SimBA ROIs -> YOLO bounding box annotations
- SimBA pose-estimation -> YOLO pose-estimation annotations
- SimBA pose-estimation -> YOLO segmentation annotations
- SLEAP CSV predictions -> YOLO pose-estimation annotations
- SLEAP H5 predictions -> YOLO pose-estimation annotations
- SLEAP annotations -> YOLO pose-estimation annotations
- LightningPose keypoints -> YOLO bounding box conversion
- LightningPose keypoints -> YOLO pose-estimation annotations
🔁 Circular transformations
Statistical operations for circular data like head direction. Wraparound-aware, multi-animal capable, and based on body-part derived base angles.
🔧 Config reader
Parse SimBA config files and access project-specific metadata.
💡 Cue-light tools
Link animal behavior to cue-light on/off states.
See tutorial: Cue-light tutorial
🔧 Data processing tools
Transform classification, tracking, and image data.
📏 Feature extraction mixins
Core low-level feature methods used in SimBA’s default extraction pipelines.
📝 Feature extraction wrappers
Pre-configured “out-of-the-box” feature extraction modules for common pose-estimation schemas.
📐 Geometry transformations
Transform pose-estimated body-part coordinates into geometric shapes (bounding boxes, polygons, circles), and compute spatial relationships like distance and intersection.
🖼️ Image transformations
Slice frames and extract visual information from tracking data; compare image features across time.
🏷️ Labeling tools
SimBA tools for annotating behavioral events.
🤖 Model tools
Create, train, and manage behavior classifiers in SimBA.
- Model tools
- Model mixin
- Batch random forest inference
- Batch multi-animal random forest inference
- Batch multi-class random forest inference
- Grid-search random forest classifiers
- Grid-search random forest multi-classifiers
- Random forest inference - validation
- Fit random forest classifier
- Fit random forest classifier - multi-class
- Ordinal classifier methods
- Regression - metrics
- Regression - fit and transform
- SAM2 segmentation inference
- Fit YOLO model
- YOLO bounding-box inference
🔗 Network transformations
Build and analyze graphs derived from pose-estimation time-series data.
⚠️ Outlier correction
Heuristic-based filtering of body-part tracking outliers.
🎨 Plotting and visualization tools
Visualize behavioral data and pose-tracking outputs.
- Plotting and visualization tools
- Direction between animals
- Direction between animals - multiprocess
- ROI feature visualization
- ROI feature visualization - multiprocess
- ROI directing visualization
- ROI visualizer
- ROI visualizer - multiprocess
- Circular base feature plotter
- Circular diffusion plotting
- Classifier validation
- Classifier validation - multiprocess
- Data plotter
- Distance plotter
- Distance plotter - multiprocess
- Quick path plot (Ez path plot)
- Merge videos
- Gantt plot
- Gantt plot - multiprocess
- Gantt plot - fancy
- Classifier heatmaps
- Classifier heatmaps - multiprocess
- Location heatmaps
- Location heatmaps - multiprocess
- Interactive classifier probability plotter
- Path plotter
- Path plotter - multiprocess
- Classification plotter
- Classification plotter - multiprocess
- Annotation bout plotter
- Pose-estimation plotter
- Skeleton video creator
- Classification probability plotter
- Classification probability plotter - multiprocess
- SHAP aggregation plotter
- Single video validation plotter
- Single video validation plotter - multiprocess
- Geometry plotter (generic)
- Spontaneous alternation plotter
- “Blob” plotter
- “Blob” plotter
- YOLO bounding-box plotter
- YOLO model comparator
- Plotting methods
- Light-/Dark-box plotting
📦 Pose-estimation import tools
Parse, load, and process pose-estimation data from common formats.
🗺️ ROI tools
Define and analyze regions-of-interest (ROIs) in relation to tracking data.
📊 Statistics transformations
Compute statistical features, drift, distances, and distribution comparisons in sliding or static time windows.
📥 Third-party label appenders
Append labels from external annotation tools to pose-estimation outputs.
🕐 Time-series transformations
Analyze time-series complexity using sliding window methods.
🔮 Unsupervised learning
Clustering and dimensionality reduction methods for behavioral analysis.
🖥️ User Interface (UI) tools
SimBA’s GUI components and window-based interaction logic.
⚙️ Utilities
Helper methods for logging, CLI execution, argument checks, warnings, and I/O.
📹 Video processing tools
Video processing tools using OpenCV and FFmpeg.
👁️ YOLO Methods
Methods for training YOLO models, creating training and validation datasets, and converting behavioral neuroscience-specific datasets to YOLO datasets.
Uses the Ultralytics package.
- YOLO methods
- Utilities
- Bounding-box inference
- NVDEC GPU-accelerated YOLO inference
- Pose-estimation inference
- YOLO pose-estimation segmentation visualizer
- YOLO pose-estimation segmentation inference
- Pose-estimation track inference
- Pose-estimation track plotting
- Pose-estimation plotting
- Bounding box plotting
- YOLO annotation visualizer
- COCO key-points -> YOLO pose-estimation format conversion
- COCO key-points -> YOLO bounding box conversion
- COCO key-points -> YOLO segmentation conversion
- SAM3 -> YOLO segmentation project
- SAM3 -> YOLO bounding-box (detection) project
- Merge multiple YOLO projects
- Multi-animal DeepLabCut predictions -> YOLO pose-estimation annotations format conversion
- DeepLabCut predictions -> YOLO pose-estimation annotations
- Labelme annotations -> YOLO bounding box annotations
- Labelme points -> YOLO keypoints annotations
- Labelme points -> YOLO segmentation annotations
- SimBA ROIs -> YOLO bounding box annotations
- SimBA pose-estimation -> YOLO pose-estimation annotations
- SimBA pose-estimation -> YOLO segmentation annotations
- SLEAP CSV predictions -> YOLO pose-estimation annotations
- SLEAP H5 predictions -> YOLO pose-estimation annotations
- SLEAP annotations -> YOLO pose-estimation annotations
- LightningPose keypoints -> YOLO bounding box conversion
- LightningPose keypoints -> YOLO pose-estimation annotations