PyFibreBundle


NamePyFibreBundle JSON
Version 1.3.4 PyPI version JSON
download
home_page
SummaryImage processing of images acquired through fibre imaging bundle, including core removal, mosaicing and super-resolution..
upload_time2023-08-10 16:59:34
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT License Copyright (c) [2022] [Michael 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 fibre fiber bundle endomicroscopy endoscopic microscopy imaging
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="right">
<img src="res/pyb_logo.png" width="250">
</h1>

# PyFibreBundle

PyFibreBundle is a Python package for processing images captured through optical fibre bundles. 

Full documentation is available on [Readthedocs](http://PyFibreBundle.readthedocs.io) and a summary of the current functionality is below.

PyFibreBundle is fast enough for live imaging as well as for offline research; frame rates of over 100 fps 
can be achieved on mid-level hardware, including core removal and mosaicing. The Numba just-in-time compiler is used to accelerate key portions of code (particularly triangular linear interpolation) 
and OpenCV is used for fast mosaicing. If the Numba package is not installed then PyFibreBundle falls back on Python interpreted code.

The package was originally developed mostly for applications in endoscopic microscopy, including fluorescence endomicroscopy and 
holographic endomicroscopy, but there are also potential applications in endoscopy, industrial inspection etc.

Developed is led 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 & Astronomy, University of Kent. 
Bug reports, contributions and pull requests are welcome. Academic collaborations are welcomed and consultancy is available
for potential commercial users, [get in touch](mailto:m.r.hughes@kent.ac.uk)

[Join the mailing list](https://groups.google.com/g/pyfibrebundle) to hear about releases, updates and bug fixes.


## Capabilities

### Core Functions  
* Supports monochrome and multi-channel (e.g. colour) images.
* Locate bundle in image.
* Crop image to only show bundle.
* Mask areas outside of bundle.
* Determine core spacing.
* Find locations of all cores in bundle.
* Core removal by Gaussian filtering.
* Core removal using custom edge filtering.
* Core removal using triangular linear interpolation following Delaunay triangulation. 

### Mosaicing
* Detect image to image shift using normalised cross correlation.
* Insert image into mosaic either using dead-leaf or alpha blending.
* Expand or scroll mosaic when the edge of the mosaic image is reached.

### Super Resolution
* Combine multiple shifted images to improve resolution.

Read the [full documentation](http://PyFibreBundle.readthedocs.io) for more details.

## Getting Started

There are three ways to get PyFibreBundle:
* Download the [latest stable release](https://github.com/MikeHughesKent/PyFibreBundle/releases/latest) from github and unzip. This will give you all the examples,
tests and test data. 
* Clone the github repository using git. This will give you the latest updates but more chance of bugs.
* Install the latest stable release using:

```
pip install PyFibreBundle 
```

The third option (using pip install) should find and install all the dependencies. For the other two options
you will need to either manually check you have the requirements installed, 
or navigate to the PyFibreBundle folder on your machine and run:

```
pip install -r requirements.txt
```
to install the dependencies. You may wish to create a virtual environment using Conda/venv first to avoid conflicts with your existing python setup.

Note that the pip install doesn't include the examples and tests which still need to be downloaded from Github. 

Once installed, you can try running the [examples](https://github.com/MikeHughesKent/PyFibreBundle/tree/main/examples).


## Requirements

Required Packages:

* Numpy
* OpenCV
* Pillow
* Scipy

Optional Packages:

* Numba (for faster linear interpolation)
* Matplotlib (to run examples and tests)

## Contributions
Cheng Yong Xin, Joseph, who contributed to triangular linear interpolation; Callum McCall who contributed to the super resolution component, Petros Giataganas who developed some of the Matlab code that parts of this library were ported from. 

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": "PyFibreBundle",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "fibre,fiber,bundle,endomicroscopy,endoscopic microscopy,imaging",
    "author": "",
    "author_email": "Michael Hughes <m.r.hughes@kent.ac.uk>",
    "download_url": "https://files.pythonhosted.org/packages/22/d0/30aa0053b2313fcab89aa297d691cf6061156be763f89c6c8ba01d079e66/PyFibreBundle-1.3.4.tar.gz",
    "platform": null,
    "description": "<h1 align=\"right\">\n<img src=\"res/pyb_logo.png\" width=\"250\">\n</h1>\n\n# PyFibreBundle\n\nPyFibreBundle is a Python package for processing images captured through optical fibre bundles. \n\nFull documentation is available on [Readthedocs](http://PyFibreBundle.readthedocs.io) and a summary of the current functionality is below.\n\nPyFibreBundle is fast enough for live imaging as well as for offline research; frame rates of over 100 fps \ncan be achieved on mid-level hardware, including core removal and mosaicing. The Numba just-in-time compiler is used to accelerate key portions of code (particularly triangular linear interpolation) \nand OpenCV is used for fast mosaicing. If the Numba package is not installed then PyFibreBundle falls back on Python interpreted code.\n\nThe package was originally developed mostly for applications in endoscopic microscopy, including fluorescence endomicroscopy and \nholographic endomicroscopy, but there are also potential applications in endoscopy, industrial inspection etc.\n\nDeveloped is led by [Mike Hughes](https://research.kent.ac.uk/applied-optics/hughes) \nat the [Applied Optics Group](https://research.kent.ac.uk/applied-optics/), School of Physics & Astronomy, University of Kent. \nBug reports, contributions and pull requests are welcome. Academic collaborations are welcomed and consultancy is available\nfor potential commercial users, [get in touch](mailto:m.r.hughes@kent.ac.uk)\n\n[Join the mailing list](https://groups.google.com/g/pyfibrebundle) to hear about releases, updates and bug fixes.\n\n\n## Capabilities\n\n### Core Functions  \n* Supports monochrome and multi-channel (e.g. colour) images.\n* Locate bundle in image.\n* Crop image to only show bundle.\n* Mask areas outside of bundle.\n* Determine core spacing.\n* Find locations of all cores in bundle.\n* Core removal by Gaussian filtering.\n* Core removal using custom edge filtering.\n* Core removal using triangular linear interpolation following Delaunay triangulation. \n\n### Mosaicing\n* Detect image to image shift using normalised cross correlation.\n* Insert image into mosaic either using dead-leaf or alpha blending.\n* Expand or scroll mosaic when the edge of the mosaic image is reached.\n\n### Super Resolution\n* Combine multiple shifted images to improve resolution.\n\nRead the [full documentation](http://PyFibreBundle.readthedocs.io) for more details.\n\n## Getting Started\n\nThere are three ways to get PyFibreBundle:\n* Download the [latest stable release](https://github.com/MikeHughesKent/PyFibreBundle/releases/latest) from github and unzip. This will give you all the examples,\ntests and test data. \n* Clone the github repository using git. This will give you the latest updates but more chance of bugs.\n* Install the latest stable release using:\n\n```\npip install PyFibreBundle \n```\n\nThe third option (using pip install) should find and install all the dependencies. For the other two options\nyou will need to either manually check you have the requirements installed, \nor navigate to the PyFibreBundle folder on your machine and run:\n\n```\npip install -r requirements.txt\n```\nto install the dependencies. You may wish to create a virtual environment using Conda/venv first to avoid conflicts with your existing python setup.\n\nNote that the pip install doesn't include the examples and tests which still need to be downloaded from Github. \n\nOnce installed, you can try running the [examples](https://github.com/MikeHughesKent/PyFibreBundle/tree/main/examples).\n\n\n## Requirements\n\nRequired Packages:\n\n* Numpy\n* OpenCV\n* Pillow\n* Scipy\n\nOptional Packages:\n\n* Numba (for faster linear interpolation)\n* Matplotlib (to run examples and tests)\n\n## Contributions\nCheng Yong Xin, Joseph, who contributed to triangular linear interpolation; Callum McCall who contributed to the super resolution component, Petros Giataganas who developed some of the Matlab code that parts of this library were ported from. \n\nFunding from EPSRC (Ultrathin fluorescence microscope in a needle, EP/R019274/1), Royal Society (Ultrathin Inline Holographic Microscopy) and University of Kent.\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) [2022] [Michael 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": "Image processing of images acquired through fibre imaging bundle, including core removal, mosaicing and super-resolution..",
    "version": "1.3.4",
    "project_urls": {
        "Homepage": "https://github.com/MikeHughesKent/PyFibreBundle/"
    },
    "split_keywords": [
        "fibre",
        "fiber",
        "bundle",
        "endomicroscopy",
        "endoscopic microscopy",
        "imaging"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "057a0a4fbc13e0f4c30d23ae2c1bb568d3b6a6fc948e5e56d4bb6d39853370bd",
                "md5": "1b46567c55f74b7b439d2e5091eb03e1",
                "sha256": "66198855cad60be0418998acbf0f00fb800739333d8417f8b01c88c5dae5eb03"
            },
            "downloads": -1,
            "filename": "PyFibreBundle-1.3.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1b46567c55f74b7b439d2e5091eb03e1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 38305,
            "upload_time": "2023-08-10T16:59:32",
            "upload_time_iso_8601": "2023-08-10T16:59:32.571457Z",
            "url": "https://files.pythonhosted.org/packages/05/7a/0a4fbc13e0f4c30d23ae2c1bb568d3b6a6fc948e5e56d4bb6d39853370bd/PyFibreBundle-1.3.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "22d030aa0053b2313fcab89aa297d691cf6061156be763f89c6c8ba01d079e66",
                "md5": "1651e7b1a5bcf75ca76933f0d160fedf",
                "sha256": "1b10ca1cf3e973160f010ae56880c31e689ebe1f9a3b269de40bfb4378149ace"
            },
            "downloads": -1,
            "filename": "PyFibreBundle-1.3.4.tar.gz",
            "has_sig": false,
            "md5_digest": "1651e7b1a5bcf75ca76933f0d160fedf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 39316,
            "upload_time": "2023-08-10T16:59:34",
            "upload_time_iso_8601": "2023-08-10T16:59:34.127880Z",
            "url": "https://files.pythonhosted.org/packages/22/d0/30aa0053b2313fcab89aa297d691cf6061156be763f89c6c8ba01d079e66/PyFibreBundle-1.3.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-10 16:59:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MikeHughesKent",
    "github_project": "PyFibreBundle",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "pyfibrebundle"
}
        
Elapsed time: 0.12591s