## What's new in 0.2.5
### Added
- Functionality for visualizing multiple experiments
- Home page, consists of the experiment directories found in the input path
- Navbar, includes a link to the home page, settings, GitHub, and Docs
- Settings, includes a theme changer that enables users to modify the application theme to their liking
### Changed
- The `start` function now expects a directory path as input, where each subdirectory represents an experiment and contains the corresponding JSON files for visualization
- favicon
<div align="center">
# Neuroimaging Results Visualization
<div>
<a href="https://github.com/rmanaem/nerv/actions/workflows/test.yaml">
<img src="https://img.shields.io/github/actions/workflow/status/neurobagel/api/test.yaml?color=BDB76B&label=test&style=flat-square">
</a>
<a href="https://www.python.org/">
<img src="https://img.shields.io/badge/python-3.10-4682B4?style=flat-square" alt="Python">
</a>
<a href="LICENSE">
<img src="https://img.shields.io/github/license/neurobagel/api?color=CD5C5C&style=flat-square" alt="GitHub license">
</a>
</div>
<br>
</div>
Neuroimaging Results Visualization (NeRV) is a web interface developed in Python using [Plotly Dash](https://dash.plotly.com/), [Dash Bootstrap Components](https://dash-bootstrap-components.opensource.faculty.ai/), and [pandas](https://pandas.pydata.org/) for visualization of neuroimaging results obtained from continuous testing of neuroimaging data across software pipelines.
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Example usage](#example-usage)
- [Deployment](#deployment)
- [License](#license)
______________________________________________________________________
## Getting Started
### Installation
Install NeRV using pip:
```bash
pip install nerv
```
### Example usage
In order for NeRV to generate and populate plots the underlying app requires access to the directory that houses subdirectories, which in turn contain the JSON files to be visualized. The path to directory can be passed to the app as input to the `start` function.
```python
from nerv import app
app.start("path-to-data-directory")
```
After executing the file containing the above code snippet, a local server is started at port 8050 (by default). You can access the running NeRV application using a browser through the URL `localhost:8050`.
![ui](https://github.com/rmanaem/nerv/blob/master/img/ui.png?raw=true)
______________________________________________________________________
## Deployment
To deploy your NeRV app, you can utilize [Gunicorn](https://gunicorn.org/). Simply follow the instructions outlined in the Dash documentation [here](https://dash.plotly.comdeployment#heroku-for-sharing-public-dash-apps), making the necessary adjustment in the app.py module content:
**app.py**
```Python
from nerv import app
server = app.start("path-to-data-directory", False)
```
Note that when the `local` parameter of the `start` function is set to `False`, it will return the `app.server` object. This object represents the underlying Flask server that drives the Dash application. You can utilize the `app.server` object to customize and extend the NeRV application, going beyond the default functionality offered. For more details, refer to the [Flask documentation](https://flask.palletsprojects.com/).
______________________________________________________________________
## License
This project is licensed under the terms of [MIT License](LICENSE).
Raw data
{
"_id": null,
"home_page": "https://github.com/rmanaem/nerv",
"name": "nerv",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "python,dash,pandas,data visualization,plotly,neuroscience",
"author": "rmanaem",
"author_email": "<rmanaem@protonmail.ch>",
"download_url": "https://files.pythonhosted.org/packages/4d/69/1af74537b32bade927758269505d381be599855dc59071f3c6f35d84a14e/nerv-0.2.5.tar.gz",
"platform": null,
"description": "## What's new in 0.2.5\n\n### Added\n\n- Functionality for visualizing multiple experiments\n- Home page, consists of the experiment directories found in the input path\n- Navbar, includes a link to the home page, settings, GitHub, and Docs\n- Settings, includes a theme changer that enables users to modify the application theme to their liking\n\n### Changed\n\n- The `start` function now expects a directory path as input, where each subdirectory represents an experiment and contains the corresponding JSON files for visualization\n- favicon\n\n\n<div align=\"center\">\n\n# Neuroimaging Results Visualization\n\n<div>\n <a href=\"https://github.com/rmanaem/nerv/actions/workflows/test.yaml\">\n <img src=\"https://img.shields.io/github/actions/workflow/status/neurobagel/api/test.yaml?color=BDB76B&label=test&style=flat-square\">\n </a>\n <a href=\"https://www.python.org/\">\n <img src=\"https://img.shields.io/badge/python-3.10-4682B4?style=flat-square\" alt=\"Python\">\n </a>\n <a href=\"LICENSE\">\n <img src=\"https://img.shields.io/github/license/neurobagel/api?color=CD5C5C&style=flat-square\" alt=\"GitHub license\">\n </a>\n</div>\n<br>\n</div>\n\nNeuroimaging Results Visualization (NeRV) is a web interface developed in Python using [Plotly Dash](https://dash.plotly.com/), [Dash Bootstrap Components](https://dash-bootstrap-components.opensource.faculty.ai/), and [pandas](https://pandas.pydata.org/) for visualization of neuroimaging results obtained from continuous testing of neuroimaging data across software pipelines.\n\n- [Getting Started](#getting-started)\n - [Installation](#installation)\n - [Example usage](#example-usage)\n- [Deployment](#deployment)\n- [License](#license)\n\n______________________________________________________________________\n\n## Getting Started\n\n### Installation\n\nInstall NeRV using pip:\n\n```bash\npip install nerv\n```\n\n### Example usage\n\nIn order for NeRV to generate and populate plots the underlying app requires access to the directory that houses subdirectories, which in turn contain the JSON files to be visualized. The path to directory can be passed to the app as input to the `start` function.\n\n```python\nfrom nerv import app\n\napp.start(\"path-to-data-directory\")\n```\n\nAfter executing the file containing the above code snippet, a local server is started at port 8050 (by default). You can access the running NeRV application using a browser through the URL `localhost:8050`.\n\n![ui](https://github.com/rmanaem/nerv/blob/master/img/ui.png?raw=true)\n\n______________________________________________________________________\n\n## Deployment\n\nTo deploy your NeRV app, you can utilize [Gunicorn](https://gunicorn.org/). Simply follow the instructions outlined in the Dash documentation [here](https://dash.plotly.comdeployment#heroku-for-sharing-public-dash-apps), making the necessary adjustment in the app.py module content:\n\n**app.py**\n\n```Python\nfrom nerv import app\n\nserver = app.start(\"path-to-data-directory\", False)\n```\n\nNote that when the `local` parameter of the `start` function is set to `False`, it will return the `app.server` object. This object represents the underlying Flask server that drives the Dash application. You can utilize the `app.server` object to customize and extend the NeRV application, going beyond the default functionality offered. For more details, refer to the [Flask documentation](https://flask.palletsprojects.com/).\n\n______________________________________________________________________\n\n## License\n\nThis project is licensed under the terms of [MIT License](LICENSE).\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Neuroimaging Results Visualization",
"version": "0.2.5",
"project_urls": {
"Homepage": "https://github.com/rmanaem/nerv"
},
"split_keywords": [
"python",
"dash",
"pandas",
"data visualization",
"plotly",
"neuroscience"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4d691af74537b32bade927758269505d381be599855dc59071f3c6f35d84a14e",
"md5": "12213791fbccdd5b69da768aea7e5ed9",
"sha256": "0acbbdd162fb2a7b4b5b4c7cc22f300b9975c0201e241c88e8f5793a763e66e3"
},
"downloads": -1,
"filename": "nerv-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "12213791fbccdd5b69da768aea7e5ed9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14858,
"upload_time": "2023-05-18T05:29:12",
"upload_time_iso_8601": "2023-05-18T05:29:12.906585Z",
"url": "https://files.pythonhosted.org/packages/4d/69/1af74537b32bade927758269505d381be599855dc59071f3c6f35d84a14e/nerv-0.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-18 05:29:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rmanaem",
"github_project": "nerv",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "dash",
"specs": [
[
">=",
"2.9.3"
]
]
},
{
"name": "dash-bootstrap-components",
"specs": [
[
">=",
"1.4.1"
]
]
},
{
"name": "pandas",
"specs": [
[
">=",
"1.4.1"
]
]
}
],
"lcname": "nerv"
}