'Apply the signal space projection (SSP) operators to the data.
Notes
Once the projectors have been applied, they can no longer be
removed. It is usually not recommended to apply the projectors at
too early stages, as they are applied automatically later on
(e.g. when computing inverse solutions).
Hint: using the copy method individual projection vectors
can be tested without affecting the original data.
With evoked data, consider the following example::
projs_a = mne.read_proj(\'proj_a.fif\')
projs_b = mne.read_proj(\'proj_b.fif\')
# add the first, copy, apply and see ...
evoked.add_proj(a).copy().apply_proj().plot()
# add the second, copy, apply and see ...
evoked.add_proj(b).copy().apply_proj().plot()
# drop the first and see again
evoked.copy().del_proj(0).apply_proj().plot()
evoked.apply_proj()  # finally keep both
Returns
self : instance of Raw | Epochs | Evoked
The instance.'

def apply_proj(self):

    from ..epochs import BaseEpochs
    from ..evoked import Evoked
    from .base import BaseRaw
    if ((self.info['projs'] is None) or (len(self.info['projs']) == 0)):
        logger.info('No    projector    specified    for    this    dataset.    Please    consider    the    method    self.add_proj.')
        return self
    if (isinstance(self, BaseEpochs) and self._do_delayed_proj):
        logger.info('Leaving    delayed    SSP    mode.')
        self._do_delayed_proj = False
    if all((p['active'] for p in self.info['projs'])):
        logger.info('Projections    have    already    been    applied.    Setting    proj    attribute    to    True.')
        return self
    (_projector, info) = setup_proj(deepcopy(self.info), activate=True, verbose=self.verbose)
    if (_projector is None):
        logger.info("The    projections    don't    apply    to    these    data.    Doing    nothing.")
        return self
    (self._projector, self.info) = (_projector, info)
    if isinstance(self, (BaseRaw, Evoked)):
        if self.preload:
            self._data = np.dot(self._projector, self._data)
    elif self.preload:
        for (ii, e) in enumerate(self._data):
            self._data[ii] = self._project_epoch(e)
    else:
        self.load_data()
    logger.info('SSP    projectors    applied...')
    return self
