-
-
Notifications
You must be signed in to change notification settings - Fork 437
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
Documentation of rsp_clean() seems inconsistent with implementation #950
Comments
I think we should adjust the method to match the paper if there's a discrepancy no? |
Seems like the discrepancy between the docstring and the implementation started here: Any idea why that was done? Maybe another option could be to have a default "neurokit" method (in case this implementation does work better) as well as the original implementation based on the one from the paper |
indeed that's strange and unfortunately the committer disappeared from GH it seems.
The problem is how to benchmark that, I ran a quick search for annotated RSP data just to have some empirical evidence and found this dataset: https://www.physionet.org/content/bidmc/1.0.0/ That means we could maybe try to compare the time of peaks&troughts after various cleaning procedures vs. their annotations? And then, if the current version is better, we move it to a new neurokit default method. If not, we drop it. What do you think? Also they describe another method here based on Lu2006 that I don't think we implement: https://physiodatatoolbox.leidenuniv.nl/docs/user-guide/physioanalyzer-modules/resp-module.html |
Making the decision based on its performance on that dataset sounds good! I just don't know when I would be able to do that (though you or any kind stranger lurking here is welcome to), so my proposal would be:
What do you think? |
sounds good! 👌 |
Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward? This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Hello! I am a bit confused about the default method for cleaning respiration signals.
In the docstring, it is written that there is linear detrending followed by a 5th order lowpass Butterworth filter with a cutoff of 2Hz:
NeuroKit/neurokit2/rsp/rsp_clean.py
Lines 18 to 19 in 3d004b4
But the implementation seems to just be a 2nd order bandpass Butterworth filter with cutoffs of 0.5 Hz and 3 Hz:
NeuroKit/neurokit2/rsp/rsp_clean.py
Lines 121 to 143 in 3d004b4
Also, in the cited paper, Khodadad et al. (2018) wrote "However, further improvement is also obtained by pre-processing the data using a digital high-pass filter to remove the dominating low frequency contents. Here, a second order high-pass Butterworth filter has been used with a cut-off frequency of 15 breaths/min." Wouldn't that correspond to 0.25 Hz?
Should we update the documentation to reflect that it is a 2nd order bandpass Butterworth filter with cutoffs of 0.5 Hz and 3 Hz?
The text was updated successfully, but these errors were encountered: