I am able to recon the grappa test dataset successfully, but when trying to recon some real Siemens data with grappa turned on I always get:
Dimensions 256, 84, 20, 8, 1
Running GRAPPA recon with 8 source channels and 8 target channels
GrappaGadget: wrong number of samples received (expected 106 got 128)
Gadget (Grappa) process failed
I actually modified the error message to include the expected/recieved number of samples (although I guess I may have mixed up which is which):
GADGET_DEBUG2("GrappaGadget: wrong number of samples received (expected %d got %d)\n", samples, image_dimensions_[0]);
Initially I though the error was due to having partial Fourier turned on, but I get the same error on datasets without partial Fourier.
Well, it is not trivial. If it was, I would have made it 3D in the first
place;) Basically that GRAPPA reconstruction was made for low latency high
throughput 2D real-time imaging. I basically implemented it for
interventional image guidance. Consequently I made some design choices that
would take work to convert to 3D. Specifically, all the computation
including b1 map calculation and b1-weighted combining of the coefficients
after FFT to image space is done on the GPU. In principle one could do that
for 3D too, however the data may not fit on the GPU for even moderate
matrix sizes with many coils. For 3D one would probably go for a hybrid
approach where some of the work is done one the CPU and maybe only the
matrix inversion is done on the GPU. So one would sort of need to redesign
it, which would take work.
However, I do have some good news for you. We are planning a new release in
a couple of weeks and that release will contain 3D GRAPPA (and some
non-linear reconstruction). Most of that is done on the CPU, but that
actually makes a lot of sense for 3D. Unless you have a clear plan of how
you would like to extend it, I would recommend sitting tight for a couple
of weeks and watch for that release. I cannot give you an exact date, we
have a few things to work out before then, but it is in the pipeline.
Thanks for the info. I will keep an eye out for the new release. We are not really concerned with processing time, just want to get unscaled complex results from some of our acquisitions.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I am able to recon the grappa test dataset successfully, but when trying to recon some real Siemens data with grappa turned on I always get:
I actually modified the error message to include the expected/recieved number of samples (although I guess I may have mixed up which is which):
Initially I though the error was due to having partial Fourier turned on, but I get the same error on datasets without partial Fourier.
Any ideas?
Thanks,
Brendan
It does look like a partial Fourier issue. You are receiving 108 samples but expect 128. Is it the same error when running without partial Fourier?
Also, is this a 2D or 3D acquisition?
Sent from a mobile device - please excuse brevity and/or typos.
The error I posted above was actually from an acquisition without partial fourier.
I have only tested 3D acquisitions with grappa. I tried some MPRAGE data and some more standard GRE data (both with and without partial fourier).
Where in the meas.dat file does the number of samples come from? Could it be an issue with mapping Siemens parameters to ISMRMRD parameters?
That recon is only 2D.
Sent from a mobile device - please excuse brevity and/or typos.
Ah, I see. Any idea how much work is involved in adapting this to work for 3D acquisitions? I might have some time to spend working on it soon.
Hi Brendan,
Well, it is not trivial. If it was, I would have made it 3D in the first
place;) Basically that GRAPPA reconstruction was made for low latency high
throughput 2D real-time imaging. I basically implemented it for
interventional image guidance. Consequently I made some design choices that
would take work to convert to 3D. Specifically, all the computation
including b1 map calculation and b1-weighted combining of the coefficients
after FFT to image space is done on the GPU. In principle one could do that
for 3D too, however the data may not fit on the GPU for even moderate
matrix sizes with many coils. For 3D one would probably go for a hybrid
approach where some of the work is done one the CPU and maybe only the
matrix inversion is done on the GPU. So one would sort of need to redesign
it, which would take work.
However, I do have some good news for you. We are planning a new release in
a couple of weeks and that release will contain 3D GRAPPA (and some
non-linear reconstruction). Most of that is done on the CPU, but that
actually makes a lot of sense for 3D. Unless you have a clear plan of how
you would like to extend it, I would recommend sitting tight for a couple
of weeks and watch for that release. I cannot give you an exact date, we
have a few things to work out before then, but it is in the pipeline.
Hope this helps,
Michael
On Tue, Jan 21, 2014 at 5:23 PM, Brendan Moloney moloneyb@users.sf.netwrote:
Thanks for the info. I will keep an eye out for the new release. We are not really concerned with processing time, just want to get unscaled complex results from some of our acquisitions.