Comments (10)
Hi @zaccharieramzi, thanks for reporting this. What operating system are you using and what version of python?
from pygrappa.
I am on Linux Ubuntu 16.04 with Python 3.6.8.
from pygrappa.
Alright, I knew this looked familiar. This is a known issue (not well documented, tests only run on complex128
because complex64
fails). It's a limitation of Cython's C++ template support. I have plans on doing a better, more flexible C++ implementation.
There's not an easy fix, but here are some options:
- Take the memory hit and use
complex128
- Use
mdgrappa
which is a pure Python implementation with n-dimensional support untilcgrappa
gets an overhaul
from pygrappa.
Not really in the scope of this issue but since you mention it, does mdgrappa
use the 3rd dimension information or does loop over the 3rd dimension (what I am doing right now)?
In particular do you need isotropic resolution?
from pygrappa.
mdgrappa
assumes you want to use all spatial frequency dimensions in the reconstruction. If you have a 3D+coil dataset and you want to only reconstruct inplane, you would need to write a loop and pass mdgrappa
a single slice each iteration. Would it be a useful feature for you to specify which axes to either use or exclude from the reconstruction?
Keep in mind many of the algorithms found in pygrappa currently only support 2D+coil datasets as I was trying to just get them working. They are slowly getting migrated to be able to handle 3D+coil datasets (e.g., most recently cgsense
).
In particular do you need isotropic resolution?
I don't see any reason nonisotropic voxels shouldn't work, let me know if you run into issues.
from pygrappa.
Yes that's what I did, looping over the 3rd dimension was my solution so far.
However, it is very slow (12 minutes for a fastMRI volume) and doesn't have acceptable results (13dB in PSNR). It probably has to do with the setting of the lamda
regularisation parameter, does it sound plausible?
Have you played around with fastMRI yourself?
from pygrappa.
Might be regularization term, could be something else. I've also had issues with some methods using 7T data (#74).
I haven't worked with fastMRI volumes. Do you mind sending a link to the one you are trying to use? Real datasets often behave very differently from synthetic ones and I'd like to start setting up some benchmarks with real data to make sure performance is acceptable.
from pygrappa.
I am not sure I understood, do you want the link to the fastMRI dataset? In this case here you go: https://fastmri.med.nyu.edu/.
If you want like an extract from this dataset to run GRAPPA on I can zip one for you just tell me.
from pygrappa.
I think the confusion is because I am not familiar with fastMRI.
If you want like an extract from this dataset to run GRAPPA on I can zip one for you just tell me.
This would probably be easiest for now. Do you mind sharing the dataset as a zip file?
from pygrappa.
I can't really share the whole dataset as a zip file since it's 1TB but I ll try with just one volume.
from pygrappa.
Related Issues (20)
- ndarray is not C-contiguous error, when using grog and switching the coil axis HOT 3
- Build problem on M2 Mac with Meson 1.3.2 HOT 1
- API references missing cgrappa
- cgrappa breaks on 7T real data
- CI error for python 3.5
- ENH: multidimensional data support for cgsense
- ENH: revamp cgrappa HOT 1
- ERROR when installing pygrappa in a singularity image HOT 7
- Precision on the kernel size HOT 13
- igrappa doesn't return coil dimension
- Regularly undersampled GRAPPA HOT 1
- Aliasing artifacts HOT 4
- BUG: radialgrappaop should use lamda0, not lamda
- Slow performance of mdgrappa HOT 7
- skimage.util.pad not available HOT 2
- Keeping calibration weights for reuse? HOT 5
- Defination of kernel sizes not agree with most papers HOT 2
- Local utils package cannot be imported properly HOT 3
- Memory Allocation HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pygrappa.