|
Correlation Library
1.0
|
A class that computes the scaled correlation for two vectors of time stamps (Binary - Binary). More...
#include <ScaledCorrelation-BB.h>
Public Member Functions | |
| CScaledCorrelationBB (int piScaleWindow, int piCorrelationWindow, int piTrialLength, int &piIsError) | |
| Constructor. | |
| ~CScaledCorrelationBB () | |
| Destructor. | |
| void | ComputeScaledCorrelation (int *piaTimeStampsA, int piNrTimeStampsInA, int *piaTimeStampsB, int piNrTimeStampsInB, int pbUseFisherZTransform) |
| Compute the scaled correlation of two vectors of time stamps. | |
| void | ComputeWindowedScaledCorrelationPerTrial (int *piaTimeStampsA, int piNrTimeStampsInA, int *piaTimeStampsB, int piNrTimeStampsInB, int piFromOffsetInTrial, int piToOffsetInTrial, int pbUseFisherZTransform) |
| Compute the scaled correlation of two vectors of time stamps, on a partial window of the trial. | |
| float * | GetScaledCrossCorrelogram () |
| Returns the buffer with the computed scaled correlogram; returns NULL if there was an error; please check the buffer for NULL before using it!! | |
| float * | GetFiCoefficientSums () |
| Returns the sum of valid Fi coefficients of correlation for each bin of the correlogram. | |
| int * | GetFiCoefficientCounts () |
| Returns how many Fi coefficients of correlation have been averaged for each bin of the scaled cross correlogram. | |
| int * | GetDistributionOfCorrelationCoefficients (int &piNumberOfBins, float &pfBinSize) |
| Returns the distribution of coefficients of correlation. | |
| int | ModifyScaleWindow (int piNewScale) |
| Changes the scale segment size for the scaled correlation. | |
| int | ModifyCorrelationWindow (int piNewCorrelationWindow) |
| Set the size of the correlation window; the parameter specifies the of the correlation window; for example for a window of -100..+100 pass 100 as a parameter. | |
| int | ModifyTrialLength (int piNewTrialLength) |
| Set the length of the trial in original sampling units. | |
| int | ModifyAllParameters (int piNewScale, int piNewCorrelationWindow, int piNewTrialLength) |
| Sets all parameters at once. | |
| int | GetScaleWindow () |
| Get the size of the current scale segment. | |
| int | GetCorrelationWindow () |
| Get the size of the correlation window. | |
| int | GetTrialLength () |
| Get the trial length in original sampling units. | |
| int | GetDistributionOfCorrelationCoefficientsBinNr () |
| Get the number of bins of the distribution of coefficients of correlation. | |
| float | GetDistributionOfCorrelationCoefficientsBinSize () |
| Get the size of a bin of the distribution of coefficients of correlation. | |
A class that computes the scaled correlation for two vectors of time stamps (Binary - Binary).
For details on the Scaled Correlation algorithm see paper on "Scaled Correlation Analysis" by Danko Nikolic, Raul C. Muresan, Weijia Feng, and Wolf Singer.
| CScaledCorrelationBB::CScaledCorrelationBB | ( | int | piScaleWindow, |
| int | piCorrelationWindow, | ||
| int | piTrialLength, | ||
| int & | piIsError | ||
| ) |
Constructor.
| piScaleWindow | - The scale on which you compute the scaled correlation; use the same units as the sampling unit of your time stamps |
| piCorrelationWindow | - The size of the cross correlation window (eg. 80 for a cross correlation with lags of -80..+80); use again the same units as the sampling of your time stamps |
| piTrialLength | - The size of the trial in units of your time stamps |
| piIsError | - A return parameter, set to 0 on success. It is set to -1 by the constructor if there is a mismatch of window sizes and the GetScaledCorrelogram() function will return NULL; |
Destructor.
| void CScaledCorrelationBB::ComputeScaledCorrelation | ( | int * | piaTimeStampsA, |
| int | piNrTimeStampsInA, | ||
| int * | piaTimeStampsB, | ||
| int | piNrTimeStampsInB, | ||
| int | pbUseFisherZTransform | ||
| ) |
Compute the scaled correlation of two vectors of time stamps.
| piaTimeStampsA | - The vector holding the time stamps of the first neuron |
| piNrTimeStampsInA | - Number of time stamps in the first vector |
| piaTimeStampsB | - The vector holding the time stamps of the second neuron |
| piNrTimeStampsInB | - Number of time stamps in the second vector |
| pbUseFisherZTransform | - Set to 1 to use the Fisher Z transform to average the coefficients of correlation; set to 0 for normal computation; |
| void CScaledCorrelationBB::ComputeWindowedScaledCorrelationPerTrial | ( | int * | piaTimeStampsA, |
| int | piNrTimeStampsInA, | ||
| int * | piaTimeStampsB, | ||
| int | piNrTimeStampsInB, | ||
| int | piFromOffsetInTrial, | ||
| int | piToOffsetInTrial, | ||
| int | pbUseFisherZTransform | ||
| ) |
Compute the scaled correlation of two vectors of time stamps, on a partial window of the trial.
Compute the scaled correlation of two vectors of time stamps, on a partial window of the trial;
| piaTimeStampsA | - The vector holding the time stamps of the first neuron |
| piNrTimeStampsInA | - Number of time stamps in the first vector |
| piaTimeStampsB | - The vector holding the time stamps of the second neuron |
| piNrTimeStampsInB | - Number of time stamps in the second vector |
| piFromOffsetInTrial | - The start offset in the trial where the desired window starts (time stamp) |
| piToOffsetInTrial | - The end offset in the trial where the desired window stops (time stamp) |
| pbUseFisherZTransform | - Set to 1 to use the Fisher Z transform to average the coefficients of correlation; set to 0 for normal computation; |
Get the size of the correlation window.
| int * CScaledCorrelationBB::GetDistributionOfCorrelationCoefficients | ( | int & | piNumberOfBins, |
| float & | pfBinSize | ||
| ) |
Returns the distribution of coefficients of correlation.
Get the number of bins of the distribution of coefficients of correlation.
Get the size of a bin of the distribution of coefficients of correlation.
Returns how many Fi coefficients of correlation have been averaged for each bin of the scaled cross correlogram.
| float * CScaledCorrelationBB::GetFiCoefficientSums | ( | ) |
Returns the sum of valid Fi coefficients of correlation for each bin of the correlogram.
The size of the buffer is (2*iCorrelationWindow+1), and the sum of coefficients for lag 0 is at position iCorrelationWindow. Use this function to get the sum of all valid coefficients that were used to compute the average correlation coefficient for each bin of the ScaledCrossCorrelogram: ScaledCrossCorrelogram[i] = FiCoefficientSums[i] / FiCoefficientCounts[i].
| float * CScaledCorrelationBB::GetScaledCrossCorrelogram | ( | ) |
Returns the buffer with the computed scaled correlogram; returns NULL if there was an error; please check the buffer for NULL before using it!!
The size of the scaled correlogram buffer is (2*iCorrelationWindow+1), and element with lag 0 is at position iCorrelationWindow;
Get the size of the current scale segment.
Get the trial length in original sampling units.
| int CScaledCorrelationBB::ModifyAllParameters | ( | int | piNewScale, |
| int | piNewCorrelationWindow, | ||
| int | piNewTrialLength | ||
| ) |
Sets all parameters at once.
| piNewScale | - The new size of the scale segment |
| piNewCorrelationWindow | - The new size of the correlation window |
| piNewTrialLength | - The new length of the trial |
| int CScaledCorrelationBB::ModifyCorrelationWindow | ( | int | piNewCorrelationWindow | ) |
Set the size of the correlation window; the parameter specifies the of the correlation window; for example for a window of -100..+100 pass 100 as a parameter.
| piNewCorrelationWindow | - The new size of the correlation window |
| int CScaledCorrelationBB::ModifyScaleWindow | ( | int | piNewScale | ) |
Changes the scale segment size for the scaled correlation.
| piNewScale | - The new size of the scale segment |
| int CScaledCorrelationBB::ModifyTrialLength | ( | int | piNewTrialLength | ) |
Set the length of the trial in original sampling units.
| piNewTrialLength | - The new length of the trial |