Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Rotation einops compatible #655

Merged
merged 8 commits into from
Mar 5, 2025
Merged

Conversation

fzimmermann89
Copy link
Member

@fzimmermann89 fzimmermann89 commented Feb 27, 2025

Adds support for einops.rearrange(Rotation() ...)

[ghstack-poisoned]
Copy link
Contributor

github-actions bot commented Feb 27, 2025

Coverage

Coverage Report
FileStmtsMissCoverMissing
src/mrpro
   _version.py6267%7–8
src/mrpro/algorithms/csm
   inati.py24196%44
   walsh.py16194%53
src/mrpro/algorithms/dcf
   dcf_voronoi.py55493%15, 55–56, 89
src/mrpro/algorithms/optimizers
   adam.py20195%101
   pdhg.py79396%177–178, 184
   pgd.py51492%106, 151–154
src/mrpro/algorithms/reconstruction
   DirectReconstruction.py281643%59–79, 93
   IterativeSENSEReconstruction.py13192%79
   Reconstruction.py502256%42, 54–56, 80–87, 108–117
   RegularizedIterativeSENSEReconstruction.py411759%97–101, 115–140
src/mrpro/data
   AcqInfo.py128398%26, 169, 207
   CsmData.py29390%15, 84–86
   DcfData.py45882%18, 66, 78–83
   IData.py60887%129, 142, 171–179
   IHeader.py961189%103, 106, 116, 119, 122, 125, 162–166
   KData.py2142588%111–112, 127, 134, 144, 152, 206–207, 245, 250–251, 270–281, 440, 442, 507, 522, 559, 590, 599
   KHeader.py1531789%25, 119–123, 150, 199, 210, 217–218, 221, 228, 260–271
   KNoise.py311552%39–52, 56–61
   KTrajectory.py811285%112–117, 120–122, 207–211
   MoveDataMixin.py1401887%28, 126, 142, 156–158, 220, 336–338, 351, 430, 450–451, 453, 468–469, 471
   QData.py39782%42, 65–73
   Rotation.py7193595%101, 199, 336, 434, 478, 496, 583, 585, 594, 628, 630, 693, 770, 775, 778, 793, 810, 815, 891, 1079, 1084, 1087, 1111, 1115, 1243, 1245, 1253–1254, 1318, 1400, 1703, 1855, 1890, 1894, 2084
   SpatialDimension.py2322191%34, 104, 141, 148, 154, 274–276, 289–291, 325, 343, 356, 369, 382, 395, 404–405, 420, 429
   acq_filters.py12192%47
src/mrpro/data/traj_calculators
   KTrajectoryCalculator.py25292%23, 45
   KTrajectoryIsmrmrd.py13285%41, 50
   KTrajectoryPulseq.py23196%55
src/mrpro/operators
   CartesianSamplingOp.py89397%118, 157, 280
   ConstraintsOp.py60297%46, 48
   EndomorphOperator.py32294%52, 58
   FiniteDifferenceOp.py27293%40, 105
   FourierOp.py73297%234, 239
   Functional.py77988%20–22, 117, 119, 226–228, 242
   GridSamplingOp.py136993%72–73, 82–83, 90–91, 94, 96, 98
   LinearOperator.py2001095%48, 107, 217, 244, 251, 292, 301, 309, 326, 361
   LinearOperatorMatrix.py1621988%82, 119, 152, 161, 166, 175–178, 191–194, 202–203, 208–209, 221, 310, 337, 364
   MultiIdentityOp.py13285%43, 48
   NonUniformFastFourierOp.py1771094%69, 96, 206, 208, 241, 243, 302, 356, 406, 411
   Operator.py79297%32, 88
   ProximableFunctionalSeparableSum.py39392%50, 103, 110
   SliceProjectionOp.py174895%45, 62, 64, 70, 206, 227, 260, 300
   WaveletOp.py119596%151, 169, 204, 209, 232
   ZeroPadOp.py16194%30
src/mrpro/phantoms
   brainweb.py2752691%325–335, 371, 427–430, 452–453, 458–459, 474, 520, 586–587, 606–609, 620, 622, 657–658, 671
src/mrpro/utils
   filters.py62297%44, 49
   reshape.py75199%239
   slice_profiles.py47687%21, 37, 116–119, 152
   sliding_window.py34197%34
   split_idx.py10280%43, 47
   summarize_tensorvalues.py11918%20–29
   typing.py584522%9–217
   zero_pad_or_crop.py31681%26, 30, 55, 58, 61, 64
TOTAL553344892% 

Tests Skipped Failures Errors Time
2445 0 💤 0 ❌ 0 🔥 2m 28s ⏱️

Copy link
Contributor

github-actions bot commented Feb 27, 2025

📚 Documentation

📁 Download as zip
🔍 View online

@fzimmermann89 fzimmermann89 marked this pull request as ready for review February 27, 2025 17:19
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
Copy link
Collaborator

@ckolbPTB ckolbPTB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we want to use None as return type for test, please make sure it is done for all of them in Rotation (missing eg: test_as_euler_degenerate_asymmetric_axes) and add an issue to do for all other tests.

[ghstack-poisoned]
@fzimmermann89
Copy link
Member Author

If we want to use None as return type for test, please make sure it is done for all of them in Rotation (missing eg: test_as_euler_degenerate_asymmetric_axes) and add an issue to do for all other tests.

#680

[ghstack-poisoned]
@fzimmermann89 fzimmermann89 mentioned this pull request Mar 4, 2025
schote pushed a commit that referenced this pull request Mar 4, 2025
ghstack-source-id: ee9c42b37d035c96b9caab98049509b89f3bed79
ghstack-comment-id: 2688426513
Pull Request resolved: #655
fzimmermann89 added a commit that referenced this pull request Mar 5, 2025
ghstack-source-id: 3d20834bc290babd389ad41f51f3126bf2353756
ghstack-comment-id: 2688426513
Pull Request resolved: #655
[ghstack-poisoned]
@fzimmermann89 fzimmermann89 merged commit 274e203 into main Mar 5, 2025
20 checks passed
@fzimmermann89 fzimmermann89 deleted the gh/fzimmermann89/43/head branch March 5, 2025 14:03
@fzimmermann89 fzimmermann89 mentioned this pull request Mar 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants