Skip to main content

A widget for real time image display in PyQT GUIs.

Project description

ImageDisplayQT

ImageDisplayQT is a PyQT widget for displaying live images in GUIs. It was developed for scientific imaging applications, with features including zoom, pixel inspection, autoscaling, region of interest with live mean display, and the ability to add persistent overlays.

It is lightweight and simple to use, requiring only a few lines of code to be added to your GUI. It can display images at video rate on modest hardware.

It currently supports monochrome and colour (RGB) images stored as 2D and 3D numpy arrays. 1D array data can also be displayed as a simple line graph.

Full documentation is available.

You can see the widget's appearance on Youtube.

You can pip install ImageDisplayQT for the latest stable version.

The widget is developed mainly by Mike Hughes at the Applied Optics Group, School of Physics and Astronomy, University of Kent.

The widget was originally developed for our in-house microscopy and imaging systems and will evolve with our requirements. Bug reports, contributions and pull requests are welcome.

Getting started

Import the class:

from image_display import ImageDisplay

Create an instance:

imDisplay = ImageDisplay()

and then add this widget to your GUI.

To update the image, call:

imDisplay.set_image(img)

where img is a 2D numpy array containing a monochrome image or a 3D numpy array containing a colour (RGB) image.

Toggle the status bar visibility using:

imDisplay.set_status_bar(True/False)

Toggle the zoom facility using the mouse scroll wheel (or pinch zoom):

imDisplay.set_zoom_enabled(True/False)

Once zoomed you can pan by holding the middle or right mouse buttons.

Toggle the ability to draw a rectangular region of interest by holding the left mouse button and dragging:

imDisplay.set_roi_enabled(True/False)

Set the colormap to be any Matplotlib colormap using:

imDisplay.set_colormap(colormapName)

Please see the example in the examples folder for more functionality, including overlays and autoscaling.

Requirements

Required Packages:

  • PyQt (tested on v5)
  • Numpy
  • PIL
  • Matplotlib (for colormaps)

Acknowledgements

Funding from EPSRC (Ultrathin fluorescence microscope in a needle, EP/R019274/1), Royal Society (Ultrathin Inline Holographic Microscopy) and University of Kent.

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

ImageDisplayQT-1.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

ImageDisplayQT-1.1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file ImageDisplayQT-1.1.0.tar.gz.

File metadata

  • Download URL: ImageDisplayQT-1.1.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for ImageDisplayQT-1.1.0.tar.gz
Algorithm Hash digest
SHA256 671e5f5176bc5b054b635f85f5c3072dfbd55b72b291997269bf35e42ab5aa57
MD5 f9646a8e6b3d42295d483ef096909565
BLAKE2b-256 0f1f7a9647c9e86d8df734ff2e1c6ac6ca99601f2efe719cdcde5dc36f9db6f4

See more details on using hashes here.

File details

Details for the file ImageDisplayQT-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ImageDisplayQT-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2d5f641c1932a85d22eda810c5c3abb50c2b9b077c2080ca60785e65d46fb0f
MD5 35ac84415d48366014fc1e9450923d70
BLAKE2b-256 b7c6e8379ca790ea9b8db9fa0e73aa1eb29bc35380c8c6f3ff354b8317878dc5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page