Interactive Notebooks
These Jupyter notebooks provide hands-on tutorials covering key pytcl functionality. Each notebook is self-contained with explanations, code examples, and visualizations.
Note
These notebooks are rendered statically in the documentation. To run them interactively, clone the repository and open them in Jupyter:
git clone https://github.com/nedonatelli/TCL.git
cd TCL
pip install -e ".[dev]"
jupyter notebook docs/notebooks/
Filtering & Estimation
These notebooks cover state estimation fundamentals from linear Kalman filtering to particle filters for nonlinear/non-Gaussian systems.
Multi-Target Tracking
Learn data association algorithms including GNN, JPDA, and track management for tracking multiple targets simultaneously.
Coordinate Systems
Comprehensive coverage of geodetic, ECEF, ENU/NED frames, rotations, quaternions, and map projections.
Advanced Topics
GPU acceleration with CuPy, network flow algorithms for assignment problems, and performance optimization techniques.
Notebook Summary
# |
Notebook |
Description |
|---|---|---|
1 |
Linear KF, Extended KF, Unscented KF, Cubature KF, IMM estimator |
|
2 |
Bootstrap PF, resampling strategies, effective sample size, degeneracy |
|
3 |
Data association, GNN, JPDA, track management, OSPA metrics |
|
4 |
Geodetic/ECEF/ENU/NED, rotations, quaternions, map projections |
|
5 |
CuPy basics, batch processing, particle filter GPU acceleration |
|
6 |
Min-cost flow for assignment, successive shortest paths, Hungarian comparison |
|
7 |
INS mechanization, GNSS DOP, loosely-coupled integration, outage handling |
|
8 |
Profiling, Numba JIT, vectorization, caching, memory optimization |
Prerequisites
Most notebooks require only the core pytcl package:
pip install nrl-tracker matplotlib
Some advanced notebooks have additional requirements:
GPU Acceleration:
pip install cupy-cuda12x(NVIDIA GPU with CUDA)Network Flow: No additional requirements
Performance:
pip install numba line_profiler memory_profiler
Getting Started
Start with Kalman Filters (01) if you’re new to state estimation
Move to Particle Filters (02) for nonlinear problems
Explore Multi-Target Tracking (03) for data association
Study Coordinate Systems (04) for navigation applications
Advanced users: GPU acceleration, network flow, and optimization