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.2

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.2
File Size Uploaded Provenance
imagin-3.0.2.tar.gz 1.3 MB Without provenance Details

Built distribution (wheel)

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

Total release size: 1.3 MB

Release files / imagin-3.0.2.tar.gz

Download URL imagin-3.0.2.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
1bfd30aabbc83a9eb775c072f8ad9b451d76cc3d4da7884bad76923807530b00
BLAKE2b-256 checksum
How to use checksums
d9f84728babc748a4ab0de332e9028266cc04c3513385e67ed5adbcfc75a2fb8
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.2-py3-none-any.whl

Download URL imagin-3.0.2-py3-none-any.whl
Size 48.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5520569955561c162f8b67a0b679545468f1b114aec89b484e556d50ac86481
BLAKE2b-256 checksum
How to use checksums
7d3b7fe2650bc4cf145c489a421bd07cfb20412cd081b0230022f2cd50ac20a4
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.2

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