Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
cc55285
Add modular camera backends with Basler and GenTL support
arturoptophys Oct 21, 2025
09abd98
Merge pull request #1 from arturoptophys/codex/update-repository-for-…
arturoptophys Oct 21, 2025
893b28a
Rearrange UI and improve camera controls
arturoptophys Oct 21, 2025
0b0ac33
modifyed gentl_backend
arturoptophys Oct 21, 2025
b13a417
Merge branch 'artur/test_update' into codex/update-gui-to-enhance-cam…
arturoptophys Oct 21, 2025
8110085
Improve camera control flow and recording alignment
arturoptophys Oct 21, 2025
8e728e7
Merge pull request #2 from arturoptophys/codex/update-gui-to-enhance-…
arturoptophys Oct 21, 2025
efda9d3
Improve camera stop flow and parameter propagation
arturoptophys Oct 21, 2025
13bff62
Merge branch 'codex/update-gui-to-enhance-camera-functionality-xq83kx…
arturoptophys Oct 21, 2025
f39c4c4
fixed video recordings (roughly)
arturoptophys Oct 22, 2025
7e7e3b6
updates
arturoptophys Oct 23, 2025
6402566
Added processors
arturoptophys Oct 23, 2025
c81e897
update processors
arturoptophys Oct 23, 2025
c7ee2f1
fixing sizes
arturoptophys Oct 23, 2025
7823829
modified the processor to be controllable
arturoptophys Oct 23, 2025
184e87b
Add GenTL device count retrieval, bounding box settings, and processo…
arturoptophys Oct 24, 2025
f1ab8b0
formatting and precommit workflow
arturoptophys Oct 24, 2025
39be1b2
documentations
arturoptophys Oct 24, 2025
ddcbc41
update dlc_processor, fix filtering
arturoptophys Oct 28, 2025
e2ff610
setting frame resolution
arturoptophys Oct 29, 2025
44de723
updated to look for model files
arturoptophys Nov 4, 2025
a5e70a6
dropped tensorflow support via GUI
arturoptophys Nov 5, 2025
229a839
more profiling of the processes
arturoptophys Nov 6, 2025
448bdc5
Add visualization settings and update camera backend for improved pos…
arturoptophys Nov 18, 2025
246452f
small bug fixes
arturoptophys Dec 5, 2025
103399c
black formatting
arturoptophys Dec 5, 2025
bcd89cc
some docs
arturoptophys Dec 5, 2025
7b70c24
updated docs
arturoptophys Dec 5, 2025
94ccc7b
Update dlclivegui/gui.py
MMathisLab Dec 5, 2025
c5659d7
Rename DLC Processor to DeepLabCut Processor
MMathisLab Dec 5, 2025
89cc84a
Moved path2models as well as optional device and further DLCProcessor…
arturoptophys Dec 9, 2025
edf6b80
remove path from docstring
arturoptophys Dec 9, 2025
37ca392
fix exposure settings in gentl backend
arturoptophys Dec 9, 2025
05ff126
Add logging for camera configuration and error handling in backends
arturoptophys Dec 18, 2025
5634059
Set default device to 'auto' in DLCProcessorSettings and include sing…
arturoptophys Dec 18, 2025
1b8622c
Add multi-camera controller for DLC Live GUI
arturoptophys Dec 22, 2025
5c7ee50
Refactor multi-camera handling to use camera IDs instead of indices; …
arturoptophys Dec 22, 2025
f332291
Enhance multi-camera support with tiled view rendering and display op…
arturoptophys Dec 22, 2025
009d0d5
Refactor multi-camera frame handling to improve performance; emit fra…
arturoptophys Dec 22, 2025
557403f
switched to pyside as gui backend
arturoptophys Dec 23, 2025
be91086
Add camera availability check and handle initialization failures in m…
arturoptophys Dec 23, 2025
6957468
Add camera preview functionality with start/stop toggle and real-time…
arturoptophys Dec 23, 2025
51fed8a
support multi-animal poses with distinct markers
arturoptophys Dec 23, 2025
b083a35
Update .gitignore
C-Achard Jan 23, 2026
88c883e
Update opencv_backend.py
C-Achard Jan 23, 2026
351e576
Switch to Ruff for linting and formatting
C-Achard Jan 28, 2026
1f139ab
Upgrade camera detection speed and UI
C-Achard Jan 28, 2026
988eb6d
Refactor camera loader initialization and cleanup comments
C-Achard Jan 28, 2026
4fe8abc
Enhance OpenCV camera backend for cross-platform support
C-Achard Jan 28, 2026
8d02ac6
Refactor camera loading and fix preview initialization logic
C-Achard Jan 28, 2026
6defc2e
fixed resizing of camera view, also prevent user from changing config…
arturoptophys Jan 26, 2026
ba1e3d8
fix timestamping with multiple cameras
arturoptophys Jan 28, 2026
38fbf4b
Add dark and system theme switching to GUI
C-Achard Jan 28, 2026
cc9a440
Add qdarkstyle and new optional dependencies
C-Achard Jan 28, 2026
c3624c3
Add inference camera selection to GUI
C-Achard Jan 28, 2026
4eaec2b
Improve camera stats display and FPS tracking
C-Achard Jan 28, 2026
7e1fe88
Refactor stats layout to use QGridLayout
C-Achard Jan 28, 2026
5fb96f2
Add splash screen and logo assets to GUI
C-Achard Jan 28, 2026
df8c9d8
Improve camera disconnect/error handling in multi-camera recording
C-Achard Jan 29, 2026
67a0b18
Add persistent model path and improve camera selection logic
C-Achard Jan 29, 2026
fcaba09
Improve camera config dialog and backend handling
C-Achard Jan 29, 2026
8bb68e0
Improve camera config dialog and OpenCV backend handling
C-Achard Jan 29, 2026
56fd47d
Refactor GUI structure and modularize utilities
C-Achard Jan 29, 2026
60cf5f5
Fix script entry point and clean up splash logic
C-Achard Jan 30, 2026
df3b52b
Refactor camera backend system and add Pydantic config models
C-Achard Jan 30, 2026
d3eec5b
Add unit and functional tests for cameras and DLC processor
C-Achard Jan 30, 2026
f6968fb
Add support for flexible camera settings and tests
C-Achard Jan 30, 2026
b0f82ea
Add tests for rotation, crop, and init failure in MultiCameraController
C-Achard Jan 30, 2026
7edc152
Skip task_done for sentinel; add GUI e2e tests
C-Achard Jan 30, 2026
f649d35
Use Pydantic models and lazy-load camera backends
C-Achard Jan 30, 2026
f6b529d
Switch to Pydantic config models
C-Achard Jan 30, 2026
25712f2
Handle dynamic crop conversion and UI form sync
C-Achard Jan 30, 2026
40bfd66
Refactor DLCLiveProcessor, add camera tests
C-Achard Jan 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: pre-commit-format

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
pre_commit_checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.head_ref }}

- uses: actions/setup-python@v4
with:
python-version: '3.10'

- run: pip install pre-commit
- run: pre-commit run --all-files
11 changes: 4 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
#####################
### DLC Live Specific
#####################

*config*
**test*

###################
### python standard
###################
Expand Down Expand Up @@ -116,3 +109,7 @@ venv.bak/

# ide files
.vscode

!dlclivegui/config.py
# uv package files
uv.lock
19 changes: 19 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-added-large-files
- id: check-yaml
- id: end-of-file-fixer
- id: name-tests-test
args: [--pytest-test-first]
- id: trailing-whitespace
- id: check-merge-conflict
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.10
hooks:
# Run the formatter.
- id: ruff-format
# Run the linter.
- id: ruff-check
args: [--fix,--unsafe-fixes]
325 changes: 287 additions & 38 deletions README.md

Large diffs are not rendered by default.

30 changes: 26 additions & 4 deletions dlclivegui/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
from dlclivegui.camera_process import CameraProcess
from dlclivegui.pose_process import CameraPoseProcess
from dlclivegui.video import create_labeled_video
from dlclivegui.dlclivegui import DLCLiveGUI
"""DeepLabCut Live GUI package."""

from .config import (
ApplicationSettings,
CameraSettings,
DLCProcessorSettings,
MultiCameraSettings,
RecordingSettings,
)
from .gui.camera_config_dialog import CameraConfigDialog
from .gui.main_window import DLCLiveMainWindow
from .main import main
from .services.multi_camera_controller import MultiCameraController, MultiFrameData

__all__ = [
"ApplicationSettings",
"CameraSettings",
"DLCProcessorSettings",
"MultiCameraSettings",
"RecordingSettings",
"DLCLiveMainWindow",
"MultiCameraController",
"MultiFrameData",
"CameraConfigDialog",
"main",
]
Binary file added dlclivegui/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dlclivegui/assets/logo_transparent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dlclivegui/assets/welcome.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
43 changes: 0 additions & 43 deletions dlclivegui/camera/__init__.py

This file was deleted.

128 changes: 0 additions & 128 deletions dlclivegui/camera/aravis.py

This file was deleted.

104 changes: 0 additions & 104 deletions dlclivegui/camera/basler.py

This file was deleted.

Loading