'Morph a source estimate from one subject to another.
Parameters
subject_to : string
Name of the subject on which to morph as named in the SUBJECTS_DIR
grade : int, list (of two arrays), or None
Resolution of the icosahedral mesh (typically 5). If None, all
vertices will be used (potentially filling the surface). If a list,
then values will be morphed to the set of vertices specified in
in grade[0] and grade[1]. Note that specifying the vertices (e.g.,
grade=[np.arange(10242), np.arange(10242)] for fsaverage on a
standard grade 5 source space) can be substantially faster than
computing vertex locations. Note that if subject=\'fsaverage\'
and \'grade=5\', this set of vertices will automatically be used
(instead of computed) for speed, since this is a common morph.
NOTE : If sparse=True, grade has to be set to None.
smooth : int or None
Number of iterations for the smoothing of the surface data.
If None, smooth is automatically defined to fill the surface
with non-zero values.
subjects_dir : string, or None
Path to SUBJECTS_DIR if it is not set in the environment.
buffer_size : int
Morph data in chunks of `buffer_size` time instants.
Saves memory when morphing long time intervals.
n_jobs : int
Number of jobs to run in parallel.
subject_from : string
Name of the original subject as named in the SUBJECTS_DIR.
If None, self.subject will be used.
sparse : bool
Morph as a sparse source estimate. If True the only
parameters used are subject_to and subject_from,
and grade has to be None.
verbose : bool, str, int, or None
If not None, override default verbose level (see
:func:`mne.verbose` and :ref:`Logging documentation <tut_logging>`
for more).
Returns
stc_to : SourceEstimate
Source estimate for the destination subject.'

@verbose
def morph(self, subject_to, grade=5, smooth=None, subjects_dir=None, buffer_size=64, n_jobs=1, subject_from=None, sparse=False, verbose=None):

    subject_from = _check_subject(self.subject, subject_from)
    if sparse:
        if (grade is not None):
            raise RuntimeError('grade    must    be    set    to    None    if    sparse=True.')
        return _morph_sparse(self, subject_from, subject_to, subjects_dir)
    else:
        return morph_data(subject_from, subject_to, self, grade, smooth, subjects_dir, buffer_size, n_jobs, verbose)
