Skip to main content

Fast desktop tool for navigating N-dimensional hypercubes of geospatial plots

Project description

juxt

juxt is clipped from juxtapose (Latin juxta, "beside") and shares its meaning with παραβολή (parabolē, "placing beside") — the Greek root of both parable and parabola.

juxt is a fast desktop tool for visually comparing geospatial plots across multiple parameter axes. Define axes (sensor, date, overpass, source, …) and flip through the resulting image hypercube with keyboard navigation.

Install

pip install juxt

Quick start

python make_sample.py          # generate 24 synthetic test images
juxt sample_config.yaml

Config

Template mode

template: "plots/{sensor}_{date}_{overpass}_{source}.png"
axes:
  sensor:   [ASCAT, SMAP, SMOS]
  date:     [2024-03-15, 2024-03-16]
  overpass: [AM, PM]
  source:   [L2, L3]
keys:
  s: sensor
  d: date
  o: overpass
  r: source

Auto-discover mode

discover:
  directory: plots/
  separator: "_"

Scans filenames, splits on the separator, and treats any column with more than one distinct value as an axis. On first run, axes are named axis_0, axis_1, … — rename them by switching to template mode.

Navigation

Key Action
/ cycle the horizontal axis
/ cycle the vertical axis
letter key focus that axis — most recent becomes horizontal, previous becomes vertical
Space toggle between current and previous position
Home / End jump to first / last value on the focused axis
19 jump to the Nth value on the focused axis
f or double-click fit image to window
0 reset zoom to 100%
h toggle status overlay
scroll wheel zoom (anchored under cursor)
drag pan

The status overlay (top-left) shows the current coordinate values and which axes are bound to the arrow keys.

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

juxt-0.1.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

juxt-0.1.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file juxt-0.1.0.tar.gz.

File metadata

  • Download URL: juxt-0.1.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for juxt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0e8cd0ef271fd253f17c8ac886417d829adeb6f1410d746e1be99019eeecaa46
MD5 faf2819f556e69c9bc373e8861d97174
BLAKE2b-256 28d11a1ee3833e37761b6453c253fdeac210f4dfef6e7d7c7cf99a606ff8728a

See more details on using hashes here.

Provenance

The following attestation bundles were made for juxt-0.1.0.tar.gz:

Publisher: publish.yml on ColinMoldenhauer/juxt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file juxt-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: juxt-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for juxt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c16363f1ba33f9d341fecb5f3bb012b8e122f8932ad1d572502f684ecf121a8
MD5 f44a491caa412b5cbe25d40b9cbbed79
BLAKE2b-256 52f24fa01e1ed178348d841857683245084a4be9b84afa251ecb55d8fa63b726

See more details on using hashes here.

Provenance

The following attestation bundles were made for juxt-0.1.0-py3-none-any.whl:

Publisher: publish.yml on ColinMoldenhauer/juxt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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