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

WIP: PIESNO framework for estimating the underlying std of the gaussian distribution #277

Closed
wants to merge 26 commits into
base: master
from

Conversation

Projects
None yet
8 participants
@samuelstjean
Contributor

samuelstjean commented Nov 29, 2013

This is a reimplementation of PIESNO, a framework used to identify noise only pixels and find the std of gaussian distributed signals from magnitude MRI data. It can be used on both dMRI and fMRI, since it needs to have multiple representations of the same volume at different realisations of noise.

I also planned to use it in the example of the SNR in the corpus callosum, but the method requires the number of phase array coils of the mr scanner to find proper bounds for the noise estimation. Does anyone know the specifics for the stanford dataset? I can't find anything related to that in the header either.

It can also return the location of the found noisy pixels (as a mask), but that is currently simply discarded, but can be easily returned.

This method is also useful for normalisation according to the level of the noise. If we really wanted ot be fancy, we could rework the smoothing parameters in the hardi and dti models, since it should depend on the strength of the noise but so far it's set as a constant.

It can also be used in stabilisation frameworks that aim to transform the rician or chi-distributed signal into gaussian distributed signals, but that's for a later PR ;)

# Test for piesno using the data from the paper
data = nib.load('test_piesno.nii.gz').get_data()

This comment has been minimized.

@samuelstjean

samuelstjean Nov 29, 2013

Contributor

Should we put the data in dipy/data or in the test folder?

@Garyfallidis

This comment has been minimized.

Member

Garyfallidis commented Dec 5, 2013

Sorry, for this but we will start having a look at this after the release. Shouldn't take too long.

@arokem

This comment has been minimized.

Member

arokem commented Jan 17, 2014

Hey @samuelstjean. As promised - responding after the release :-)

The Stanford data-set was acquired on a GE scanner, using a 32 channel phased-array coil. Do you need any other information about this data-set? I could try to get the individual coil data, if that's helpful, but it would be a large amount of data...

@samuelstjean

This comment has been minimized.

Contributor

samuelstjean commented Jan 17, 2014

Nah, it's ok, but I have another question. Granted, it has a 32 channel coils, but are all of the 32 channels actually used in an acquisition? Seems like our 1.5T in sherbrooke is a 12 head array coil, but depending on the mri sequence used, seems like the number of coils efectively used also changes.

Any idea if the 32 coils are actually used or not?

@arokem

This comment has been minimized.

Member

arokem commented Jan 17, 2014

I would assume so, and I know who might know the answer: @rfdougherty ?

@ecaruyer

This comment has been minimized.

Contributor

ecaruyer commented Feb 7, 2014

You are adding a dipy.denoise package, so I guess you will need to update the list of packages in the setup.py script, right?

@Garyfallidis

This comment has been minimized.

Member

Garyfallidis commented Feb 7, 2014

@ecaruyer this is still a work in progress (WIP) PR. We should merge first #320 which does all that.

Garyfallidis and others added some commits Feb 10, 2014

Merge pull request #331 from mekman/fix_example
DOC: correct number of seeds in streamline_tools example
Merge pull request #320 from Garyfallidis/nlmeans_opt
Denoising images using non-local means
@arokem

This comment has been minimized.

Member

arokem commented Mar 11, 2014

Now that #320 is merged, is this relevant again? Still WIP?

@samuelstjean

This comment has been minimized.

Contributor

samuelstjean commented Mar 11, 2014

This is actually needed by #320, and I have a working version lying somewhere else.

@arokem

This comment has been minimized.

Member

arokem commented Mar 11, 2014

I am not sure I follow - this was integrated into #320? We just merged that
one into master. Should we merge this one as well?

On Tue, Mar 11, 2014 at 4:54 PM, Samuel St-Jean notifications@github.comwrote:

This is actually needed by #320 #320,
and I have a working version lying somewhere else.


Reply to this email directly or view it on GitHubhttps://github.com//pull/277#issuecomment-37360943
.

@samuelstjean

This comment has been minimized.

Contributor

samuelstjean commented Mar 12, 2014

No, #320 requires the variance of the noise, this is one way to automagically compute it for 4D data. One can still use in the meantime the (cheap) trick from the example of SNR computation, by taking a noise ROI and computing a local standard deviation.

@arokem

This comment has been minimized.

Member

arokem commented Mar 12, 2014

I think I understand. So - should I take a look, review and merge this one?
What is this "working version lying somewhere else" you refer to?

On Tue, Mar 11, 2014 at 5:01 PM, Samuel St-Jean notifications@github.comwrote:

No, #320 #320 requires the variance of
the noise, this is one way to automagically compute it for 4D data. One can
still use in the meantime the (cheap) trick from the example of SNR
computation, by taking a noise ROI and computing a local standard deviation.


Reply to this email directly or view it on GitHubhttps://github.com//pull/277#issuecomment-37361410
.

@samuelstjean

This comment has been minimized.

Contributor

samuelstjean commented Mar 12, 2014

I've further continued to develop it on another branch, I'll just redo the PR as a whole instead.

@arokem

This comment has been minimized.

Member

arokem commented Mar 12, 2014

Gotcha. Please close this one then :-)

On Tue, Mar 11, 2014 at 5:12 PM, Samuel St-Jean notifications@github.comwrote:

I've further continued to develop it on another branch, I'll just redo the
PR as a whole instead.


Reply to this email directly or view it on GitHubhttps://github.com//pull/277#issuecomment-37362118
.

samuelstjean added some commits Mar 12, 2014

@samuelstjean samuelstjean deleted the samuelstjean:piesno branch Mar 12, 2014

@samuelstjean samuelstjean reopened this Mar 12, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment