Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

estvar always returns 0.00000 #205

Open
jonasteuwen opened this issue Aug 17, 2019 · 7 comments
Open

estvar always returns 0.00000 #205

jonasteuwen opened this issue Aug 17, 2019 · 7 comments

Comments

@jonasteuwen
Copy link

As input I have data of shape (num_slices, height, width, num_coils) made by writecfl (coming from the fastmri dataset). However, when I run bart estvar -k1 -r <number_of_central_lines> I always get Estimated noise variance: 0.00000. Is there somewhere an test image which returns something positive?

@uecker
Copy link
Member

uecker commented Aug 18, 2019

I get some (not very accurate) result using simulated data:
$ bart phantom -s8 -k k
$ bart noise -n1. k kn
$ bart estvar kn
Estimated noise variance: 0.843731

@sidward Can you take a look? Also: Isn't there a formula for predicting the eigenvalues of the noise calibration matrix instead of doing simulations?

@sidward
Copy link
Contributor

sidward commented Aug 18, 2019

Hi all,

@jonasteuwen Do you mind linking me to the fast mri dataset so that I can take a look?

@uecker I used simulations as, after the initial simulation, it's quick to re-load and use the simulation results. I do not know how to calculate the expected noise distribution of a matrix with block-hankel structure. Instead, I can look into projecting the low-res image onto an ortho-normal image-sparse basis and use the low-amplitude coefficients to estimate the variance. Would that work?

@uecker
Copy link
Member

uecker commented Aug 18, 2019

@sidward I like the approach in principle. I also do not know an analytical formula, but it sounds like a problem where one might find results in the literature. Another approach might be to use the calibration matrix to project onto the noise subspace and then go back to k-space. Then read off the noise level (correcting for the size of the subspace).

@sidward
Copy link
Contributor

sidward commented Aug 19, 2019

@uecker I'll look into the literature, but it will be a while before I can do it justice. As for the noise-subspace projection, i'll look into it. I think in principle, it is equivalent to solving an ACS-limited ESPIRiT problem, and subtracting the ACS data from the solution (after projecting the result back to the coil subspace). That being said, this too will take some time for me to get to unfortunately as I will be moving soon.

@jonasteuwen
Copy link
Author

@sidward You need do download the dataset here: fastmri.org/dataset I cannot share it myself.
What kind of input shape is the tool expecting? Was (num_slices, height, width, num_coils) correct?

@uecker
Copy link
Member

uecker commented Aug 19, 2019

@sidward no problem.

@sidward
Copy link
Contributor

sidward commented Aug 23, 2019

@sidward You need do download the dataset here: fastmri.org/dataset I cannot share it myself.
What kind of input shape is the tool expecting? Was (num_slices, height, width, num_coils) correct?

Sorry, I forgot to respond: Yes, the dimensions are correct. The tool expects the first three dimensions to be spatial and the fourth dimension to be coil.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants