datanavigator

src PyPI - Version Documentation Status GitHub license

Interactive data visualization for signals, videos, and complex data objects.

datanavigator is a matplotlib-based toolkit for interactive data visualization that handles signals, videos, and complex data objects. It provides both simple tools for navigating data with minimal programming and a user-friendly API for building sophisticated data interaction applications. This versatility makes it both powerful and accessible, regardless of a user’s programming expertise.

Installation

pip install datanavigator

If you encounter dependency issues and are using conda, set up your environment with conda using the requirements.yml file in this repository.

conda env create -n env-datanavigator -f https://github.com/praneethnamburi/datanavigator/raw/master/requirements.yml
conda activate env-datanavigator
pip install datanavigator

Quickstart

1. Browse video frames and extract a clip

import datanavigator as dnav

video_browser = dnav.VideoBrowser(dnav.get_example_video())
# Use the arrow keys to browse through frames.
# Press Ctrl+K to bring up a list of available keyboard shortcuts
# To extract a clip, 
#   1. navigate to the start frame and press 1
#   2. navigate to the end frame and press 2
#   3. press e to save the extracted clip
# run dnav.get_clip_folder() to find the saved video clip

# Or, you can extract a clip from the command line
clip_path = video_browser.extract_clip(start_frame=100, end_frame=200)
print(f"Extracted clip saved to: {clip_path}")

2. Browse time series data and mark events of interest

import datanavigator as dnav
signal_browser = dnav.EventPickerDemo()

See also

  • DUSTrack – video point tracking + annotation UI, built on top of datanavigator’s VideoBrowser. Owns VideoPointAnnotator / VideoAnnotation (the annotation containers used to live in datanavigator.pointtracking through 1.4.0; they relocated to dustrack in 1.5.0a1 so datanavigator stays modality-agnostic and dustrack owns its DeepLabCut workflow end-to-end). git log --follow dustrack/pointtracking.py on the dustrack side traces the full pre-relocation history.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

Praneeth Namburi

Project Link: https://github.com/praneethnamburi/datanavigator

Acknowledgments

This tool was developed as part of the ImmersionToolbox initiative at the MIT.nano Immersion Lab. Thanks to NCSOFT for supporting this initiative.