Skip to content

Add Non-Linear Conjugate Gradient (NLCG) algorithm#453

Draft
fzimmermann89 wants to merge 2 commits intomainfrom
nlcg
Draft

Add Non-Linear Conjugate Gradient (NLCG) algorithm#453
fzimmermann89 wants to merge 2 commits intomainfrom
nlcg

Conversation

@fzimmermann89
Copy link
Copy Markdown
Member

@fzimmermann89 fzimmermann89 commented Oct 20, 2024

Closes #292

Status: I will not continue working on it for the foreseeable futue

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Oct 20, 2024

Coverage

Coverage Report
FileStmtsMissCoverMissing
src/mrpro/algorithms/csm
   inati.py24196%44
   walsh.py16194%34
src/mrpro/algorithms/dcf
   dcf_voronoi.py53492%15, 48–49, 76
src/mrpro/algorithms/optimizers
   adam.py20195%69
   nlcg.py32320%3–86
src/mrpro/algorithms/reconstruction
   DirectReconstruction.py281643%51–71, 85
   IterativeSENSEReconstruction.py422345%77–78, 88–98, 113–124, 138–149
   Reconstruction.py512453%41, 53–55, 79–86, 103–114
src/mrpro/data
   AcqInfo.py128298%174, 214
   CsmData.py28389%14, 81–83
   DcfData.py44882%17, 65, 77–82
   IData.py67987%119, 125, 129, 159–167
   IHeader.py75791%75, 109, 127–131
   KHeader.py1641790%24, 126–130, 157, 207, 218, 225–226, 229, 236, 275–286
   KNoise.py311552%39–52, 56–61
   KTrajectory.py69593%178–182
   MoveDataMixin.py1261489%14, 109, 125, 139–141, 202, 265, 279, 358, 378–379, 396–397
   QData.py39782%42, 65–73
   Rotation.py4472295%96, 277, 362, 364, 391, 446, 451, 454, 469, 486, 491, 634, 639, 642, 658, 662, 736, 738, 746–747, 987, 1069
   SpatialDimension.py46296%64, 103
   TrajectoryDescription.py14193%23
   acq_filters.py10190%47
src/mrpro/data/_kdata
   KData.py1051685%108–109, 118, 126, 180–181, 216, 221–222, 241–252
   KDataRemoveOsMixin.py29293%44, 46
   KDataSelectMixin.py20290%47, 63
   KDataSplitMixin.py48394%50, 80, 89
src/mrpro/data/traj_calculators
   KTrajectoryCalculator.py25292%23, 45
   KTrajectoryIsmrmrd.py13285%41, 50
   KTrajectoryPulseq.py29197%54
src/mrpro/operators
   CartesianSamplingOp.py50982%49–50, 55–56, 61–62, 88, 91, 114
   ConstraintsOp.py60297%46, 48
   EndomorphOperator.py64297%225, 231
   FiniteDifferenceOp.py27293%40, 105
   FourierOp.py77199%131
   Functional.py71593%20–22, 117, 119
   GridSamplingOp.py136993%72–73, 82–83, 90–91, 94, 96, 98
   LinearOperator.py1601292%54, 90, 189, 217, 258, 267, 275, 284, 292, 303, 401, 406
   MultiIdentityOp.py13285%44, 49
   Operator.py76297%24, 67
   ProximableFunctionalSeparableSum.py38392%49, 102, 109
   SliceProjectionOp.py173895%44, 61, 63, 69, 206, 227, 260, 300
   WaveletOp.py120596%152, 170, 205, 210, 233
   ZeroPadOp.py16194%30
src/mrpro/utils
   filters.py62297%44, 49
   modify_acq_info.py17194%12
   slice_profiles.py46687%20, 36, 113–116, 149
   sliding_window.py34197%34
   split_idx.py10280%43, 47
   summarize_tensorvalues.py11918%20–29
   typing.py12742%6–15
   zero_pad_or_crop.py31681%26, 30, 54, 57, 60, 63
TOTAL407434092% 

Tests Skipped Failures Errors Time
1869 0 💤 0 ❌ 0 🔥 1m 38s ⏱️

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Oct 20, 2024

📚 Documentation

📁 Download as zip
🔍 View online

@fzimmermann89 fzimmermann89 changed the title non-linear cg Add Non-Linear Conjugate Gradient (NLCG) algorithm Oct 20, 2024
@github-actions
Copy link
Copy Markdown
Contributor

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
   nlcg.py32320%3–86
   pdhg.py79396%177–178, 184
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.py6823595%100, 198, 335, 433, 477, 495, 582, 584, 593, 627, 629, 692, 769, 774, 777, 792, 809, 814, 890, 1078, 1083, 1086, 1110, 1114, 1242, 1244, 1252–1253, 1317, 1399, 1702, 1854, 1889, 1893, 2004
   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/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
TOTAL520045091% 

Tests Skipped Failures Errors Time
2413 0 💤 0 ❌ 0 🔥 1m 12s ⏱️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: Non-linear CG

1 participant