Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions mne/io/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,5 @@
from .base import concatenate_raws
from .reference import (set_eeg_reference, set_bipolar_reference,
add_reference_channels)

from .raw import read_raw
44 changes: 44 additions & 0 deletions mne/io/raw.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Authors: Clemens Brunner <clemens.brunner@gmail.com>
#
# License: BSD (3-clause)

from os.path import splitext

from .artemis123 import read_raw_artemis123
from .brainvision import read_raw_brainvision
from .bti import read_raw_bti # TODO: which extension?
from .cnt import read_raw_cnt
from .ctf import read_raw_ctf
from .edf import read_raw_edf
from .egi import read_raw_egi
from .kit import read_raw_kit
from .fiff import read_raw_fif
from .nicolet import read_raw_nicolet
from .eeglab import read_raw_eeglab


def read_raw(input_fname, **kwargs):
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

then how do you find out what parameters to pass? I find it clearer to be explicit by using the proper dedicated function

_, ext = splitext(input_fname)

if ext == '.bin':
return read_raw_artemis123(input_fname, **kwargs)
elif ext == '.vhdr':
return read_raw_brainvision(input_fname, **kwargs)
elif ext == '.cnt':
return read_raw_cnt(input_fname, **kwargs)
elif ext == '.ds':
return read_raw_ctf(input_fname, **kwargs)
elif ext in ['.edf', '.bdf', '.gdf']:
return read_raw_edf(input_fname, **kwargs)
elif ext == '.mff':
return read_raw_egi(input_fname, **kwargs)
elif ext == '.sqd':
return read_raw_kit(input_fname, **kwargs)
elif ext == '.fif':
return read_raw_fif(input_fname, **kwargs)
elif ext == '.data':
return read_raw_nicolet(input_fname, **kwargs)
elif ext == '.set':
return read_raw_eeglab(input_fname, **kwargs)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In principle, I'd use a dict for this.

else:
raise ValueError('File type {} not supported.'.format(ext))