mne.io.anonymize_info#

mne.io.anonymize_info(info, daysback=None, keep_his=False, verbose=None)[source]#

Anonymize measurement information in place.

Warning

If info is part of an object like raw.info, you should directly use the method raw.anonymize() to ensure that all parts of the data are anonymized and stay synchronized (e.g., raw.annotations).

Parameters:
infomne.Info

The mne.Info object with information about the sensors and methods of measurement.

daysbackint | None

Number of days to subtract from all dates. If None (default), the acquisition date, info['meas_date'], will be set to January 1ˢᵗ, 2000. This parameter is ignored if info['meas_date'] is None (i.e., no acquisition date has been set).

keep_hisbool | “his_id” | “sex” | “hand” | sequence of {“his_id”, “sex”, “hand”}

If True, his_id, sex, and hand of subject_info will not be overwritten. If False, these fields will be anonymized. If "his_id", "sex", or "hand" (or any combination thereof in a sequence), only those fields will not be anonymized. Defaults to False.

Warning

Setting keep_his to anything other than False may result in info not being fully anonymized. Use with caution.

Changed in version 1.12: Added support for sequence of str.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
infoinstance of Info

The anonymized measurement information.

Notes

Removes potentially identifying information if it exists in info. Specifically for each of the following we use:

  • meas_date, file_id, meas_id

    A default value, or as specified by daysback.

  • subject_info

    Default values, except for ‘birthday’, which is adjusted to maintain the subject age. If keep_his is not False, then the fields ‘his_id’, ‘sex’, and ‘hand’ are not anonymized, depending on the value of keep_his.

  • experimenter, proj_name, description

    Default strings.

  • utc_offset

    None.

  • proj_id

    Zeros.

  • proc_history

    Dates use the meas_date logic, and experimenter a default string.

  • helium_info, device_info

    Dates use the meas_date logic, meta info uses defaults.

If info['meas_date'] is None, it will remain None during processing the above fields.

Operates in place.