Giter Club home page Giter Club logo

Comments (10)

mckib2 avatar mckib2 commented on June 12, 2024

Hi @zaccharieramzi, thanks for reporting this. What operating system are you using and what version of python?

from pygrappa.

zaccharieramzi avatar zaccharieramzi commented on June 12, 2024

I am on Linux Ubuntu 16.04 with Python 3.6.8.

from pygrappa.

mckib2 avatar mckib2 commented on June 12, 2024

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 until cgrappa gets an overhaul

from pygrappa.

zaccharieramzi avatar zaccharieramzi commented on June 12, 2024

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.

mckib2 avatar mckib2 commented on June 12, 2024

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.

zaccharieramzi avatar zaccharieramzi commented on June 12, 2024

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.

mckib2 avatar mckib2 commented on June 12, 2024

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.

zaccharieramzi avatar zaccharieramzi commented on June 12, 2024

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.

mckib2 avatar mckib2 commented on June 12, 2024

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.

zaccharieramzi avatar zaccharieramzi commented on June 12, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.