class_docstr: Cross-spectral density.
  
  Given a list of time series, the CSD matrix denotes for each pair of time
  series, the cross-spectral density. This matrix is symmetric and internally
  stored as a vector.
  
  This object can store multiple CSD matrices: one for each frequency.
  Use ``.get_data(freq)`` to obtain an CSD matrix as an ndarray.
  
  Parameters
  ----------
  data : ndarray, shape ((n_channels**2 + n_channels) // 2, n_frequencies)
      For each frequency, the cross-spectral density matrix in vector format.
  ch_names : list of str
      List of string names for each channel.
  frequencies : float | list of float | list of list of float
      Frequency or frequencies for which the CSD matrix was calculated. When
      averaging across frequencies (see the :func:`CrossSpectralDensity.mean`
      function), this will be a list of lists that contains for each
      frequency bin, the frequencies that were averaged. Frequencies should
      always be sorted.
  n_fft : int
      The number of FFT points or samples that have been used in the
      computation of this CSD.
  tmin : float | None
      Start of the time window for which CSD was calculated in seconds. Can
      be ``None`` (the default) to indicate no timing information is
      available.
  tmax : float | None
      End of the time window for which CSD was calculated in seconds. Can be
      ``None`` (the default) to indicate no timing information is available.
  projs : list of Projection | None
      List of projectors to apply to timeseries data when using this CSD
      object to compute a DICS beamformer. Defaults to ``None``, which means
      no projectors will be applied.
  
  See Also
  --------
  csd_fourier
  csd_multitaper
  csd_morlet
  csd_array_fourier
  csd_array_multitaper
  csd_array_morlet
class_docstr_tok: ["Cross-spectral","density",".","Given","a","list","of","time","series",",","the","CSD","matrix","denotes","for","each","pair","of","time","series",",","the","cross-spectral","density",".","This","matrix","is","symmetric","and","internally","stored","as","a","vector",".","This","object","can","store","multiple","CSD","matrices",":","one","for","each","frequency",".","Use","``",".get_data","(","freq",")","``","to","obtain","an","CSD","matrix","as","an","ndarray",".","Parameters","--","--","--","--","--","data",":","ndarray",",","shape","(","(","n_channels","*","*","2","+","n_channels",")","\/\/","2",",","n_frequencies",")","For","each","frequency",",","the","cross-spectral","density","matrix","in","vector","format",".","ch_names",":","list","of","str","List","of","string","names","for","each","channel",".","frequencies",":","float","|","list","of","float","|","list","of","list","of","float","Frequency","or","frequencies","for","which","the","CSD","matrix","was","calculated",".","When","averaging","across","frequencies","(","see","the",":","func",":","`","CrossSpectralDensity.mean","`","function",")",",","this","will","be","a","list","of","lists","that","contains","for","each","frequency","bin",",","the","frequencies","that","were","averaged",".","Frequencies","should","always","be","sorted",".","n_fft",":","int","The","number","of","FFT","points","or","samples","that","have","been","used","in","the","computation","of","this","CSD",".","tmin",":","float","|","None","Start","of","the","time","window","for","which","CSD","was","calculated","in","seconds",".","Can","be","``","None","``","(","the","default",")","to","indicate","no","timing","information","is","available",".","tmax",":","float","|","None","End","of","the","time","window","for","which","CSD","was","calculated","in","seconds",".","Can","be","``","None","``","(","the","default",")","to","indicate","no","timing","information","is","available",".","projs",":","list","of","Projection","|","None","List","of","projectors","to","apply","to","timeseries","data","when","using","this","CSD","object","to","compute","a","DICS","beamformer",".","Defaults","to","``","None","``",",","which","means","no","projectors","will","be","applied",".","See","Also","--","--","--","--","csd_fourier","csd_multitaper","csd_morlet","csd_array_fourier","csd_array_multitaper","csd_array_morlet"]
docstr: Whether the CSD matrix represents a sum (or average) of freqs.
docstr_tok: ["Whether","the","CSD","matrix","represents","a","sum","(","or","average",")","of","freqs","."]
code: def _is_sum(self):
      """Whether the CSD matrix represents a sum (or average) of freqs."""
      # If the CSD is an average, the frequencies will be stored as a list
      # of lists (or like-like objects) instead of plain numbers.
      return not isinstance(self.frequencies[0], numbers.Number)
  
imports: import copy
  import numbers
  import numpy
  from scipy.fft import rfftfreq
  from .._fiff.pick import _picks_to_idx, pick_channels
  from ..parallel import parallel_func
  from ..time_frequency.multitaper import _compute_mt_params, _csd_from_mt, _mt_spectra, _psd_from_mt_adaptive
  from ..utils import ProgressBar, _check_fname, _import_h5io_funcs, _validate_type, copy_function_doc_to_method_doc, logger, verbose, warn
  from ..viz.misc import plot_csd
  from .tfr import EpochsTFR, _cwt_array, _get_nfft, morlet
label_desc: Use image node_id 3 for calling the CrossSpectralDensity obj's underlying member method code with example usage: obj._is_sum() and returns: unknown