Skip to main content

PROPIX GUI Analysis

A lightweight Python library to load, inspect, summarize, and visualize JSON frames generated by the PROPIX GUI.

This package is designed to work directly with PROPIX GUI outputs, including:

  • RGB images
  • Segmentation masks
  • Hyperspectral data (wavelengths and spectra)

It provides a clean, NumPy-friendly API for analysis, debugging, and visualization.


✨ Features

  • Load PROPIX GUI JSON frames into Python structures
  • Decode base64-encoded RGB images and masks
  • Normalize and handle multiple segmentation masks
  • Visualize:
    • RGB images
    • Masks (overlayed or individual)
    • RGB + masks
    • Spectral curves
    • RGB + masks + spectra (side-by-side)
  • Print a human-readable frame summary:
    • Image resolution
    • Mask coverage (percentage of pixels)
    • Spectral range
    • Number of spectral bands
    • Spectral resolution (Δλ)

📦 Installation

pip install propix_gui_analysis

Or for development:

pip install -e .

🚀 Quick Start

from propix_gui_analysis.propix_json_analysis import (
    load_frame,
    frame_summary,
    plot_rgb,
    plot_rgb_with_masks,
    plot_masks_only,
    plot_spectra,
    plot_frame_rgb_and_spectra,
)

frame = load_frame("frame.json")
frame_summary(frame)

📂 Frame Structure

frame = {
    "frame_id": int,
    "task_finished": bool,

    "rgb": np.ndarray,          # [H, W, 3]
    "masks": List[np.ndarray],  # list of [H, W] masks (values in [0,1])
    "mask_colors": List[List[float]],  # normalized RGBA colors

    "wavelengths": np.ndarray,  # [N]
    "spectra": {
        "values": np.ndarray,   # [num_masks, N]
        "labels": List[str]
    }
}

🖨️ Frame Summary

frame_summary(frame)

📊 Visualization

  • plot_rgb(frame)
  • plot_rgb_with_masks(frame)
  • plot_masks_only(frame)
  • plot_spectra(frame)
  • plot_frame_rgb_and_spectra(frame)

🔬 Spectral Resolution

Defined as the average wavelength spacing (Δλ) between consecutive bands.


🧰 Dependencies

  • Python ≥ 3.8
  • NumPy
  • Pillow
  • Matplotlib

📄 License

MIT License.

Metadata

Release files for propix-gui-analysis 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for propix-gui-analysis 0.1.0
File Size Uploaded
propix_gui_analysis-0.1.0.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for propix-gui-analysis 0.1.0
File Interpreter ABI Platform
propix_gui_analysis-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.7 kB

Release files / propix_gui_analysis-0.1.0.tar.gz

Download URL propix_gui_analysis-0.1.0.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3b0f0aef2e7360db6ea44590e9f60d241bffb6316813e1c6c913951377f11f6b
BLAKE2b-256 checksum
How to use checksums
cbc30c81a480b5bd0b8ea5774f2d7d58aefe82c25e030107dd2be9d08955e75d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.23

Release files / propix_gui_analysis-0.1.0-py3-none-any.whl

Download URL propix_gui_analysis-0.1.0-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
482e0364fc6c5fc1116a6f76a4544c3f116d895dd995bbbaadb398b336fbd467
BLAKE2b-256 checksum
How to use checksums
4c9bf8b71830f186e92b73151a1f52ea9fe12d2e90c6fec521267509553c37c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.23

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page