Correlation library


Correlation Library is a C++ library implemented by Raul C. Muresan. The code is free for non-commercial purposes.
The Correlation Library offers support for computing cross and scaled correlation between a pair of continuous, binary, or mixed signals.
For each method of computing the correlation and each combination of signals, there is one specialized class that can handle the respective operations.
In addition to C++ classes, the library also compiles into a Windows DLL that exports a number of functions as wrappers over the original classes.
Delphi and MATLAB interfaces are also provided as support, including help and examples of how to use.

For details on the concept of scaled correlation, see the paper "Scaled correlation analysis: a better way to compute a cross-correlogram", authors: Danko Nikolic, Raul C. Muresan, Weijia Feng, and Wolf Singer.

Abstract from "Scaled correlation analysis: a better way to compute a cross-correlogram" paper

When computing a cross-correlation histogram, slower signal components can hinder the detection of faster components, which are often in the research focus. For example, precise neuronal synchronization often co-occurs with slow co-variation in neuronal rate responses. Here we present a method dubbed scaled correlation analysis that enables the isolation of the cross-correlation histogram of fast signal components. The method computes correlations only on small temporal scales (i.e. on short segments of signals such as 25 ms), resulting in the removal of correlation components slower than those defined by the scale. Scaled correlation analysis has several advantages over traditional filtering approaches based on computations in the frequency domain. Among its other applications, the method can assist the studies of precise neuronal synchronization.

Free source code

Back to my home page...