# Running FFT on raw data

**URL:** https://mne.discourse.group/t/running-fft-on-raw-data/6175
**Category:** Support & Discussions
**Tags:** time-frequency, preprocessing, eeg, visualization, epochs
**Created:** [January 10, 2023, 12:33pm UTC](https://mne.discourse.group/t/running-fft-on-raw-data/6175 "2023-01-10T12:33:44Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![zainab](https://avatars.discourse-cdn.com/v4/letter/z/258eb7/32.png) [@zainab](https://mne.discourse.group/u/zainab)
#### Post date: [January 10, 2023, 12:33pm UTC](https://mne.discourse.group/t/running-fft-on-raw-data/6175/1 "2023-01-10T12:33:44Z")

</div>

hello everyone iam asking about this error (All picks must be \< n\_channels (14), got 14), i want to filter it using FFT and when run code i got this error.  
This is my code:  
from pathlib import Path  
import matplotlib.pyplot as plt  
import mne  
import numpy as np  
from scipy.fftpack import fft, ifft

fname = “C:\Users\hp\Desktop\data\Emotiv 30s EDF\S021\S021E04.edf”  
raw = mne.io.read\_raw\_edf(fname,preload=True)  
X = fft(raw)

---

<div class="post-metadata">

### Author: ![richard](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/richard/32/15_2.png) [@richard](https://mne.discourse.group/u/richard)
#### Post date: [January 10, 2023, 2:29pm UTC](https://mne.discourse.group/t/running-fft-on-raw-data/6175/2 "2023-01-10T14:29:28Z")

</div>

Hello @zainab and welcome to the forum!

You must not run `fft()` on `raw`, which is an MNE `Raw` object. `fft()` cannot work with this. It expects a NumPy array. You can get the raw’s data represented as a NumPy array by using the `get_data()` method. Here’s a working example:

```python
# %%
import mne
from scipy.fftpack import fft

# Load sample data
sample_dir = mne.datasets.sample.data_path()
sample_fname = sample_dir / 'MEG' / 'sample' / 'sample_audvis_raw.fif'
raw = mne.io.read_raw_fif(sample_fname, preload=True)
raw.crop(tmax=60)

# Run FFT
X = fft(raw.get_data())
print(X)

```

Best wishes,  
Richard

---

<div class="post-metadata">

### Author: ![zainab](https://avatars.discourse-cdn.com/v4/letter/z/258eb7/32.png) [@zainab](https://mne.discourse.group/u/zainab)
#### Post date: [January 11, 2023, 11:15am UTC](https://mne.discourse.group/t/running-fft-on-raw-data/6175/4 "2023-01-11T11:15:04Z")

</div>

> [@zainab](#):
>
> > [@richard](#):
> >
> > Richard
> 
> Thank you mr.Richard .  
> I have another question how can i plot psd for siganl after i did fft?

_emphasized text_

---

<div class="post-metadata">

### Author: ![richard](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/richard/32/15_2.png) [@richard](https://mne.discourse.group/u/richard)
#### Post date: [January 11, 2023, 12:14pm UTC](https://mne.discourse.group/t/running-fft-on-raw-data/6175/5 "2023-01-11T12:14:52Z")

</div>

I don’t know, why don’t you just use the built-in functionality for all of that in MNE?

```python
raw.compute_psd().plot()

```

---

<div class="post-metadata">

### Author: ![zainab](https://avatars.discourse-cdn.com/v4/letter/z/258eb7/32.png) [@zainab](https://mne.discourse.group/u/zainab)
#### Post date: [January 11, 2023, 4:49pm UTC](https://mne.discourse.group/t/running-fft-on-raw-data/6175/6 "2023-01-11T16:49:14Z")

</div>

> [@richard](#):
>
> `raw.compute_psd().plot()`

I want to plot the difference between 2 edf signal (concetration and relax) ,pds does not show the difference , so i use fft then i want to plot the psd but it does not work.  
Is there any other plots to show the difference?

---

<div class="post-metadata">

### Author: ![richard](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/richard/32/15_2.png) [@richard](https://mne.discourse.group/u/richard)
#### Post date: [January 11, 2023, 5:34pm UTC](https://mne.discourse.group/t/running-fft-on-raw-data/6175/7 "2023-01-11T17:34:15Z")

</div>

Hello, I don’t know what exactly you want to do. Can you please open a new topic and provide detailed information on what you’re trying to achieve, what you’ve tried, and where problems arise?

Thanks!
