# 5.4.1.5. eqcorrscan.utils.clustering.cross_chan_coherence

`eqcorrscan.utils.clustering.``cross_chan_coherence`(st1, st2, allow_shift=False, shift_len=0.2, i=0, xcorr_func='time_domain')

  Calculate cross-channel coherency.

  Determine the cross-channel coherency between two streams of multichannel seismic data.

  Parameters: | st1 (obspy.core.stream.Stream) Stream one st2 (obspy.core.stream.Stream) Stream two allow_shift (bool) Whether to allow the optimum alignment to be found for coherence, defaults to False for strict coherence shift_len (int) Samples to shift, only used if allow_shift=True i (int) index used for parallel async processing, returned unaltered xcorr_func (str, callable) The method for performing correlations. Accepts either a string or callabe. See `eqcorrscan.utils.correlate.register_array_xcorr()` for more details
  Returns: | cross channel coherence, float - normalized by number of channels, and i, where i is int, as input.
  Return type: | tuple