Skip to content

Commit f972660

Browse files
authored
Merge pull request #284 from KumarLabJax/task/add-jabs-vision-package
Task/add jabs vision package
2 parents a9e6a8b + ba5b2f0 commit f972660

File tree

5 files changed

+103
-3
lines changed

5 files changed

+103
-3
lines changed

packages/jabs-vision/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# JABS Vision (`jabs-vision`)
2+
3+
This package handles raw video processing and deep learning training and inference.
4+
5+
## Overview
6+
7+
`jabs-vision` is responsible for converting raw video frames into pose estimation data.
8+
It houses the heavy machine learning frameworks and GPU-accelerated code.
9+
10+
## Responsibilities
11+
12+
- **Pose Estimation Inference**: Running deep learning models (PyTorch) on video frames
13+
to detect keypoints.
14+
- **Static Object Detection**
15+
- **Segmentation Masking**
16+
- **Identity Matching**: Tracking individual animals across frames using vectorized
17+
features.
18+
- **Video Processing**: Handling frame extraction and normalization for input to vision
19+
models.
20+
21+
## Key Components
22+
23+
- `jabs.vision.inference`: Wrappers for pose estimation model execution.
24+
- `jabs.vision.tracking`: Identity matching and re-identification logic.
25+
26+
## Dependencies
27+
28+
- `torch` / `torchvision`
29+
- `opencv-python-headless`
30+
- `jabs-io`, `jabs-core`
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
[project]
2+
name = "jabs-vision"
3+
version = "0.1.0"
4+
description = ""
5+
readme = "README.md"
6+
requires-python = ">=3.10,<3.15"
7+
license = { text = "Proprietary" }
8+
9+
authors = [
10+
{ name = "Glen Beane" },
11+
{ name = "Alexander Berger-Liedtka" },
12+
{ name = "Keith Sheppard" },
13+
]
14+
15+
dependencies = [
16+
"jabs-io",
17+
"jabs-core",
18+
"hydra-core>=1.3.2",
19+
"torch>=2.9.1",
20+
"torchvision>=0.24.1",
21+
]
22+
23+
[tool.uv.sources]
24+
jabs-io = { workspace = true }
25+
jabs-core = { workspace = true }
26+
27+
[project.optional-dependencies]
28+
plot = [
29+
"matplotlib>=3.10.8",
30+
]
31+
mlflow = [
32+
"mlflow>=3.8.1",
33+
]
34+
wandb = [
35+
"wandb>=0.24.0",
36+
]
37+
submitit = [
38+
"submitit>=1.5.4",
39+
]
40+
timm = [
41+
"timm>=1.0.0",
42+
]
43+
44+
[dependency-groups]
45+
dev = [
46+
{include-group = "lint"},
47+
{include-group = "test"},
48+
"pre-commit>=4.2.0,<5.0.0",
49+
"matplotlib>=3.9.3,<4.0.0",
50+
]
51+
test = [
52+
"pytest>=8.3.4,<9.0.0",
53+
"pytest-cov>=7.0.0",
54+
]
55+
lint = [
56+
"ruff>=0.11.5,<0.12.0",
57+
]
58+
59+
[project.urls]
60+
Repository = "https://github.com/KumarLabJax/JABS-behavior-classifier"
61+
Issues = "https://github.com/KumarLabJax/JABS-behavior-classifier/issues"
62+
63+
[build-system]
64+
requires = ["uv_build>=0.9.26,<0.10.0"]
65+
build-backend = "uv_build"
66+
67+
[tool.uv.build-backend]
68+
module-name = "jabs.vision"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""The jabs.vision package."""
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""Tests for the jabs.vision package."""

zensical.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
[project]
22
site_name = "JABS Documentation"
33
site_description = "End-user and developer documentation for JABS (Jax Animal Behavior System)."
4-
site_author = "Alexander Berger-Liedtka, Glen Beane, Keith Sheppard"
4+
site_author = "Glen Beane, Alexander Berger-Liedtka, Keith Sheppard"
55
repo_name = "JABS-behavior-classifier"
66
repo_url = "https://github.com/KumarLabJax/JABS-behavior-classifier"
77
copyright = """
8-
Copyright &copy; 2026 The Jackson Laboratory
8+
Copyright &copy; 2026 The Kumar Lab & The Jackson Laboratory
99
"""
1010

1111
# The site_url is the canonical URL for your site. When building online
1212
# documentation you should set this.
1313
# Read more: https://zensical.org/docs/setup/basics/#site_url
14-
#site_url = "https://www.example.com/"
14+
site_url = "https://kumarlabjax.github.io/JABS-behavior-classifier/"
1515

1616
# Read more: https://zensical.org/docs/setup/navigation/
1717
nav = [

0 commit comments

Comments
 (0)