5.4.1.3. eqcorrscan.utils.clustering.cluster¶
-
eqcorrscan.utils.clustering.
cluster
(template_list, show=True, corr_thresh=0.3, allow_shift=False, shift_len=0, save_corrmat=False, cores=u'all', debug=1)[source]¶ Cluster template waveforms based on average correlations.
Function to take a set of templates and cluster them, will return groups as lists of streams. Clustering is done by computing the cross-channel correlation sum of each stream in stream_list with every other stream in the list. Scipy.cluster.hierachy functions are then used to compute the complete distance matrix, where distance is 1 minus the normalised cross-correlation sum such that larger distances are less similar events. Groups are then created by clustering the distance matrix at distances less than 1 - corr_thresh.
Will compute the distance matrix in parallel, using all available cores
Parameters: - stream_list List of templates to compute clustering for
- show (bool) plot linkage on screen if True, defaults to True
- corr_thresh (float) Cross-channel correlation threshold for grouping
- allow_shift (bool) Whether to allow the templates to shift when correlating
- shift_len (int) How many samples to allow the templates to shift in time
- save_corrmat (bool) If True will save the distance matrix to dist_mat.npy in the local directory.
- cores (int) number of cores to use when computing the distance matrix, defaults to ‘all’ which will work out how many cpus are available and hog them.
- debug (int) Level of debugging from 1-5, higher is more output, currently only level 1 implimented.
Returns: List of groups with each group a list of streams making up that group.