MagneticResonanceImaging / MRIReco.jl

Julia Package for MRI Reconstruction
https://magneticresonanceimaging.github.io/MRIReco.jl/latest/
Other
85 stars 22 forks source link

Espirit to eign #52

Closed JakobAsslaender closed 2 years ago

JakobAsslaender commented 2 years ago

Hi, I switched the voxel-wise SVD to an Eigen-decomposition. This has speed and memory benefits, and maybe also fixes #46 . The memory benefit arises from never storing an Nx x Ny x Nz x Nc x Nvectors array, where Nvectors is the number of singular vectors that span the null-space. Instead, I compute an array of size Nx x Ny x Nz x Nc x Nc directly, which is usually much smaller. On large datasets this makes the difference if it fits in the memory or not...

I added the option to perform the Eigen-decomposition via power iterations, if only one set of maps is requested, and I set this flag to true by default.

On the test data sets and my laptop, the algorithm is about 6x faster compared to he old code.

codecov-commenter commented 2 years ago

Codecov Report

Merging #52 (52aa0f0) into master (2ba16fb) will increase coverage by 0.11%. The diff coverage is 87.50%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #52      +/-   ##
==========================================
+ Coverage   64.50%   64.61%   +0.11%     
==========================================
  Files          63       63              
  Lines        3048     3069      +21     
==========================================
+ Hits         1966     1983      +17     
- Misses       1082     1086       +4     
Impacted Files Coverage Δ
src/Tools/CoilSensitivity.jl 67.51% <87.50%> (+2.07%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 2ba16fb...52aa0f0. Read the comment docs.