code: def _plot_update_evoked_topo_proj(params, bools):
      """Update topo sensor plots."""
      evokeds = [e.copy() for e in params["evokeds"]]
      fig = params["fig"]
      projs = [proj for proj, b in zip(params["projs"], bools) if b]
      params["proj_bools"] = bools
      for e in evokeds:
          e.add_proj(projs, remove_existing=True)
          e.apply_proj()
  
      # make sure to only modify the time courses, not the ticks
      for ax in fig.axes[0]._mne_axs:
          for line, evoked in zip(ax.data_lines, evokeds):
              line.set_ydata(
                  ax.y_t + ax.y_s * evoked.data[ax._mne_ch_idx]
              )
  
      fig.canvas.draw()
  
imports: from copy import deepcopy
  from functools import partial
  import numpy
  from scipy import ndimage
  from .._fiff.pick import channel_type, pick_types
  from ..defaults import _handle_default
  from ..utils import Bunch, _check_option, _clean_names, _is_numeric, _to_rgb, fill_doc
  from .utils import DraggableColorbar, _check_cov, _check_delayed_ssp, _draw_proj_checkbox, _plot_masked_image, _setup_ax_spines, _setup_vmin_vmax, add_background_image, plt_show
label_desc: Use image node_id 15 for calling a global function with example usage: _plot_update_evoked_topo_proj(params, bools) without return types