Corey-Zumar / MRI-Reconstruction

An open source implementation of the deep learning platform for undersampled MRI reconstruction described by Hyun et. al. (https://arxiv.org/pdf/1709.02576.pdf)
53 stars 19 forks source link

The problem about subsample #11

Open ZaherHsu opened 5 years ago

ZaherHsu commented 5 years ago

Thank you for showing such excellent work,but I still have some problems about subsample the data. Firstly, I don't understand the comments of " #accounts for the double-counted lines" and the meaning for the variable of mod_low_freq_percent? secondly, according to the paper ,we need 25% k-space data ,why the line about"
for i in range(int(start), int(end)): subshift[i] = tshift[i]" did not need this condition "if i % substep == 0:" I hope you answer, Thanks

Alex-Kot commented 5 years ago

To get subsampled images, we used every 4th line of an original MR image. Training a network with this uniform sampling showed anterior-posterior uncertainty. Adding a small amount of extra low-frequency data resolved this issue.

the mod_low_freq_percent just helps to keep track of how much data is actually in the subsampled image. Every 4th line in extra low-frequency band would be double counted without a correction.

Check out the paper we wrote on the system @ https://corey-zumar.github.io/submrine/

The subsampling is just a way to simulate a lower resolution image. The optimal setup will likely depend on the equipment, and anatomy.

ZaherHsu commented 5 years ago

i am pretty sorry, after reading your paper , I still cannot understand why " Every 4th line in extra low-frequency band would be double counted"I

ZaherHsu commented 5 years ago

` #Subsampler,

accounts for the double-counted lines

    mod_low_freq_percent = 1.0 / float(
        substep) * low_freq_percent + low_freq_percent

    start = len(tshift) / 2 - int(
        mod_low_freq_percent * float(len(tshift)))
    end = len(tshift) / 2 + int(mod_low_freq_percent * float(len(tshift)))

    for i in range(0, start):
        if i % substep == 0:
            subshift[i] = tshift[i]
    for i in range(start, end):
        subshift[i] = tshift[i]
    for i in range(end, len(tshift)):
        if i % substep == 0:
            subshift[i] = tshift[i]`

please teach me , from the above codes ,how can i calculate the 4% low-frequency and 25% k-space data