Skip to content
/ phys2cvr Public

python module to compute cerebrovascular reactivity mapping and other related maps

License

Notifications You must be signed in to change notification settings

smoia/phys2cvr

Repository files navigation

phys2cvr

Latest version Release date Auto Release

Latest DOI Licensed Apache 2.0

Latest version Supports python version

All Contributors

A python-based tool to generate regressor for and/or estimate CVR maps and their lag.

The project is currently under development stage alpha. Any suggestion/bug report is welcome! Feel free to open an issue.

This project follows the all-contributors specification. Contributions of any kind welcome!

Documentation

Full documentation coming soon!

Cite

If you use phys2cvr in your work, please cite either the all-time Zenodo DOI general Zenodo DOI or the Zenodo DOI related to the version you are using. Please cite the following paper(s) too:

Moia, S., Stickland, R. C., Ayyagari, A., Termenon, M., Caballero-Gaudes, C., & Bright, M. G. (2020). Voxelwise optimization of hemodynamic lags to improve regional CVR estimates in breath-hold fMRI. In 2020 42nd Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC) (pp. 1489–1492). Montreal, QC, Canada: IEEE. https://doi.org/10.1109/EMBC44109.2020.9176225

If you are using the --brightspin configuration option:

Moia, S., Termenon, M., Uruñuela, E., Chen, G., Stickland, R. C., Bright, M. G., & Caballero-Gaudes, C. (2021). ICA-based denoising strategies in breath-hold induced cerebrovascular reactivity mapping with multi echo BOLD fMRI. NeuroImage, 233, 117914. https://doi.org/10.1016/j.neuroimage.2021.117914

If you are using the --brightspin-clinical configuration option:

Stickland, R. C., Zvolanek, K. M., Moia, S., Ayyagari, A., & Bright, M. G. (2021). A practical modification to a resting state fMRI protocol for improved characterization of cerebrovascular function. Supplementary Material. Neuroimage.

If you are using the --baltimore-lag configuration option:

Liu, P., Li, Y., Pinho, M., Park, D. C., Welch, B. G., & Lu, H. (2017). Cerebrovascular reactivity mapping without gas challenges. NeuroImage, 146(November 2016), 320–326. https://doi.org/10.1016/j.neuroimage.2016.11.054

If you are using the --baltimore configuration option, please cite only the Zenodo DOI and the last listed paper.

Installation

Install on any *nix system using python and pip, or clone this repository and install locally (run setup.py or pip). phys2cvr supports python versions 3.6+. However, please note that no tests are currently run.

Install with pip (recommended)

❗❗❗ Please note that some systems might require to use pip3 instead of pip.

Basic installation:

For basic installation, simply run:

pip install phys2cvr

Clone from Github / install without pip

❗❗❗ Please note that phys2cvr is continuously deployed, i.e. the latest feature available are immediately released on PyPI. To install phys2cvr from Github, clone the repository first, then move to the cloned folder and run:

python setup.py install

Alternatively, pip can be used too:

pip install .

Developer installation

To be sure you have everything installed to develop (and test) phys2cvr, fork smoia/phys2cvr to your repository, then clone it locally and move inside the cloned folder. Finally, run the following commands from within the repository main folder:

# Add upstream remote
git remote add upstream git@github.com:smoia/phys2cvr.git

# Fetch everything, tags included
git fetch --all --tags

# Checkout master (the main development branch) and make it track upstream
git checkout master
git branch --set-upstream-to=upstream/master

# !!! VERY IMPORTANT !!!
# Set the default push to origin, in order NOT to push by mistake to upstream.
git config remote.pushDefault origin

# Install package with pip using the developer mode and the `[dev]` label
# You might need to use pip3 depending on how you set up your system
pip install -e .[dev]

If you make changes that you consider fundamental/interesting for the whole community, feel free to open a PR!

Run/use phys2cvr

You can run the phys2cvr workflow in a shell session (or in your code) - just follow the help:

phys2cvr --help

Alternatively, you can use phys2cvr as a module in a python session (or within your python script):

import phys2cvr as p2c

p2c.__version__

Full API coming soon.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Stefano Moia

💻 🤔 🚇 📆

Kristina Zvolanek

💻 🐛

Andrew Vigotsky

💻

License

Copyright 2021, Stefano Moia.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.