Menu

[bug] 2d_golden_ratio cg sense broken

Zhitao Li
2014-06-25
2014-06-27
  • Zhitao Li

    Zhitao Li - 2014-06-25

    Hi,

    I am reporting a bug in the 2d golden ratio cg sense standalone app.

    I have attached a testing input file 'test.cplx' for single frame, which has the dimension of 512X402X8 (samples per profile X profile number X coil number), as well as the resulting output 'result.cplx' and 'result.real'.

    In the result, you can see the reconstructed object, but the intensity of the image is messed up. I have figured out that it is because of broken coil sensitivity map used. I have also attached the output of the CSM file 'csm.cplx'.

    I am on the git development branch, and I ran the test using the following command:
    "sense_cg_radial_2d -d test.cplx -m 256 -o 512 -p 402"

    Let me know if you have problems reproducing this bug.

    Thanks!

     

    Last edit: Zhitao Li 2014-06-25
  • Thomas Sangild Sørensen

    Hi

    The Sense standalone app was designed to reconstruct a series of images from only the set of samples. Coil sensitivity maps etc. are then estimated from the data as part of the reconstruction. This requires a stream of input images (samples) filling up some internal k-space buffers.

    Your test contains only samples for a single image and we consequently do not have enough data to estimate the CSM. Hence it uses an "identity" map. You have two options:

    1) acquire a series of images such that you are at least fully samples when pooling all samples together. You might need to check the setup of the cgSenseBuffer in the code to verify how many frames it expects (see e.g. the gpuRadialSenseGadget description at the wiki (https://sourceforge.net/p/gadgetron/home/Gadgetron%20Gadgets/) for some intro to the buffer)

    2) If only acquiring a single image. Make a reference scan to estimate the CSM. Then change the application to read the CSM from disk rather than trying to compute it from just a single undersampled frame.

    / Thomas

     
    • Zhitao Li

      Zhitao Li - 2014-06-27

      Thanks for the reply, I calculated the csm myself using center portion of the k-space data, and it seems everything works fine now.

      By the way, what is a "PICS" regularization stands for? I can't seem to find any documentation for it.

      Also in the none linear cg sense standalone app, the comments refer to the solver as "Split Bregman Solver" which is also kinda confusing.

      Thanks!

       

      Last edit: Zhitao Li 2014-06-27
  • Thomas Sangild Sørensen

    That sounds like a good solution.

    PICS is short for prior image compressed sensing.
    PICCS is prior image constrained compressed sensing.

    Both terms are exclusively for for the non-linear solvers. They provide regularisation by a prior image. E.g. you can minimise the total variation of both the image and difference of the image and prior.

    The Split Bregman algorithm is a non-linear solver, which comes in two flavours in the Gadgetron; an unconstraint and a constraint solver. Find a paper by Tom Goldstein to learn more on Split Bregman.

    / Thomas