mne_bids.write_anat(image, bids_path, landmarks=None, deface=False, overwrite=False, verbose=None)[source]

Put anatomical MRI data into a BIDS format.

Given an MRI scan, format and store the MR data according to BIDS in the correct location inside the specified mne_bids.BIDSPath. If a transformation matrix is supplied, this information will be stored in a sidecar JSON file.


To generate the JSON sidecar with anatomical landmark coordinates (“fiducials”), you need to pass the landmarks via the landmarks parameter. mne_bids.get_anat_landmarks() may be useful for getting the landmarks.

imagepath-like | NibabelImageObject

Path to an MRI scan (e.g. T1w) of the subject. Can be in any format readable by nibabel. Can also be a nibabel image object of an MRI scan. Will be written as a .nii.gz file.


The file to write. The mne_bids.BIDSPath instance passed here must have the root and subject attributes set. The suffix is assumed to be 'T1w' if not present. It can also be 'FLASH', for example, to indicate FLASH MRI.

landmarksmne.channels.DigMontage | path-like | dict | None

The montage or path to a montage with landmarks that can be passed to provide information for defacing. Landmarks can be determined from the head model using mne coreg GUI, or they can be determined from the MRI using freeview. If a dictionary is passed, then the values must be instances of DigMontage or path-like objects pointing to a DigMontage stored on disk, and the keys of the must be strings (e.g. 'session-1') which will be used as naming suffix for the landmarks in the sidecar JSON file. If None, no sidecar JSON file will be created.

defacebool | dict

If False, no defacing is performed. If True, deface with default parameters using the provided landmarks. If multiple landmarks are provided, will use the ones with the suffix 'deface'; if no landmarks with this suffix exist, will use the first ones in the landmarks dictionary. If dict, accepts the following keys:

  • inset: how far back in voxels to start defacing relative to the nasion (default 5)

  • theta: is the angle of the defacing shear in degrees relative to vertical (default 15).


Whether to overwrite existing files or data in files. Defaults to False. If overwrite is True, any existing files with the same BIDS parameters will be overwritten with the exception of the participants.tsv and scans.tsv files. For these files, parts of pre-existing data that match the current data will be replaced. If overwrite is False, no existing data will be overwritten or replaced.

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.


Path to the written MRI data.

Examples using mne_bids.write_anat