How can I preprocess a dataset that is too large to fit into memory?
If your dataset is too large to fit into memory at once, you can preprocess one channel at a time With ft_preprocessing, immediately combined with ft_resampledata. After gathering all downsampled channels, you can combine them again into a normal multi-channel data structure.
In summary, the code would look like this
for i=1:nchans cfgp = []; cfgp.dataset = 'yourfile.dat'; % instead of specifying channel names, you are allowed to use channel numbers cfgp.channel = i; datp = ft_preprocessing(cfgp); cfgr = []; cfgr.resamplefs = 250; datr{i} = ft_resampledata(cfgr, datp); clear datp end cfg = []; datall = ft_appenddata(cfg, datr{:}); % this expands all cells into input variables