Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.3%) to scientific vocabulary
Keywords from Contributors
Repository
MR image reconstruction and processing.
Basic Info
- Host: GitHub
- Owner: PTB-MR
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: http://mrpro.rocks
- Size: 23 MB
Statistics
- Stars: 34
- Watchers: 3
- Forks: 7
- Open Issues: 77
- Releases: 19
Metadata Files
README.md
MR image reconstruction and processing package specifically developed for PyTorch.
- Source code: https://github.com/PTB-MR/mrpro
- Documentation: https://ptb-mr.github.io/mrpro/
- Bug reports: https://github.com/PTB-MR/mrpro/issues
- Try it out:
Awards
Main features
- ISMRMRD support MRpro supports ismrmrd-format for MR raw data.
- PyTorch All data containers utilize PyTorch tensors to ensure easy integration in PyTorch-based network schemes.
- Cartesian and non-Cartesian trajectories MRpro can reconstruct data obtained with Cartesian and non-Cartesian (e.g. radial, spiral...) sapling schemes. MRpro automatically detects if FFT or nuFFT is required to reconstruct the k-space data.
- Pulseq support If the data acquisition was carried out using a pulseq-based sequence, the seq-file can be provided to MRpro and the used trajectory is automatically calculated.
- Signal models A range of different MR signal models are implemented (e.g. T1 recovery, WASABI).
- Regularized image reconstruction Regularized image reconstruction algorithms including Wavelet-based compressed sensing or total variation regularized image reconstruction are available.
Examples
In the following, we show some code snippets to highlight the use of MRpro. Each code snippet only shows the main steps. A complete working notebook can be found in the provided link.
Simple reconstruction
Read the data and trajectory and reconstruct an image by applying a density compensation function and then the adjoint of the Fourier operator and the adjoint of the coil sensitivity operator.
```python
Read the trajectory from the ISMRMRD file
trajectory = mrpro.data.traj_calculators.KTrajectoryIsmrmrd()
Load in the Data from the ISMRMRD file
kdata = mrpro.data.KData.fromfile(datafile.name, trajectory)
Perform the reconstruction
reconstruction = mrpro.algorithms.reconstruction.DirectReconstruction(kdata) img = reconstruction(kdata) ```
Full example: https://github.com/PTB-MR/mrpro/blob/main/examples/scripts/direct_reconstruction.py
Estimate quantitative parameters
Quantitative parameter maps can be obtained by creating a functional to be minimized and calling a non-linear solver such as ADAM.
```python
Define signal model
model = MagnitudeOp() @ InversionRecovery(ti=idatamultiti.header.ti)
Define loss function and combine with signal model
mse = MSE(idatamultiti.data.abs()) functional = mse @ model [...]
Run optimization
paramsresult = adam(functional, [m0start, t1start], niterations=niterations, learningrate=learning_rate) ```
Full example: https://github.com/PTB-MR/mrpro/blob/main/examples/scripts/qmri_sg_challenge_2024_t1.py
Pulseq support
The trajectory can be calculated directly from a provided pulseq-file.
```python
Read raw data and calculate trajectory using KTrajectoryPulseq
kdata = KData.fromfile(datafile.name, KTrajectoryPulseq(seqpath=seqfile.name)) ```
Full example: https://github.com/PTB-MR/mrpro/blob/main/examples/scripts/comparison_trajectory_calculators.py
Contributing
We are looking forward to your contributions via "fork and pull requests". If you would like to fix a bug or add a new feature:
- Create your own copy of MRpro (i.e. create a fork via GitHub)
- Clone your forked copy of the MRpro repository
- Create/select a python environment (e.g.
conda create -n mrpro python=3.12) - Install MRpro in editable mode with developer dependencies:
pip install -e ".[dev]" - Setup pre-commit hook:
pre-commit install - Create a new branch
- Implement your changes to MRpro
- Commit and push them to GitHub
- Open a pull request via GitHub
You can find more information on "fork and pull requests" on the GitHub documentation
Please also look at our contributor guide for more information on the repository structure, naming conventions, and other useful information.
[!NOTE]
There are a few things which cannot be modified as "fork and pull requests" such as modifications of the docker images. If you think something needs to be changed there, please open up an issue first.
Owner
- Name: PTB-MR
- Login: PTB-MR
- Kind: organization
- Repositories: 1
- Profile: https://github.com/PTB-MR
Exciting MR research happening at PTB in Berlin
Citation (CITATION.cff)
abstract:
<p>MRpro is a MR image reconstruction and processing framework specifically
developed to work well with PyTorch. The data classes utilize torch tensors for
storing data such as MR raw data or reconstructed image data. Where possible batch
parallelisation of PyTorch is utilized to speed up image reconstruction.</p>
authors:
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Zimmermann
given-names: Felix Frederik
orcid: 0000-0002-0862-8973
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Schuenke
given-names: Patrick
orcid: 0000-0002-3179-4830
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Brahma
given-names: Sherine
orcid: 0000-0003-4340-6513
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Guastini
given-names: Mara
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Hammacher
given-names: Johannes
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Kofler
given-names: Andreas
orcid: 0000-0002-7416-4433
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Redshaw Kranich
given-names: Catarina
orcid: 0009-0008-3305-0342
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Lunin
given-names: Leonid
orcid: 0000-0001-6469-5532
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Martin
given-names: Stefan
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Schote
given-names: David
orcid: 0000-0003-3468-0676
- affiliation: Physikalisch-Technische Bundesanstalt
family-names: Kolbitsch
given-names: Christoph
orcid: 0000-0002-4355-8368
cff-version: 1.2.0
date-released: "2024-12-17"
doi: 10.5281/zenodo.14509598
license: Apache-2.0
repository-code: https://github.com/PTB-MR/mrpro/
title: MRpro - PyTorch-based MR image reconstruction and processing package
type: software
url: https://doi.org/10.5281/zenodo.14509598
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Felix F Zimmermann | f****9@g****m | 201 |
| Christoph Kolbitsch | c****h@p****e | 127 |
| Patrick Schuenke | 3****e | 38 |
| Leonid Lunin | l****n@p****e | 20 |
| Stefan Martin | 6****n | 8 |
| pre-commit-ci[bot] | 6****] | 7 |
| bernharb | 1****b | 6 |
| David | 4****e | 6 |
| Andreas Kofler | a****r@g****t | 6 |
| Johannes Hammacher | 1****1 | 4 |
| dependabot[bot] | 4****] | 4 |
| rkcatarina | 7****a | 4 |
| Mara Guastini | 1****a | 3 |
| Pierrick Bouilloux | 1****k | 2 |
| SimoneHufnagel | 6****l | 1 |
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 151
- Total pull requests: 376
- Average time to close issues: 5 months
- Average time to close pull requests: 25 days
- Total issue authors: 12
- Total pull request authors: 16
- Average comments per issue: 2.09
- Average comments per pull request: 3.06
- Merged pull requests: 215
- Bot issues: 0
- Bot pull requests: 15
Past Year
- Issues: 79
- Pull requests: 330
- Average time to close issues: 2 months
- Average time to close pull requests: 19 days
- Issue authors: 9
- Pull request authors: 14
- Average comments per issue: 0.95
- Average comments per pull request: 2.85
- Merged pull requests: 184
- Bot issues: 0
- Bot pull requests: 15
Top Authors
Issue Authors
- fzimmermann89 (121)
- ckolbPTB (79)
- koflera (13)
- schuenke (12)
- bernharb (8)
- JoHa0811 (5)
- lrlunin (3)
- guastinimara (3)
- mxlutz (2)
- Stef-Martin (2)
- rkcatarina (1)
- Pierrickkk (1)
- hdillinger (1)
Pull Request Authors
- fzimmermann89 (332)
- ckolbPTB (157)
- schuenke (38)
- lrlunin (34)
- pre-commit-ci[bot] (12)
- JoHa0811 (9)
- Stef-Martin (9)
- dependabot[bot] (8)
- koflera (7)
- bernharb (6)
- guastinimara (6)
- rkcatarina (5)
- schote (2)
- Pierrickkk (2)
- hdillinger (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 1,095 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 19
- Total maintainers: 3
pypi.org: mrpro
MR image reconstruction and processing package specifically developed for PyTorch.
- Documentation: https://ptb-mr.github.io/mrpro/
- License: Apache Software License
-
Latest release: 0.0.0
published over 2 years ago
Rankings
Maintainers (3)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- peaceiris/actions-gh-pages v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pre-commit/action v3.0.0 composite
- MishaKav/pytest-coverage-comment v1.1.48 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- schneegans/dynamic-badges-action v1.6.0 composite
- einops *
- ismrmrd *
- numpy >=1.23,<2.0
- pydicom *
- torch >=2.0,<3.0
- torchio *