fooof icon indicating copy to clipboard operation
fooof copied to clipboard

fooof for mouse data EEG

Open kshtjkumar opened this issue 1 year ago • 6 comments

I have EEG data collected from epileptic mouse model. The data was collected using screw, intracranial method. The original sampling frequency was 30kHz, but we are using the downsampled data (2kHz) for fooof. I have used both python and MATLAB versions (Brainstorm) for calculating the exponent of the aperiodic components.

The range of exponent that I am getting is in the order of 5-9 . I am not sure if this is correct. Can someone help ? or provide a reference for 1/f ratio calculations in mouse EEG data ?

kshtjkumar avatar Aug 02 '24 13:08 kshtjkumar

That's very steep! Can you share some plots of the spectra and the fits, as well as the fitting settings?

voytek avatar Aug 03 '24 01:08 voytek

Hi, apologies for the delayed response. I noticed that applying a bandpass filter of 1-100Hz during analysis results in higher exponent values compared to using no bandpass filter. I tested this across different files and observed the same pattern. Below are the results from the brainstorm FOOOF algorithm using the default settings as mentioned here:https://neuroimage.usc.edu/brainstorm/Tutorials/Fooof

Screenshot_2024-08-17_024703 Screenshot_2024-08-17_0247392 Screenshot_2024-08-17_02494422 Screenshot_2024-08-17_02504322

kshtjkumar avatar Aug 16 '24 22:08 kshtjkumar

plots aren't in a very good state, nevertheless , here is one for your reference : Screenshot 2024-08-17 at 3 39 40 AM

Screenshot 2024-08-17 at 3 39 31 AM

kshtjkumar avatar Aug 16 '24 22:08 kshtjkumar

Hey @kshtjkumar - I'm not sure what's going on here, but there is something wrong with the plots - one of the lines (B-000) seems to be in a different spacing than the others, so we can't really see anything about the models.

A pretty key point here is what frequency range you are parameterizing - animal model data can be pretty steep in the high frequency ranges (eg 50-150 Hz), but I'm not clear if that's what you are doing here. You want to specify the range, make sure you avoid any ranges with a filter, and then plot the models / check the goodness of fit parameters and see how things look. I don't use Matlab, so I can't provide any guides on that aspect - but hopefully the Brainstorm documentation has some information on this

TomDonoghue avatar Aug 17 '24 15:08 TomDonoghue

Hi @TomDonoghue, thanks for your response. I'm actually working with LFP data, bandpass filtered at 0.5-100Hz. I initially used Python, but it takes a significant amount of time to analyze even a short time range, like 30 seconds. My recordings, however, are over 60 minutes long. On the other hand, MATLAB Brainstorm processes the data in just a few minutes.

kshtjkumar avatar Aug 17 '24 16:08 kshtjkumar

Hey @kshtjkumar - there is not much of a performance difference between Matlab and Python in actual computation time, the difference you are seeing there is probably due to different settings (Brainstorm might be defaulting a bit different). Make sure you are setting the frequency range and model settings to fit the models properly / efficiently.

TomDonoghue avatar Aug 21 '24 14:08 TomDonoghue

There hasn't been any follow up here, so assuming this question has been addressed I'm going to close this issue now - but feel free to re-open if there is any follow up / further questions, etc!

TomDonoghue avatar Mar 10 '25 03:03 TomDonoghue