mne.Info

class mne.Info(*args, **kwargs)[source]

Measurement information.

This data structure behaves like a dictionary. It contains all metadata that is available for a recording. However, its keys are restricted to those provided by the FIF format specification, so new entries should not be manually added.

Warning

The only entries that should be manually changed by the user are info['bads'] and info['description']. All other entries should be considered read-only, though they can be modified by various MNE-Python functions or methods (which have safeguards to ensure all fields remain in sync).

This class should not be instantiated directly. To create a measurement information structure, use mne.create_info().

See also

mne.create_info

Notes

The following parameters have a nested structure.

  • chs list of dict:

    calfloat

    The calibration factor to bring the channels to physical units. Used in product with range to scale the data read from disk.

    ch_namestr

    The channel name.

    coil_typeint

    Coil type, e.g. FIFFV_COIL_MEG.

    coord_frameint

    The coordinate frame used, e.g. FIFFV_COORD_HEAD.

    kindint

    The kind of channel, e.g. FIFFV_EEG_CH.

    locarray, shape (12,)

    Channel location. For MEG this is the position plus the normal given by a 3x3 rotation matrix. For EEG this is the position followed by reference position (with 6 unused). The values are specified in device coordinates for MEG and in head coordinates for EEG channels, respectively.

    lognoint

    Logical channel number, conventions in the usage of this number vary.

    rangefloat

    The hardware-oriented part of the calibration factor. This should be only applied to the continuous raw data. Used in product with cal to scale data read from disk.

    scannoint

    Scanning order number, starting from 1.

    unitint

    The unit to use, e.g. FIFF_UNIT_T_M.

    unit_mulint

    Unit multipliers, most commonly FIFF_UNITM_NONE.

  • comps list of dict:

    ctfkindint

    CTF compensation grade.

    colcalsndarray

    Column calibrations.

    matdict

    A named matrix dictionary (with entries “data”, “col_names”, etc.) containing the compensation matrix.

    rowcalsndarray

    Row calibrations.

    save_calibratedbool

    Were the compensation data saved in calibrated form.

  • dig list of dict:

    kindint

    The kind of channel, e.g. FIFFV_POINT_EEG, FIFFV_POINT_CARDINAL.

    rarray, shape (3,)

    3D position in m. and coord_frame.

    identint

    Number specifying the identity of the point. e.g. FIFFV_POINT_NASION if kind is FIFFV_POINT_CARDINAL, or 42 if kind is FIFFV_POINT_EEG.

    coord_frameint

    The coordinate frame used, e.g. FIFFV_COORD_HEAD.

  • events list of dict:

    channelslist of int

    Channel indices for the events.

    listndarray, shape (n_events * 3,)

    Events in triplets as number of samples, before, after.

  • file_id dict:

    versionint

    FIF format version, i.e. FIFFC_VERSION.

    machidndarray, shape (2,)

    Unique machine ID, usually derived from the MAC address.

    secsint

    Time in seconds.

    usecsint

    Time in microseconds.

  • hpi_meas list of dict:

    creatorstr

    Program that did the measurement.

    sfreqfloat

    Sample rate.

    nchanint

    Number of channels used.

    naveint

    Number of averages used.

    ncoilint

    Number of coils used.

    first_sampint

    First sample used.

    last_sampint

    Last sample used.

    hpi_coilslist of dict

    Coils, containing:

    number: int

    Coil number

    epochndarray

    Buffer containing one epoch and channel.

    slopesndarray, shape (n_channels,)

    HPI data.

    corr_coeffndarray, shape (n_channels,)

    HPI curve fit correlations.

    coil_freqfloat

    HPI coil excitation frequency

  • hpi_results list of dict:

    dig_pointslist

    Digitization points (see dig definition) for the HPI coils.

    orderndarray, shape (ncoil,)

    The determined digitization order.

    usedndarray, shape (nused,)

    The indices of the used coils.

    momentsndarray, shape (ncoil, 3)

    The coil moments.

    goodnessndarray, shape (ncoil,)

    The goodness of fits.

    good_limitfloat

    The goodness of fit limit.

    dist_limitfloat

    The distance limit.

    acceptint

    Whether or not the fit was accepted.

    coord_transinstance of Transformation

    The resulting MEG<->head transformation.

  • hpi_subsystem dict:

    ncoilint

    The number of coils.

    event_channelstr

    The event channel used to encode cHPI status (e.g., STI201).

    hpi_coilslist of ndarray

    List of length ncoil, each 4-element ndarray contains the event bits used on the event channel to indicate cHPI status (using the first element of these arrays is typically sufficient).

  • proc_history list of dict:

    block_iddict

    See id above.

    datendarray, shape (2,)

    2-element tuple of seconds and microseconds.

    experimenterstr

    Name of the person who ran the program.

    creatorstr

    Program that did the processing.

    max_infodict

    Maxwel filtering info, can contain:

    sss_infodict

    SSS processing information.

    max_st

    tSSS processing information.

    sss_ctcdict

    Cross-talk processing information.

    sss_caldict

    Fine-calibration information.

    smartshielddict

    MaxShield information. This dictionary is (always?) empty, but its presence implies that MaxShield was used during acquisiton.

  • subject_info dict:

    idint

    Integer subject identifier.

    his_idstr

    String subject identifier.

    last_namestr

    Last name.

    first_namestr

    First name.

    middle_namestr

    Middle name.

    birthdaytuple of int

    Birthday in (year, month, day) format.

    sexint

    Subject sex (0=unknown, 1=male, 2=female).

    handint

    Handedness (1=right, 2=left, 3=ambidextrous).

  • device_info dict:

    typestr

    Device type.

    modelstr

    Device model.

    serialstr

    Device serial.

    sitestr

    Device site.

  • helium_info dict:

    he_level_rawfloat

    Helium level (%) before position correction.

    helium_levelfloat

    Helium level (%) after position correction.

    orig_file_guidstr

    Original file GUID.

    meas_datetuple of int

    The helium level meas date.

Attributes
acq_parsstr | None

MEG system acquition parameters. See mne.AcqParserFIF for details.

acq_stimstr | None

MEG system stimulus parameters.

badslist of str

List of bad (noisy/broken) channels, by name. These channels will by default be ignored by many processing steps.

ch_nameslist of str

The names of the channels.

chslist of dict

A list of channel information dictionaries, one per channel. See Notes for more information.

compslist of dict

CTF software gradient compensation data. See Notes for more information.

ctf_head_tdict | None

The transformation from 4D/CTF head coordinates to Neuromag head coordinates. This is only present in 4D/CTF data.

custom_ref_appliedint

Whether a custom (=other than average) reference has been applied to the EEG data. This flag is checked by some algorithms that require an average reference to be set.

descriptionstr | None

String description of the recording.

dev_ctf_tdict | None

The transformation from device coordinates to 4D/CTF head coordinates. This is only present in 4D/CTF data.

dev_head_tdict | None

The device to head transformation.

diglist of dict | None

The Polhemus digitization data in head coordinates. See Notes for more information.

eventslist of dict

Event list, sometimes extracted from the stim channels by Neuromag systems. In general this should not be used and mne.find_events() should be used for event processing. See Notes for more information.

experimenterstr | None

Name of the person that ran the experiment.

file_iddict | None

The FIF globally unique ID. See Notes for more information.

highpassfloat

Highpass corner frequency in Hertz. Zero indicates a DC recording.

hpi_measlist of dict

HPI measurements that were taken at the start of the recording (e.g. coil frequencies). See Notes for details.

hpi_resultslist of dict

Head position indicator (HPI) digitization points and fit information (e.g., the resulting transform). See Notes for details.

hpi_subsystemdict | None

Information about the HPI subsystem that was used (e.g., event channel used for cHPI measurements). See Notes for details.

line_freqfloat | None

Frequency of the power line in Hertz.

gantry_anglefloat | None

Tilt angle of the gantry in degrees.

lowpassfloat

Lowpass corner frequency in Hertz.

meas_datedatetime

The time (UTC) of the recording.

Changed in version 0.20: This is stored as a datetime object instead of a tuple of seconds/microseconds.

utc_offsetstr

“UTC offset of related meas_date (sHH:MM).

New in version 0.19.

meas_iddict | None

The ID assigned to this measurement by the acquisition system or during file conversion. Follows the same format as file_id.

nchanint

Number of channels.

proc_historylist of dict

The MaxFilter processing history. See Notes for details.

proj_idint | None

ID number of the project the experiment belongs to.

proj_namestr | None

Name of the project the experiment belongs to.

projslist of Projection

List of SSP operators that operate on the data. See mne.Projection for details.

sfreqfloat

Sampling frequency in Hertz.

subject_infodict | None

Information about the subject. See Notes for details.

device_infodict | None

Information about the acquisition device. See Notes for details.

New in version 0.19.

helium_infodict | None

Information about the device helium. See Notes for details.

New in version 0.19.

Methods

__contains__(key, /)

True if the dictionary has the specified key, else False.

__getitem__

x.__getitem__(y) <==> x[y]

__iter__(/)

Implement iter(self).

__len__(/)

Return len(self).

clear()

copy()

Copy the instance.

fromkeys(iterable[, value])

Create a new dictionary with keys from iterable and values set to value.

get(key[, default])

Return the value for key if key is in the dictionary, else default.

items()

keys()

normalize_proj()

(Re-)Normalize projection vectors after subselection.

pick_channels(ch_names[, ordered])

Pick channels from this Info object.

pop(k[,d])

If key is not found, d is returned if given, otherwise KeyError is raised

popitem(/)

Remove and return a (key, value) pair as a 2-tuple.

set_montage(montage[, match_case, …])

Set EEG sensor configuration and head digitization.

setdefault(key[, default])

Insert key with a value of default if key is not in the dictionary.

update([E, ]**F)

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()

__contains__(key, /)

True if the dictionary has the specified key, else False.

__getitem__()

x.__getitem__(y) <==> x[y]

__iter__(/)

Implement iter(self).

__len__(/)

Return len(self).

clear() → None. Remove all items from D.
copy()[source]

Copy the instance.

Returns
infoinstance of Info

The copied info.

Examples using copy:

fromkeys(iterable, value=None, /)

Create a new dictionary with keys from iterable and values set to value.

get(key, default=None, /)

Return the value for key if key is in the dictionary, else default.

items() → a set-like object providing a view on D’s items
keys() → a set-like object providing a view on D’s keys
normalize_proj()[source]

(Re-)Normalize projection vectors after subselection.

Applying projection after sub-selecting a set of channels that were originally used to compute the original projection vectors can be dangerous (e.g., if few channels remain, most power was in channels that are no longer picked, etc.). By default, mne will emit a warning when this is done.

This function will re-normalize projectors to use only the remaining channels, thus avoiding that warning. Only use this function if you’re confident that the projection vectors still adequately capture the original signal of interest.

Examples using normalize_proj:

pick_channels(ch_names, ordered=False)[source]

Pick channels from this Info object.

Parameters
ch_nameslist of str

List of channels to keep. All other channels are dropped.

orderedbool

If True (default False), ensure that the order of the channels matches the order of ch_names.

Returns
infoinstance of Info.

The modified Info object.

Notes

Operates in-place.

New in version 0.20.0.

pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised

popitem(/)

Remove and return a (key, value) pair as a 2-tuple.

Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.

set_montage(montage, match_case=True, on_missing='raise', verbose=None)[source]

Set EEG sensor configuration and head digitization.

Parameters
montageNone | str | DigMontage

A montage containing channel positions. If str or DigMontage is specified, the channel info will be updated with the channel positions. Default is None. See also the documentation of mne.channels.DigMontage for more information.

match_casebool

If True (default), channel name matching will be case sensitive.

New in version 0.20.

on_missingstr

Can be 'raise' (default) to raise an error, 'warn' to emit a warning, or 'ignore' to ignore when channels have missing coordinates.

New in version 0.20.1.

verbosebool, str, int, or None

If not None, override default verbose level (see mne.verbose() and Logging documentation for more). If used, it should be passed as a keyword-argument only. Defaults to self.verbose.

Returns
instinstance of Raw | Epochs | Evoked

The instance.

Notes

Operates in place.

Examples using set_montage:

setdefault(key, default=None, /)

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

update([E, ]**F) → None. Update D from dict/iterable E and F.

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values() → an object providing a view on D’s values

Examples using mne.Info