ImageDisplayQT


NameImageDisplayQT JSON
Version 1.1.0 PyPI version JSON
download
home_page
SummaryA widget for real time image display in PyQT GUIs.
upload_time2024-03-15 10:44:11
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT License Copyright (c) 2023 Mike Hughes Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords imaging gui display video pyqt qt scientific
VCS
bugtrack_url
requirements matplotlib numpy Pillow PyQT5
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://imagedisplayqt.readthedocs.io/).

You can see the widget's appearance on [Youtube](https://www.youtube.com/watch?v=Yak7tegc_DI).

You can ``pip install ImageDisplayQT`` for the latest stable version.

The widget is developed mainly by [Mike Hughes](https://research.kent.ac.uk/applied-optics/hughes) 
at the [Applied Optics Group](https://research.kent.ac.uk/applied-optics/), 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.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "ImageDisplayQT",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "imaging,GUI,display,video,PyQT,QT,scientific",
    "author": "",
    "author_email": "Michael Hughes <m.r.hughes@kent.ac.uk>",
    "download_url": "https://files.pythonhosted.org/packages/0f/1f/7a9647c9e86d8df734ff2e1c6ac6ca99601f2efe719cdcde5dc36f9db6f4/ImageDisplayQT-1.1.0.tar.gz",
    "platform": null,
    "description": "# ImageDisplayQT\r\nImageDisplayQT is a PyQT widget for displaying live images in GUIs. It was developed for scientific imaging applications, with features including zoom, \r\npixel inspection, autoscaling, region of interest with live mean display, and the ability to add persistent overlays. \r\n\r\nIt is lightweight and simple to use, requiring \r\nonly a few lines of code to be added to your GUI. It can display images at video rate on modest hardware.\r\n\r\nIt currently supports monochrome and colour (RGB) images stored as 2D and 3D numpy arrays. 1D array data can also\r\nbe displayed as a simple line graph.\r\n\r\n[Full documentation is available](https://imagedisplayqt.readthedocs.io/).\r\n\r\nYou can see the widget's appearance on [Youtube](https://www.youtube.com/watch?v=Yak7tegc_DI).\r\n\r\nYou can ``pip install ImageDisplayQT`` for the latest stable version.\r\n\r\nThe widget is developed mainly by [Mike Hughes](https://research.kent.ac.uk/applied-optics/hughes) \r\nat the [Applied Optics Group](https://research.kent.ac.uk/applied-optics/), School of Physics and Astronomy, University of Kent. \r\n\r\nThe 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.\r\n\r\n## Getting started\r\n\r\nImport the class:\r\n```\r\nfrom image_display import ImageDisplay\r\n```\r\nCreate an instance:\r\n```\r\nimDisplay = ImageDisplay()\r\n```\r\nand then add this widget to your GUI.\r\n\r\nTo update the image, call:\r\n```\r\nimDisplay.set_image(img)\r\n```\r\n\r\nwhere `img` is a 2D numpy array containing a monochrome image or a 3D numpy array containing a colour (RGB) image.\r\n\r\nToggle the status bar visibility using:\r\n\r\n```\r\nimDisplay.set_status_bar(True/False)\r\n```\r\n\r\nToggle the zoom facility using the mouse scroll wheel (or pinch zoom):\r\n\r\n```\r\nimDisplay.set_zoom_enabled(True/False)\r\n```\r\nOnce zoomed you can pan by holding the middle or right mouse buttons.\r\n\r\nToggle the ability to draw a rectangular region of interest by holding the left mouse button and dragging:\r\n\r\n```\r\nimDisplay.set_roi_enabled(True/False)\r\n```\r\n\r\nSet the colormap to be any Matplotlib colormap using:\r\n```\r\nimDisplay.set_colormap(colormapName)\r\n```\r\n\r\nPlease see the example in the examples folder for more functionality, including overlays and autoscaling.\r\n\r\n\r\n## Requirements\r\n\r\nRequired Packages:\r\n* PyQt (tested on v5)\r\n* Numpy\r\n* PIL\r\n* Matplotlib (for colormaps)\r\n\r\n\r\n## Acknowledgements\r\n\r\nFunding from EPSRC (Ultrathin fluorescence microscope in a needle, EP/R019274/1), Royal Society (Ultrathin Inline Holographic Microscopy) and University of Kent.\r\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2023 Mike Hughes  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "A widget for real time image display in PyQT GUIs.",
    "version": "1.1.0",
    "project_urls": {
        "Homepage": "https://github.com/MikeHughesKent/ImageDisplayQT/"
    },
    "split_keywords": [
        "imaging",
        "gui",
        "display",
        "video",
        "pyqt",
        "qt",
        "scientific"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b7c6e8379ca790ea9b8db9fa0e73aa1eb29bc35380c8c6f3ff354b8317878dc5",
                "md5": "35ac84415d48366014fc1e9450923d70",
                "sha256": "d2d5f641c1932a85d22eda810c5c3abb50c2b9b077c2080ca60785e65d46fb0f"
            },
            "downloads": -1,
            "filename": "ImageDisplayQT-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "35ac84415d48366014fc1e9450923d70",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 11384,
            "upload_time": "2024-03-15T10:44:09",
            "upload_time_iso_8601": "2024-03-15T10:44:09.413180Z",
            "url": "https://files.pythonhosted.org/packages/b7/c6/e8379ca790ea9b8db9fa0e73aa1eb29bc35380c8c6f3ff354b8317878dc5/ImageDisplayQT-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0f1f7a9647c9e86d8df734ff2e1c6ac6ca99601f2efe719cdcde5dc36f9db6f4",
                "md5": "f9646a8e6b3d42295d483ef096909565",
                "sha256": "671e5f5176bc5b054b635f85f5c3072dfbd55b72b291997269bf35e42ab5aa57"
            },
            "downloads": -1,
            "filename": "ImageDisplayQT-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "f9646a8e6b3d42295d483ef096909565",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 10662,
            "upload_time": "2024-03-15T10:44:11",
            "upload_time_iso_8601": "2024-03-15T10:44:11.191076Z",
            "url": "https://files.pythonhosted.org/packages/0f/1f/7a9647c9e86d8df734ff2e1c6ac6ca99601f2efe719cdcde5dc36f9db6f4/ImageDisplayQT-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-15 10:44:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MikeHughesKent",
    "github_project": "ImageDisplayQT",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.3.4"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.18"
                ]
            ]
        },
        {
            "name": "Pillow",
            "specs": [
                [
                    ">=",
                    "9.3.0"
                ]
            ]
        },
        {
            "name": "PyQT5",
            "specs": [
                [
                    ">=",
                    "5.15.0"
                ]
            ]
        }
    ],
    "lcname": "imagedisplayqt"
}
        
Elapsed time: 0.20603s