Skip to main content

A PyQt6-based desktop application for viewing, analyzing, and managing multi-frame imagery datasets along with associated detection and track overlays

Project description

VISTA - Visual Imagery Software Tool for Analysis

An open-source MIT-licensed Awetomaton project for the GEOINT community

Logo

VISTA is a PyQt6-based desktop application for viewing, analyzing, and managing multi-frame imagery datasets along with associated detection and track overlays. It's designed for scientific and analytical workflows involving temporal image sequences with support for time-based and geodetic coordinate systems, sensor calibration data, and radiometric processing.

Version Python License PyPI

Documentation: https://awetomaton.github.io/VISTA/

Source Code: https://github.com/awetomaton/VISTA

Watch the Demo

Watch the demo

Installation

pip install vista-imagery

Launch VISTA:

vista

Or install from source:

git clone https://github.com/awetomaton/VISTA.git
cd VISTA
pip install -e .

For detailed installation instructions, see the Installation Guide.

Quick Start

  1. Load Imagery: File > Open to load an HDF5 imagery file
  2. Navigate: Use playback controls or arrow keys (Left/Right or A/D)
  3. Detect Objects: Algorithms > Detectors to run CFAR or threshold detection
  4. Track Objects: Algorithms > Tracking to link detections into tracks
  5. Export Results: Export tracks/detections to CSV from the Data Manager

For a complete walkthrough, see the Quick Start Guide.

Key Features

  • Multi-frame imagery viewing with playback controls and histogram adjustment
  • Detection algorithms: CFAR and simple threshold detectors
  • Tracking algorithms: Simple, Kalman, Network Flow, and Tracklet trackers
  • Background removal: Temporal median and Robust PCA
  • Sensor calibration: Bias removal, non-uniformity correction
  • Geodetic support: Pixel-to-geodetic coordinate conversion via ARF
  • Manual annotation: Create/edit tracks and detections interactively
  • Feature overlays: AOIs, placemarks, and shapefile import

See the User Guide for detailed feature documentation.

Keyboard Shortcuts

Shortcut Action
Left Arrow / A Previous frame
Right Arrow / D Next frame
CTRL / Z Undo track / detection panel action
Spacebar Play/Pause

Input Data Formats

VISTA uses HDF5 for imagery and CSV for tracks/detections. For format specifications, see:

Programmatic Usage

from vista.app import VistaApp
from vista.imagery.imagery import Imagery
import numpy as np

# Create imagery in memory
images = np.random.rand(10, 256, 256).astype(np.float32)
imagery = Imagery(name="Test", images=images, frames=np.arange(10))

# Launch VISTA
app = VistaApp(imagery=imagery)
app.exec()

See the API Reference for complete programmatic documentation.

Generating Test Data

Create simulated data via the GUI (File > Simulate) or programmatically:

from vista.simulate.simulation import Simulation

sim = Simulation(name="Test", frames=50, rows=256, columns=256)
sim.simulate()
sim.save("test_data")

Building an Executable

Windows:

pyinstaller vista/app.py --onefile -n vista --icon=vista/icons/logo.ico --hidden-import pyqtgraph.graphicsItems.PlotItem.plotConfigTemplate_pyqt6 --hidden-import pyqtgraph.imageview.ImageViewTemplate_pyqt6 --hidden-import pyqtgraph.graphicsItems.ViewBox.axisCtrlTemplate_pyqt6 --add-data="vista/icons*;vista" --add-data="vista/simulate/data*;vista"

macOS/Linux:

pyinstaller vista/app.py --onefile --windowed -n vista --icon=vista/icons/logo.icns --hidden-import pyqtgraph.graphicsItems.PlotItem.plotConfigTemplate_pyqt6 --hidden-import pyqtgraph.imageview.ImageViewTemplate_pyqt6 --hidden-import pyqtgraph.graphicsItems.ViewBox.axisCtrlTemplate_pyqt6 --add-data="vista/icons:vista/icons/" --add-data="vista/simulate/data:vista/simulate/data/"

Contributing

Contributions are welcome! See the Contributing Guide for details.

License

MIT License

Acknowledgments

VISTA uses PyQt6, pyqtgraph, NumPy, pandas, h5py, astropy, scikit-image, scipy, and other open-source libraries.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vista_imagery-1.9.1.tar.gz (4.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vista_imagery-1.9.1-py3-none-any.whl (4.1 MB view details)

Uploaded Python 3

File details

Details for the file vista_imagery-1.9.1.tar.gz.

File metadata

  • Download URL: vista_imagery-1.9.1.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for vista_imagery-1.9.1.tar.gz
Algorithm Hash digest
SHA256 08e9c09c62b8fc36cf5bd163a8c78db2561a17fccda9c098190baecdef83fd98
MD5 054a2bfc65b2a519e0e0f11372d2350f
BLAKE2b-256 d49e0f69fd519214593fc35ae0a0f0ff546638e8b1563a70fbfb240d81743caa

See more details on using hashes here.

File details

Details for the file vista_imagery-1.9.1-py3-none-any.whl.

File metadata

  • Download URL: vista_imagery-1.9.1-py3-none-any.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for vista_imagery-1.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 96a7a7c0a24291cd1c1854d2967272b7248b668d9f16127b0930526e523ea475
MD5 16ef421df3c22a8a63ce96263594e85b
BLAKE2b-256 253c8288ef6a4c33f9ebae6e4350624cf63f169f1de72c651acc06eaad99fcf7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page