Dear Richard,
Thanks a lot for the quick reply.
Here is a code snippet that generates random epochs objects to show the issue:
import mne
import numpy as np
from numpy.random import normal
import tempfile
import os
# Create random montage:
montage = mne.channels.make_dig_montage(ch_pos={"ch_1": np.array([1, 2, 3]), "ch_2": np.array([4, 5, 6]),
"ch_3": np.array([7, 8, 9])}, coord_frame="mri")
# Create random data:
info = mne.create_info(ch_names=['ch_1', 'ch_2', 'ch_3'],
ch_types=['ecog'] * 3,
sfreq=100)
data = np.array([[normal(loc=0, scale=2, size=100), normal(loc=0, scale=2, size=100),
normal(loc=0, scale=2, size=100)],
[normal(loc=0, scale=2, size=100), normal(loc=0, scale=2, size=100),
normal(loc=0, scale=2, size=100)]])
epochs = mne.EpochsArray(data, info, tmin=-0.2, verbose="ERROR")
epochs.set_montage(montage, verbose="ERROR")
# Printing the epochs montage info:
print("Coordinate frames before saving:")
print(epochs.get_montage().dig[0]["coord_frame"])
# Creating a temporary directory
temp_dir = tempfile.mkdtemp()
# Generate a file name
fname = temp_dir + os.sep + "-epo.fif"
epochs.save(fname)
loaded_epochs = mne.read_epochs(fname, verbose="ERROR")
print("Coordinate frames after saving:")
print(loaded_epochs.get_montage().dig[0]["coord_frame"])
The output is like so in my case:
Coordinate frames before saving:
5 (FIFFV_COORD_MRI)
Coordinate frames after saving:
4 (FIFFV_COORD_HEAD)
Process finished with exit code 0
I am indeed using 0.24. I am unfortunately currently trying to finalize a project and changing version right now would entail more checks than I have time to afford
Kind regards,
Alex