code: def _make_csd(add_proj=False):
      """Make a simple CrossSpectralDensity object."""
      frequencies = [1.0, 2.0, 3.0, 4.0]
      n_freqs = len(frequencies)
      names = ["CH1", "CH2", "CH3"]
      tmin, tmax = (0.0, 1.0)
      data = np.arange(6.0 * n_freqs).reshape(n_freqs, 6).T
      if add_proj:
          proj_data = dict(
              col_names=names,
              row_names=None,
              data=np.ones((1, len(names))),
          )
          projs = [Projection(data=proj_data)]
      else:
          projs = None
      return CrossSpectralDensity(
          data, names, frequencies, 1, tmin, tmax, projs=projs
      )
  
imports: import pickle
  from itertools import product
  from os import path
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_equal
  from pytest import raises
  import mne
  from mne.channels import equalize_channels
  from mne.proj import Projection
  from mne.time_frequency import CrossSpectralDensity, csd_array_fourier, csd_array_morlet, csd_array_multitaper, csd_fourier, csd_morlet, csd_multitaper, csd_tfr, pick_channels_csd, read_csd, tfr_morlet
  from mne.time_frequency.csd import _sym_mat_to_vector, _vector_to_sym_mat
  from mne.utils import sum_squared
label_desc: Use image node_id 1 for calling a global function with example usage: _make_csd(add_proj) and returns: CrossSpectralDensity