NeuroR


NameNeuroR JSON
Version 1.7.0 PyPI version JSON
download
home_pagehttps://github.com/bluebrain/neuror
SummaryA morphology repair tool
upload_time2024-05-28 07:11:06
maintainerNone
docs_urlNone
authorBlue Brain Project, EPFL
requires_python>=3.7
licenseLGPLv3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            |banner|

|build| |license| |docs| |doi|

NeuroR
======

Introduction
------------

NeuroR is a collection of tools to repair morphologies.

You can try NeuroR's functionality on MyBinder:

- Cut-plane detection - |cutplane|
- Morphology repair - |repair|


Acknowledgements
----------------

The development of this software was supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal Institutes of Technology.

This work has been partially funded by the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 720270, 785907 (Human Brain Project SGA1/SGA2) and by the EBRAINS research infrastructure, funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3).

Citation
--------

Cite NeuroR with the following DOI: |doi|

NeuroR implements the methods discussed in the following paper:

   Anwar H., Riachi I., Schürmann F., Markram H. (2009). “An approach to capturing neuron morphological diversity,”
   in Computational Neuroscience: Realistic Modeling for Experimentalistsed. De Schutter E.,
   editor. (Cambridge: The MIT Press) 211–232

   `DOI: 10.7551/mitpress/9780262013277.003.0010 <https://doi.org/10.7551/mitpress/9780262013277.003.0010>`__

Morphology repair with NeuroR
-----------------------------

There are presently three types of repair which are outlined below.

Sanitization
~~~~~~~~~~~~

This is the process of sanitizing a morphological file. It currently:

- ensures it can be loaded with MorphIO
- raises if the morphology has no soma or of invalid format
- removes unifurcations
- set negative diameters to zero
- raises if the morphology has a neurite whose type changes along the way
- removes segments with near zero lengths (shorter than 1e-4)

Note: more functionality may be added in the future


Cut plane repair
~~~~~~~~~~~~~~~~

The cut plane repair aims at regrowing part of a morphologies that have been cut out
when the cell has been experimentally sliced.

``neuror cut-plane repair`` contains the collection of CLIs to perform this repair.

Additionally, there are CLIs for the cut plane detection and writing detected cut planes to
JSON files:

- If the cut plane is aligned with one of the X, Y or Z axes, the cut plane detection
  can be done automatically with the CLIs:

.. code-block:: shell

   neuror cut-plane file
   neuror cut-plane folder

- If the cut plane is not one the X, Y or Z axes, the detection has to be performed
  through the helper web application that can be launched with the following CLI:

.. code-block:: shell

   neuror cut-plane hint

Unravelling
~~~~~~~~~~~

Unravelling is the action of "stretching" the cell that has been shrunk because of the dehydratation caused by the slicing.

The unravelling CLI sub-group is:

.. code-block:: shell

   neuror unravel


The unravelling algorithm can be described as follows:

* Segments are unravelled iteratively.
* Each segment direction is replaced by the averaged direction in a sliding window around this segment.
* The original segment length is preserved.
* The start position of the new segment is the end of the latest unravelled segment.

Installation
------------

NeuroR is distributed as a Python package available on PyPi:

.. code-block:: console

    $ pip install --pre neuror[plotly]

Note: NeuroR relies on the experimental version 2 of NeuroM, hence the ``--pre`` option.

Only Python 3.6 and above are supported.

Prior to running ``pip install``, we recommend updating ``pip`` in your virtual environment unless you have a compelling reason not to do it:

.. code:: console

    $ pip install --upgrade pip setuptools



Contributing
------------

If you want to improve the project or you see any issue, every contribution is welcome.
Please check the `contribution guidelines <https://github.com/BlueBrain/NeuroR/blob/master/CONTRIBUTING.md>`__ for more information.

License
-------

NeuroR is licensed under the terms of the GNU Lesser General Public License version 3.
Refer to `COPYING.LESSER <https://github.com/BlueBrain/NeuroR/blob/master/COPYING.LESSER>`__
and `COPYING <https://github.com/BlueBrain/NeuroR/blob/master/COPYING>`__ for details.

Copyright (c) 2019-2024 Blue Brain Project/EPFL

.. |build| image:: https://travis-ci.com/BlueBrain/NeuroR.svg?branch=master
              :target: https://travis-ci.com/BlueBrain/NeuroR

.. |license| image:: https://img.shields.io/pypi/l/neuror
                :target: https://github.com/BlueBrain/NeuroR/blob/master/COPYING.LESSER

.. |docs| image:: https://readthedocs.org/projects/neuror/badge/?version=latest
             :target: https://neuror.readthedocs.io/en/latest/?badge=latest
             :alt: Documentation Status

.. |doi| image:: https://zenodo.org/badge/244944511.svg
            :target: https://zenodo.org/badge/latestdoi/244944511

.. |cutplane| image:: https://mybinder.org/badge_logo.svg
                 :target: https://mybinder.org/v2/gh/BlueBrain/NeuroR/master?filepath=examples%2Fcut-plane-detection.ipynb

.. |repair| image:: https://mybinder.org/badge_logo.svg
               :target: https://mybinder.org/v2/gh/BlueBrain/NeuroR/master?filepath=examples%2Frepair.ipynb

.. substitutions
.. |banner| image:: doc/source/_images/BlueBrainNeuroR.png
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/bluebrain/neuror",
    "name": "NeuroR",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": "Blue Brain Project, EPFL",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/a0/eb/b4dafd7dcd973779d6b49aac5e3f9da28c64b33d1d3bc1dfd20b7356248e/NeuroR-1.7.0.tar.gz",
    "platform": null,
    "description": "|banner|\n\n|build| |license| |docs| |doi|\n\nNeuroR\n======\n\nIntroduction\n------------\n\nNeuroR is a collection of tools to repair morphologies.\n\nYou can try NeuroR's functionality on MyBinder:\n\n- Cut-plane detection - |cutplane|\n- Morphology repair - |repair|\n\n\nAcknowledgements\n----------------\n\nThe development of this software was supported by funding to the Blue Brain Project, a research center of the \u00c9cole polytechnique f\u00e9d\u00e9rale de Lausanne (EPFL), from the Swiss government\u2019s ETH Board of the Swiss Federal Institutes of Technology.\n\nThis work has been partially funded by the European Union\u2019s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 720270, 785907 (Human Brain Project SGA1/SGA2) and by the EBRAINS research infrastructure, funded from the European Union\u2019s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3).\n\nCitation\n--------\n\nCite NeuroR with the following DOI: |doi|\n\nNeuroR implements the methods discussed in the following paper:\n\n   Anwar H., Riachi I., Sch\u00fcrmann F., Markram H. (2009). \u201cAn approach to capturing neuron morphological diversity,\u201d\n   in Computational Neuroscience: Realistic Modeling for Experimentalistsed. De Schutter E.,\n   editor. (Cambridge: The MIT Press) 211\u2013232\n\n   `DOI: 10.7551/mitpress/9780262013277.003.0010 <https://doi.org/10.7551/mitpress/9780262013277.003.0010>`__\n\nMorphology repair with NeuroR\n-----------------------------\n\nThere are presently three types of repair which are outlined below.\n\nSanitization\n~~~~~~~~~~~~\n\nThis is the process of sanitizing a morphological file. It currently:\n\n- ensures it can be loaded with MorphIO\n- raises if the morphology has no soma or of invalid format\n- removes unifurcations\n- set negative diameters to zero\n- raises if the morphology has a neurite whose type changes along the way\n- removes segments with near zero lengths (shorter than 1e-4)\n\nNote: more functionality may be added in the future\n\n\nCut plane repair\n~~~~~~~~~~~~~~~~\n\nThe cut plane repair aims at regrowing part of a morphologies that have been cut out\nwhen the cell has been experimentally sliced.\n\n``neuror cut-plane repair`` contains the collection of CLIs to perform this repair.\n\nAdditionally, there are CLIs for the cut plane detection and writing detected cut planes to\nJSON files:\n\n- If the cut plane is aligned with one of the X, Y or Z axes, the cut plane detection\n  can be done automatically with the CLIs:\n\n.. code-block:: shell\n\n   neuror cut-plane file\n   neuror cut-plane folder\n\n- If the cut plane is not one the X, Y or Z axes, the detection has to be performed\n  through the helper web application that can be launched with the following CLI:\n\n.. code-block:: shell\n\n   neuror cut-plane hint\n\nUnravelling\n~~~~~~~~~~~\n\nUnravelling is the action of \"stretching\" the cell that has been shrunk because of the dehydratation caused by the slicing.\n\nThe unravelling CLI sub-group is:\n\n.. code-block:: shell\n\n   neuror unravel\n\n\nThe unravelling algorithm can be described as follows:\n\n* Segments are unravelled iteratively.\n* Each segment direction is replaced by the averaged direction in a sliding window around this segment.\n* The original segment length is preserved.\n* The start position of the new segment is the end of the latest unravelled segment.\n\nInstallation\n------------\n\nNeuroR is distributed as a Python package available on PyPi:\n\n.. code-block:: console\n\n    $ pip install --pre neuror[plotly]\n\nNote: NeuroR relies on the experimental version 2 of NeuroM, hence the ``--pre`` option.\n\nOnly Python 3.6 and above are supported.\n\nPrior to running ``pip install``, we recommend updating ``pip`` in your virtual environment unless you have a compelling reason not to do it:\n\n.. code:: console\n\n    $ pip install --upgrade pip setuptools\n\n\n\nContributing\n------------\n\nIf you want to improve the project or you see any issue, every contribution is welcome.\nPlease check the `contribution guidelines <https://github.com/BlueBrain/NeuroR/blob/master/CONTRIBUTING.md>`__ for more information.\n\nLicense\n-------\n\nNeuroR is licensed under the terms of the GNU Lesser General Public License version 3.\nRefer to `COPYING.LESSER <https://github.com/BlueBrain/NeuroR/blob/master/COPYING.LESSER>`__\nand `COPYING <https://github.com/BlueBrain/NeuroR/blob/master/COPYING>`__ for details.\n\nCopyright (c) 2019-2024 Blue Brain Project/EPFL\n\n.. |build| image:: https://travis-ci.com/BlueBrain/NeuroR.svg?branch=master\n              :target: https://travis-ci.com/BlueBrain/NeuroR\n\n.. |license| image:: https://img.shields.io/pypi/l/neuror\n                :target: https://github.com/BlueBrain/NeuroR/blob/master/COPYING.LESSER\n\n.. |docs| image:: https://readthedocs.org/projects/neuror/badge/?version=latest\n             :target: https://neuror.readthedocs.io/en/latest/?badge=latest\n             :alt: Documentation Status\n\n.. |doi| image:: https://zenodo.org/badge/244944511.svg\n            :target: https://zenodo.org/badge/latestdoi/244944511\n\n.. |cutplane| image:: https://mybinder.org/badge_logo.svg\n                 :target: https://mybinder.org/v2/gh/BlueBrain/NeuroR/master?filepath=examples%2Fcut-plane-detection.ipynb\n\n.. |repair| image:: https://mybinder.org/badge_logo.svg\n               :target: https://mybinder.org/v2/gh/BlueBrain/NeuroR/master?filepath=examples%2Frepair.ipynb\n\n.. substitutions\n.. |banner| image:: doc/source/_images/BlueBrainNeuroR.png",
    "bugtrack_url": null,
    "license": "LGPLv3",
    "summary": "A morphology repair tool",
    "version": "1.7.0",
    "project_urls": {
        "Homepage": "https://github.com/bluebrain/neuror"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0ebb4dafd7dcd973779d6b49aac5e3f9da28c64b33d1d3bc1dfd20b7356248e",
                "md5": "624c43a53764e542797dd3026fefd482",
                "sha256": "04394b0e604178b68250e01967568d07dea353f1a3b27c97119229997929a111"
            },
            "downloads": -1,
            "filename": "NeuroR-1.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "624c43a53764e542797dd3026fefd482",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 351135,
            "upload_time": "2024-05-28T07:11:06",
            "upload_time_iso_8601": "2024-05-28T07:11:06.088747Z",
            "url": "https://files.pythonhosted.org/packages/a0/eb/b4dafd7dcd973779d6b49aac5e3f9da28c64b33d1d3bc1dfd20b7356248e/NeuroR-1.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-28 07:11:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bluebrain",
    "github_project": "neuror",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "neuror"
}
        
Elapsed time: 0.24354s