Skip to main content

Imagin

Imagin is a fast, interactive viewer and analyzer for streamed images and image files, built with Python, pyqtgraph, and SciPy.

Installation

Install the core application with file-based image support:

pip install imagin

Features

  • Input sources:
    • EPICS PVAccess and Channel Access
    • File system
    • HTTP image URLs
    • USB cameras
  • PNG is the default image format; other formats are also supported.
  • Fast, robust characterization of multiple objects using fitted ellipsoids.
  • Supports images with 16-bit or higher channel depth.
  • Image orientation control and arbitrary rotation.
  • Interactive zooming and panning.
  • Contrast and color-map control.
  • Region of interest (ROI) selection for image analysis.
  • ROI partitioning.
  • ROI projection plots.
  • Optional Gaussian fitting in 1D or 2D for improved precision.
  • Despeckling.
  • Automatic background elimination using prominence filtering (de-basing).
  • Background subtraction using reference images.
  • Interactive calibration from pixels to millimeters.
  • Reference image slots for saving and restoring images.
  • Extensible through user-supplied add-ons.
  • Fast browsing and cleanup of image directories.

Imagin screenshot

Presentation

Examples

python -m imagin -b http https://cdn.esahubble.org/archives/images/large/heic1523b.jpg -t 100
python -m imagin -b file sample_images/*.jpg -t 100 -m 40
python -m imagin -b file ~/Pictures/*.png

Testing with the EPICS PVAccess image simulator (epicsdev.imagegen)

pip install epicsdev
python -m epicsdev.imagegen -c &
python -m imagin -t 100 image0:image -b pva -m 9

Animate by changing image parameters from a Python script:

import time
import numpy as np
from p4p.client.thread import Context

iface = Context("pva")

one_to_zero = 1 - np.linspace(0, 1, 11)
scales = np.append(one_to_zero[:-1], np.flip(one_to_zero)[2:])

for scale in scales:
    iface.put("image0:gridScaleX", scale)
    time.sleep(0.1)

Metadata

Release files for imagin 3.0.1

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

Source distribution (sdist)

Source distribution for imagin 3.0.1
File Size Uploaded Provenance
imagin-3.0.1.tar.gz 4.3 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for imagin 3.0.1
File Interpreter ABI Platform
imagin-3.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 4.4 MB

Release files / imagin-3.0.1.tar.gz

Download URL imagin-3.0.1.tar.gz
Size 4.3 MB
Tags Source
SHA-256 checksum
How to use checksums
53206ba3f63c2b35d0843b7bd2f3c8ace258a0cb37ed2ebfec8370dafcd62739
BLAKE2b-256 checksum
How to use checksums
d730b6161dfd6fc4b512dcae7911d4a3810ad02bcef19df0db839915dc8d73e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / imagin-3.0.1-py3-none-any.whl

Download URL imagin-3.0.1-py3-none-any.whl
Size 48.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
29f80ffe7629608babda7d82571d3cae19b15ffcb7b3429ae5a0a37b0a85c8c8
BLAKE2b-256 checksum
How to use checksums
dc229e54e8f9165b30d78a0ab8350109e3d8fa68a535225153ccda0760d224b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for imagin 3.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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