'Plot the source space.
Parameters
head : bool
If True, show head surface.
brain : bool | str
If True, show the brain surfaces. Can also be a str for
surface type (e.g., \'pial\', same as True). Default is None,
which means \'white\' for surface source spaces and False otherwise.
skull : bool | str | list of str | list of dict | None
Whether to plot skull surface. If string, common choices would be
\'inner_skull\', or \'outer_skull\'. Can also be a list to plot
multiple skull surfaces. If a list of dicts, each dict must
contain the complete surface info (such as you get from
:func:`mne.make_bem_model`). True is an alias of \'outer_skull\'.
The subjects bem and bem/flash folders are searched for the \'surf\'
files. Defaults to None, which is False for surface source spaces,
and True otherwise.
subjects_dir : string, or None
Path to SUBJECTS_DIR if it is not set in the environment.
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
fig : instance of mlab Figure
The figure.'

@verbose
def plot(self, head=False, brain=None, skull=None, subjects_dir=None, verbose=None):

    from .viz import plot_alignment
    surfaces = list()
    bem = None
    if (brain is None):
        brain = ('white' if any(((ss['type'] == 'surf') for ss in self)) else False)
    if isinstance(brain, string_types):
        surfaces.append(brain)
    elif brain:
        surfaces.append('brain')
    if (skull is None):
        skull = (False if (self.kind == 'surface') else True)
    if isinstance(skull, string_types):
        surfaces.append(skull)
    elif (skull is True):
        surfaces.append('outer_skull')
    elif (skull is not False):
        if isinstance(skull[0], dict):
            skull_map = {FIFF.FIFFV_BEM_SURF_ID_BRAIN: 'inner_skull', FIFF.FIFFV_BEM_SURF_ID_SKULL: 'outer_skull', FIFF.FIFFV_BEM_SURF_ID_HEAD: 'outer_skin'}
            for this_skull in skull:
                surfaces.append(skull_map[this_skull['id']])
            bem = skull
        else:
            for surf in skull:
                surfaces.append(surf)
    if head:
        surfaces.append('head')
    info = create_info(0, 1000.0, 'eeg')
    return plot_alignment(info, trans=None, subject=self[0]['subject_his_id'], subjects_dir=subjects_dir, surfaces=surfaces, coord_frame='mri', meg=(), eeg=False, dig=False, ecog=False, bem=bem, src=self)
