Skip to main content

Library to create flexible interactive image processing pipelines and automatically add a graphical user interface without knowing anything about GUI coding!

Project description

interactive_pipe

Turn plain python processing functions into an interactive GUI app — without writing a single line of GUI code.

pip install interactive-pipe
  • Develop an algorithm while debugging visually with plots, checking robustness and continuity to parameter changes.
  • Magically create a graphical interface to demonstrate a concept or tune your algorithm.
  • Keep your algorithm library untouched: interactivity is added by decoration, not by rewriting.
  • The same pipeline runs headless for batch processing and tests.

Interactive pipe demo

Quick taste

from interactive_pipe import interactive, interactive_pipeline
import numpy as np

@interactive(coeff=(1.0, [0.5, 2.0], "exposure"), bias=(0.0, [-0.2, 0.2]))
def exposure(img, coeff=1.0, bias=0.0):
    return img * coeff + bias

@interactive(blend_coeff=(0.5, [0.0, 1.0]))
def blend(img0, img1, blend_coeff=0.5):
    return (1 - blend_coeff) * img0 + blend_coeff * img1

@interactive_pipeline(gui="qt")  # or "mpl", "nb" (Jupyter/Colab), "gradio"
def pipe(img):
    exposed = exposure(img)
    blended = blend(img, exposed)
    return exposed, blended

pipe(np.array([0.0, 0.5, 0.8]) * np.ones((256, 512, 3)))

Calling pipe(...) opens a window with sliders for every declared parameter. 🎉

Backends

PyQt / PySide Matplotlib Jupyter / Colab Gradio
gui="qt" gui="mpl" gui="nb" gui="gradio"
qt mpl nb gradio

Plus headless mode (gui=None) for batch processing. Full feature matrix in the backends docs.

Learn more

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

interactive_pipe-0.9.0.tar.gz (115.1 kB view details)

Uploaded Source

Built Distribution

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

interactive_pipe-0.9.0-py3-none-any.whl (103.1 kB view details)

Uploaded Python 3

File details

Details for the file interactive_pipe-0.9.0.tar.gz.

File metadata

  • Download URL: interactive_pipe-0.9.0.tar.gz
  • Upload date:
  • Size: 115.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.0

File hashes

Hashes for interactive_pipe-0.9.0.tar.gz
Algorithm Hash digest
SHA256 220dfe1fdfd15ba5e46b4d183d2edf55000be902d50f35729a6ab5e63fb0e30f
MD5 2764046f1c8f15402db6686d14474996
BLAKE2b-256 83a6f43e99150685e2ba28dc7a5f6b8c882f12a8fad7b17c8b84e81e4ca3519b

See more details on using hashes here.

File details

Details for the file interactive_pipe-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for interactive_pipe-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8b8b8ee7887980c0dc97d37d0b0c53bbb3f9a0594e4b79989967eb286eb5766
MD5 9d68c69033517edb709d3e68c4d1e2d0
BLAKE2b-256 6b35b95f22d7fb4d6dc8fd74bbe9cec7eec399243c44330d625d3e3b5cf67b7f

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