Welcome to DeepXROMM!
DeepXROMM integrates DeepLabCut's neural network tracking capabilities with XMAlab's XROMM (X-ray Reconstruction of Moving Morphology) workflow, enabling automated marker tracking for X-ray motion analysis.
Key Features
- XMAlab Integration: Seamlessly converts between XMAlab and DeepLabCut data formats
- Flexible Tracking Modes: Choose from 2D, per-camera, or RGB merged tracking strategies
- Automated Batch Training: Train multiple projects with a single command
- Retraining Workflow: Iteratively improve networks by identifying and correcting outlier frames
- XMAlab-Style Autocorrection: Apply image processing techniques for marker refinement
- Video Analysis Tools: Compare trials and validate tracking quality
Quick Start
┌─────────────────┐
│ 1. Install │──> Follow the Installation guide
└────────┬────────┘
│
┌────────▼────────┐
│ 2. Create │──> Create project and import XMAlab data
│ Project │
└────────┬────────┘
│
┌────────▼────────┐
│ 3. Convert & │──> xma_to_dlc() + create_training_dataset()
│ Prepare │
└────────┬────────┘
│
┌────────▼────────┐
│ 4. Train │──> train_network()
│ Network │
└────────┬────────┘
│
┌────────▼────────┐
│ 5. Analyze │──> analyze_videos() + dlc_to_xma()
│ Videos │
└────────┬────────┘
│
┌────────▼────────┐
│ 6. Import to │──> Import predictions into XMAlab
│ XMAlab │
└─────────────────┘
Detailed Steps
- Install DeepXROMM and its dependencies
- Create a project and set up your directory structure
- Import your data from XMAlab
- Train your network on tracked markers
- Analyze videos with the trained model
- Import results back into XMAlab
Tracking Modes
DeepXROMM supports three tracking modes to suit different experimental setups:
- 2D Mode (default): Combines both camera views into a single DeepLabCut project with shared bodypart names. Both cameras train together in one network.
-
Best for: Standard stereo X-ray setups where both cameras view the same subject
-
Per-Camera Mode: Creates separate DeepLabCut projects and networks for cam1 and cam2. Each camera trains independently.
-
Best for: Different camera angles requiring specialized training, or when cameras have very different characteristics
-
RGB Mode: Merges cam1 and cam2 into a single RGB video (cam1 → red channel, cam2 → green channel). Bodyparts are labeled with camera suffixes.
- Best for: Leveraging spatial relationships between camera views, advanced training scenarios
See the Mode parameter documentation for detailed information about each mode.
Documentation Structure
- Installation Guide: Set up DeepXROMM and dependencies
- Usage Guide: Complete workflow from project creation to analysis
- Config File Reference: Detailed explanation of all configuration parameters
- Contributing Guide: Guidelines for contributing to the project
Getting Help
If you encounter issues or have questions: - Check the Usage Guide for detailed workflow instructions - Review the Config File Reference for parameter descriptions - Consult the Contributing Guide for development setup
Project Layout
After creating a project, your directory structure will look like this:
your-project/
│ project_config.yaml # Main configuration file
│
├───your-project-SD-YYYY-MM-DD/ # DeepLabCut project folder
├───trainingdata/ # Trials with tracked markers for training
└───trials/ # Trials to analyze with trained network