mne.SourceMorph#

class mne.SourceMorph(subject_from, subject_to, kind, zooms, niter_affine, niter_sdr, spacing, smooth, xhemi, morph_mat, vertices_to, shape, affine, pre_affine, sdr_morph, src_data, vol_morph_mat, *, verbose=None)[source]#

Morph source space data from one subject to another.

Note

This class should not be instantiated directly via mne.SourceMorph(...). Instead, use one of the functions listed in the See Also section below.

Parameters:
subject_fromstr | None

Name of the subject from which to morph as named in the SUBJECTS_DIR.

subject_tostr | array | list of array

Name of the subject on which to morph as named in the SUBJECTS_DIR. The default is ‘fsaverage’. If morphing a volume source space, subject_to can be the path to a MRI volume. Can also be a list of two arrays if morphing to hemisphere surfaces.

kindstr | None

Kind of source estimate. E.g. 'volume' or 'surface'.

zoomsfloat | tuple

See mne.compute_source_morph().

niter_affinetuple of int

Number of levels (len(niter_affine)) and number of iterations per level - for each successive stage of iterative refinement - to perform the affine transform.

niter_sdrtuple of int

Number of levels (len(niter_sdr)) and number of iterations per level - for each successive stage of iterative refinement - to perform the Symmetric Diffeomorphic Registration (sdr) transform [1].

spacingint | list | None

See mne.compute_source_morph().

smoothint | str | None

See mne.compute_source_morph().

xhemibool

Morph across hemisphere.

morph_matscipy.sparse.csr_array

The sparse surface morphing matrix for spherical surface based morphing [2].

vertices_tolist of ndarray

The destination surface vertices.

shapetuple

The volume MRI shape.

affinendarray

The volume MRI affine.

pre_affineinstance of dipy.align.AffineMap

The transformation that is applied before the before sdr_morph.

sdr_morphinstance of dipy.align.DiffeomorphicMap

The class that applies the the symmetric diffeomorphic registration (SDR) morph.

src_datadict

Additional source data necessary to perform morphing.

vol_morph_matscipy.sparse.csr_array | None

The volumetric morph matrix, if compute_vol_morph_mat() was used.

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.

Methods

apply(stc_from[, output, mri_resolution, ...])

Morph source space data.

compute_vol_morph_mat(*[, verbose])

Compute the sparse matrix representation of the volumetric morph.

save(fname[, overwrite, verbose])

Save the morph for source estimates to a file.

Notes

New in v0.17.

References

apply(stc_from, output='stc', mri_resolution=False, mri_space=None, verbose=None)[source]#

Morph source space data.

Parameters:
stc_fromVolSourceEstimate | VolVectorSourceEstimate | SourceEstimate | VectorSourceEstimate

The source estimate to morph.

outputstr

Can be 'stc' (default) or possibly 'nifti1', or 'nifti2' when working with a volume source space defined on a regular grid.

mri_resolutionbool | tuple | int | float

If True the image is saved in MRI resolution. Default False.

mri_spacebool | None

Whether the image to world registration should be in mri space. The default (None) is mri_space=mri_resolution.

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:
stc_toVolSourceEstimate | SourceEstimate | VectorSourceEstimate | Nifti1Image | Nifti2Image

The morphed source estimates.

Examples using apply:

Morph volumetric source estimate

Morph volumetric source estimate
compute_vol_morph_mat(*, verbose=None)[source]#

Compute the sparse matrix representation of the volumetric morph.

Parameters:
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:
morphinstance of SourceMorph

The instance (modified in-place).

Notes

For a volumetric morph, this will compute the morph for an identity source volume, i.e., with one source vertex active at a time, and store the result as a sparse morphing matrix. This takes a long time (minutes) to compute initially, but drastically speeds up apply() for STCs, so it can be beneficial when many time points or many morphs (i.e., greater than the number of volumetric src_from vertices) will be performed.

When calling save(), this sparse morphing matrix is saved with the instance, so this only needs to be called once. This function does nothing if the morph matrix has already been computed, or if there is no volume morphing necessary.

New in v0.22.

Examples using compute_vol_morph_mat:

Morph volumetric source estimate

Morph volumetric source estimate
save(fname, overwrite=False, verbose=None)[source]#

Save the morph for source estimates to a file.

Parameters:
fnamepath-like

The path to the file. '-morph.h5' will be added if fname does not end with '.h5'.

overwritebool

If True (default False), overwrite the destination file if it exists.

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.

Examples using save:

Morph volumetric source estimate

Morph volumetric source estimate

Examples using mne.SourceMorph#

Morph surface source estimate

Morph surface source estimate

Morph volumetric source estimate

Morph volumetric source estimate