neuron-image-denoise


Nameneuron-image-denoise JSON
Version 0.0.4 PyPI version JSON
download
home_page
SummaryFluorescent neuron image denoising tools
upload_time2023-06-14 23:39:48
maintainer
docs_urlNone
author
requires_python>=3.10
licenseMIT License
keywords vaa3d neuron-morphology image-processing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Neuron Image Denoising
The 3D neuron image denoising filter cythonized.

# Install
```bash
$ pip install neuron-image-denoise
```

# User Guide

```python
from neuron_image_denoise.filter import *

img: numpy.ndarray  # 3D numpy array, 16bit

params = {
    'ada_interval': (2, 3, 3),
    'flare_interval': (2, 8, 8),
    'ada_sampling': 3,
    'flare_sampling': 8,
    'flare_weight': .02,
    'atten_depth': 4,
    'flare_x': True,
    'flare_y': True
}

out = adaptive_denoise(img, **params)

out = adaptive_denoise_16to8(img, **params)  # 16bit to 8bit

out = adaptive_sectional_feedforward_filter(img, sigma=12., truncate=2., scaling=1, suppression=.8)
```

## Algorithm Explanation

Neurons are illuminated by the fluorescent proteins, which can be seen as dots in the space. Measuring the signal is to 
locate where the dots are, but the problem is, these dots can diffuse to outside of neurons and their light can be
spreaded far away due to refraction and microcopy aberration.

Adaptive thresholding can reduce this effect by assuming that true signals stand out from the background, as the
fluorescent given by the dots attenuates with distance.
Methods like difference of gaussian play similarly, but adaptive threshold has the best and most stable effect 
together with way lower computation.

Yet there's another problem caused by the microscopy, and varies depending on the instrument. The images can be polluted by
nearby slices, resulting in flares that look like a brush head. It is especially common with strong signals like somata,
making the nearby neurites discernible. There are two ways to solve this, either using more advanced microscopy to
reduce this effect to a small range, or measure this effect and cancel computationally.

# Useful Links

Github project: https://github.com/SEU-ALLEN-codebase/neuron-image-denoise-py

Documentation: https://SEU-ALLEN-codebase.github.io/neuron-image-denoise-py

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "neuron-image-denoise",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "vaa3d,neuron-morphology,image-processing",
    "author": "",
    "author_email": "Zuohan Zhao <zzhmark@126.com>",
    "download_url": "https://files.pythonhosted.org/packages/65/2a/8e87266e3ee74498e03bb3c1a50c0a6441b9a6028943ae9943b89c604877/neuron-image-denoise-0.0.4.tar.gz",
    "platform": null,
    "description": "# Neuron Image Denoising\r\nThe 3D neuron image denoising filter cythonized.\r\n\r\n# Install\r\n```bash\r\n$ pip install neuron-image-denoise\r\n```\r\n\r\n# User Guide\r\n\r\n```python\r\nfrom neuron_image_denoise.filter import *\r\n\r\nimg: numpy.ndarray  # 3D numpy array, 16bit\r\n\r\nparams = {\r\n    'ada_interval': (2, 3, 3),\r\n    'flare_interval': (2, 8, 8),\r\n    'ada_sampling': 3,\r\n    'flare_sampling': 8,\r\n    'flare_weight': .02,\r\n    'atten_depth': 4,\r\n    'flare_x': True,\r\n    'flare_y': True\r\n}\r\n\r\nout = adaptive_denoise(img, **params)\r\n\r\nout = adaptive_denoise_16to8(img, **params)  # 16bit to 8bit\r\n\r\nout = adaptive_sectional_feedforward_filter(img, sigma=12., truncate=2., scaling=1, suppression=.8)\r\n```\r\n\r\n## Algorithm Explanation\r\n\r\nNeurons are illuminated by the fluorescent proteins, which can be seen as dots in the space. Measuring the signal is to \r\nlocate where the dots are, but the problem is, these dots can diffuse to outside of neurons and their light can be\r\nspreaded far away due to refraction and microcopy aberration.\r\n\r\nAdaptive thresholding can reduce this effect by assuming that true signals stand out from the background, as the\r\nfluorescent given by the dots attenuates with distance.\r\nMethods like difference of gaussian play similarly, but adaptive threshold has the best and most stable effect \r\ntogether with way lower computation.\r\n\r\nYet there's another problem caused by the microscopy, and varies depending on the instrument. The images can be polluted by\r\nnearby slices, resulting in flares that look like a brush head. It is especially common with strong signals like somata,\r\nmaking the nearby neurites discernible. There are two ways to solve this, either using more advanced microscopy to\r\nreduce this effect to a small range, or measure this effect and cancel computationally.\r\n\r\n# Useful Links\r\n\r\nGithub project: https://github.com/SEU-ALLEN-codebase/neuron-image-denoise-py\r\n\r\nDocumentation: https://SEU-ALLEN-codebase.github.io/neuron-image-denoise-py\r\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "Fluorescent neuron image denoising tools",
    "version": "0.0.4",
    "project_urls": {
        "Documentation": "https://SEU-ALLEN-codebase.github.io/neuron-image-denoise-py",
        "GitHub Project": "https://github.com/SEU-ALLEN-codebase/neuron-image-denoise-py"
    },
    "split_keywords": [
        "vaa3d",
        "neuron-morphology",
        "image-processing"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bd395b7d93fdc593146875cadbb656d653971cb1c9943a8be7a0c517efd1605b",
                "md5": "4cc57aebfae274081d9f4b395cce4a9f",
                "sha256": "369c2be1145bf9131503bda4c15fa8f22fea3c8d74191805b792aa9c8663066d"
            },
            "downloads": -1,
            "filename": "neuron_image_denoise-0.0.4-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4cc57aebfae274081d9f4b395cce4a9f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 29472,
            "upload_time": "2023-06-14T23:39:46",
            "upload_time_iso_8601": "2023-06-14T23:39:46.900962Z",
            "url": "https://files.pythonhosted.org/packages/bd/39/5b7d93fdc593146875cadbb656d653971cb1c9943a8be7a0c517efd1605b/neuron_image_denoise-0.0.4-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "652a8e87266e3ee74498e03bb3c1a50c0a6441b9a6028943ae9943b89c604877",
                "md5": "8063b46bc43037ec4cacfdfa84aa7427",
                "sha256": "edebc3ecb734d75c1911681feedff341b049c7746a9317595a260b68816f2503"
            },
            "downloads": -1,
            "filename": "neuron-image-denoise-0.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "8063b46bc43037ec4cacfdfa84aa7427",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 8186,
            "upload_time": "2023-06-14T23:39:48",
            "upload_time_iso_8601": "2023-06-14T23:39:48.742836Z",
            "url": "https://files.pythonhosted.org/packages/65/2a/8e87266e3ee74498e03bb3c1a50c0a6441b9a6028943ae9943b89c604877/neuron-image-denoise-0.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-14 23:39:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SEU-ALLEN-codebase",
    "github_project": "neuron-image-denoise-py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "neuron-image-denoise"
}
        
Elapsed time: 0.07467s