๐ Welcome to SimBAโs documentation!๏
Note๏
These docs are under development. For detailed tutorials, code, and more extensive documentation see the SimBA GitHub repository.
If you find any of the codebase or associated documentation useful, please cite us.
For support, see the SimBA Gitter channel.
For a high-level overview of SimBAโs raison dโรชtre, use cases, background, and key functions โ aimed at behavioral scientists โ see this video.
๐ INSTALLATION๏
To install SimBA via pip, use the following command (preferably using python3.6, or python 3.10 if necessary):
pip install simba-uw-tf-dev
For detailed installation instructions via pip, click HERE or HERE.
For detailed installation instructions via Anaconda Navigator, click HERE or HERE.
MORE INFORMATION๏
See below for raison dโรชtre, detailed API, tutorials, data, documentation, support, and walkthroughs:
API REFERENCE:
- ๐ API Reference
- ๐ Blob tracking tools
- ๐ฆ Bounding-box tools
- ๐ Circular transformations
- ๐ง Config reader
- ๐ก Cue-light tools
- ๐ง Data processing tools
- Aggregate classifier statistics calculator
- Interpolate pose-estimation data
- Advanced pose-estimation interpolation
- Smooth pose-estimation data
- Advanced smooth pose-estimation data
- Directing-other-animals calculator
- Directing-other-animals body-parts calculator
- Forward-spike-time-tiling coefficient calculator
- Pose interpolator calculator
- Pose interpolator and smoothing calculators
- Kleinberg calculator
- Movement calculator
- Pup-retrieval calculator
- SimBA pyburst calculator
- Severity calculator
- Classifier time-bins calculator
- Movement time-bins calculator
- Movement time-bins calculator (multiprocess)
- Aggregate classifier statistics (multiprocess)
- Directing-animal-to-bodypart calculator
- Severity bout-based calculator
- Severity frame-based calculator
- YOLO track cleaner
- SHAP log (GPU)
- Mutual exclusivity refactorer
- Boolean conditional calculator
- Gibbs sampling
- Spontaneous alternation calculator
- โBlobโ location detector
- Egocentric data / video alignment
- Heuristic circling detector
- Heuristic freezing detector
- Data GPU methods
- Light-dark box analysis
- ๐ Feature extraction mixins
- ๐ Feature extraction wrappers
- Default feature extractor for 2 animals and 14 body-parts
- Default feature extractor for 1 animals and 16 body-parts
- Default feature extractor for 1 animals and 4 body-parts
- Default feature extractor for 1 animals and 7 body-parts
- Default feature extractor for 1 animals and 8 body-parts
- Default feature extractor for 2 animals and 16 body-parts
- Default feature extractor for 1 animals and 9 body-parts
- Default feature extractor for user-defined body-parts
- Feature extractor for feature subset family
- Jitted methods for convex-hull related calculations
- Rearing and grooming feature extraction wrapper
- Straub tail feature extraction wrapper
- Mexican cave fish feature extraction wrapper
- Rat social behavior feature extraction wrapper
- Gerbil single body-part feature extraction wrapper
- Aggression feature extractor (11/25)
- AMBER pipeline feature extractor
- Boundary rearing feature extractor
- Riptortus pedestris feature extractor
- Custom feature extractor
- ๐ Geometry transformations
- ๐ผ๏ธ Image transformations
- ๐ท๏ธ Labeling tools
- ๐ค 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
- โ ๏ธ Outlier correction
- ๐จ 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
- Import single DLC CSV file
- Import multiple DLC CSV files
- Import MARS pose-estimation data
- Import DANNCE pose-estimation data
- Import SLEAP CSV pose-estimation data
- Import SLEAP H5 pose-estimation data
- Import SLEAP SLP pose-estimation data
- Import APT TRK pose-estimation data
- Import DLC H5 files
- Reset pose
- Remove key-points
- Re-organize key-points
- Reverse pose
- Pose import mixins
- Import SimBA blob tracking as pose
- Import FaceMap body-part tracking
- Import SuperAnimal-TopView Mouse body-part tracking
- Import YOLO pose-estimation tracking (unique individuals, non-track based, only)
- ๐บ๏ธ ROI tools
- ๐ Statistics transformations
- ๐ฅ Third-party label appenders
- BENTO
- BORIS
- BORIS source cleaner
- Deepethogram
- Ethovison
- Noldus Observer
- Solomon coder
- Shah appender
- Generic third-party appender tool
- Third-party annotation tools
- Annotation format converters
- 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
- Lightning Pose annotations -> YOLO pose-estimation annotations
- Lightning Pose annotations -> YOLO bounding box annotations
- Merge Lightning Pose projects
- Crop Lightning Pose annotations
- Crop Lightning Pose annotations (bounding box square)
- Create Lightning Pose bounding box files
- Multi-animal DeepLabCut -> YOLO pose-estimation annotations
- DeepLabCut single-to-multi-animal format converter
- DeepLabCut annotations -> Labelme annotations
- Labelme annotations -> DeepLabCut annotations
- Labelme annotations -> DataFrame
- Labelme annotations -> DeepLabCut 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
- SLEAP CSV predictions -> YOLO pose-estimation annotations
- SLEAP H5 predictions -> YOLO pose-estimation annotations
- SLEAP annotations -> YOLO pose-estimation annotations
- Annotation conversion utilities
- ๐ Time-series transformations
- ๐ฎ Unsupervised learning
- ๐ฅ๏ธ User Interface (UI) tools
- Create project UI
- Set machine learning hyperparameters UI
- SimBA ML settings frame
- SimBA tkinter methods
- SimBA create user-defined pose config UI
- SimBA set video info UI
- SimBA video timelapse
- SimBA import pose frame
- SimBA import videos frame
- SimBA batch process menus
- SimBA get pixels per millimeter converstion UI
- SimBA pop-up UIs
- SimBA pop-up mixin
- โ๏ธ Utilities
- ๐น Video processing tools
- ๐๏ธ YOLO Methods
NOTEBOOKS:
- ๐ Notebooks
- โ๏ธ General processing
- Import data and perform classifications (Example 1)
- Shapley calculations: Example I (single core)
- Shapley calculations: Example II (multiple cores)
- Shapley calculations: Example III (GPU)
- Outlier correction
- Append third-party annotations
- Advanced smoothing and interpolation
- Advanced outlier correction
- Kleinberg batch / grid-search
- Train models: Example 1
- ๐ Visualizations
- ๐ Geometry- and image-related calculators
- Geometry computations Example 1: Movement key-point statistics in grid-system
- Geometry computations Example 2: Movement hull statistics in grid-system
- Geometry computations Example 3: Animal paths
- Geometry computations Example 4: Slice animal videos on CPU
- Geometry computations Example 5: Slice animal shapes
- Geometry computations Example 6: ROI and path statistics
- Geometry computations: Example 7
- YOLO bounding boxes: Example 1
- Remove video background
- Egocentric data and video alignment
- Blob tracking with SimBA
- ๐น Blob tracking visualization
- ๐งฐ Miscellaneous
- โ๏ธ General processing
USER GUIDE / TUTORIALS:
WALKTHROUGHS:
LABELLING TUTORIALS:
ABOUT: