A GUI for the cvasl package
Project description
CVASL-GUI
Cvasl-gui is an open source collaborative Python GUI, built around the CVASL package, for statistical harmonisation of (arterial spin labelling) MRI-derived data and prediction of brain age using shallow machine learning, utilised in 'Multi-cohort, multi-sequence harmonisation for cerebrovascular brain age', https://doi.org/10.1162/IMAG.a.964.
Statistical harmonisation methods include NeuroComBat, CovBat, NeuroHarmonize, OPNested ComBat, AutoComBat, and RELIEF. Shallow machine learning methods include: ...TODO
Brain age machine learning methods, and the difference between the predicted and the chronological age—the brain age gap (BAG)—can be used to assess deviation from normative ageing trajectories. A larger BAG, therefore, represents a proxy parameter of poorer brain ageing, which is associated with cognitive decline (Biondo et al., 2021; Franke & Gaser, 2019).
This GUI supports the ongoing research at University of Amsterdam Medical Center on brain ageing, but is being built for the entire community of radiology researchers across all university and academic medical centers and beyond.
References
NeuroComBat: Fortin, J.-P. et al. Harmonization of multi-site diffusion tensor imaging data. Neuroimage 161, 149–170 (2017).
CovBat: Chen, A. A. et al. Mitigating site effects in covariance for machine learning in neuroimaging data. Hum. Brain Mapp. 43, 1179–1195 (2022).
NeuroHarmonize: Pomponio, R. et al. Harmonization of large MRI datasets for the analysis of brain imaging patterns throughout the lifespan. Neuroimage 208, 116450 (2020).
OPNested ComBat: Horng, H. et al. Generalized ComBat harmonization methods for radiomic features with multi-modal distributions and multiple batch effects. Sci. Rep. 12, 4493 (2022).
AutoComBat: Carré, A. et al. AutoComBat: a generic method for harmonizing MRI-based radiomic features. Sci. Rep. 12, 12762 (2022).
RELIEF: Zhang, R., Oliver, L. D., Voineskos, A. N. & Park, J. Y. RELIEF: A structured multivariate approach for removal of latent inter-scanner effects. Imaging Neurosci (Camb) 1, 1–16 (2023).
Install and run
pip install cvasl-gui
cvasl-gui
Configuration
The application will look for the following environment variables:
CVASL_DEBUG_MODE # True for development, False for production. Debug mode will show the Dash debug console on the page. In production mode, the browser will be automatically opened.
CVASL_PORT # The port the server runs on, default is 8767
Development
poetry install
poetry run cvasl-gui
Tests
#TODO
Building Executable with PyInstaller
To create a standalone executable of the application:
- Install PyInstaller (already included in dev dependencies):
poetry install
- Build the executable using the provided script:
./build.sh
Or manually:
poetry run pyinstaller cvasl-gui.spec
- The executable will be created in
dist/cvasl-gui/. Run it with:
cd dist/cvasl-gui
./cvasl-gui
Note: The build process will:
- Include all necessary assets (CSS files, etc.)
- Bundle Python dependencies
- Create a self-contained application directory
- The executable can be distributed to users without requiring Python installation
Environment Variables: The executable supports some of the environment variables as the regular installation (CVASL_DEBUG_MODE is forced to False).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cvasl_gui-0.2.3.tar.gz.
File metadata
- Download URL: cvasl_gui-0.2.3.tar.gz
- Upload date:
- Size: 30.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
737cbe103465e15a52671196c55953b434a18f8497270987678752698b238d16
|
|
| MD5 |
086ca61c661a0c2d7b749685201be507
|
|
| BLAKE2b-256 |
7f4e36a5caa7b38de95fba5d2c01e1255a11edeee82e01a79cc4a664d5751b9f
|
Provenance
The following attestation bundles were made for cvasl_gui-0.2.3.tar.gz:
Publisher:
release.yml on ExploreASL/cvasl-gui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cvasl_gui-0.2.3.tar.gz -
Subject digest:
737cbe103465e15a52671196c55953b434a18f8497270987678752698b238d16 - Sigstore transparency entry: 855174969
- Sigstore integration time:
-
Permalink:
ExploreASL/cvasl-gui@5528cd098df315f92eae9ebc0ff65b7e7b14b891 -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/ExploreASL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5528cd098df315f92eae9ebc0ff65b7e7b14b891 -
Trigger Event:
push
-
Statement type:
File details
Details for the file cvasl_gui-0.2.3-py3-none-any.whl.
File metadata
- Download URL: cvasl_gui-0.2.3-py3-none-any.whl
- Upload date:
- Size: 41.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48df92df4cc35aa1eb783e4f12d9a9e779961dccf7bdc81cdb1e07caf5338e58
|
|
| MD5 |
889c1be78018926273267abaa9cd8369
|
|
| BLAKE2b-256 |
bec1b723df16bc73e3b6999c9a54c5e80d34b53e1e14aa82b855ca4af44073bd
|
Provenance
The following attestation bundles were made for cvasl_gui-0.2.3-py3-none-any.whl:
Publisher:
release.yml on ExploreASL/cvasl-gui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cvasl_gui-0.2.3-py3-none-any.whl -
Subject digest:
48df92df4cc35aa1eb783e4f12d9a9e779961dccf7bdc81cdb1e07caf5338e58 - Sigstore transparency entry: 855174978
- Sigstore integration time:
-
Permalink:
ExploreASL/cvasl-gui@5528cd098df315f92eae9ebc0ff65b7e7b14b891 -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/ExploreASL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5528cd098df315f92eae9ebc0ff65b7e7b14b891 -
Trigger Event:
push
-
Statement type: