#include "gmxpre.h"
#include "crosscorr.h"
#include "gromacs/fft/fft.h"
#include "gromacs/math/gmxcomplex.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/smalloc.h"
Implements routine for computing a cross correlation between two data sets.
- Author
- David van der Spoel david.nosp@m..van.nosp@m.dersp.nosp@m.oel@.nosp@m.icm.u.nosp@m.u.se
|
static int | zeroPaddingSize (int n) |
| return the size witch the array should be after zero padding More...
|
|
static void | complexConjugatMult (t_complex *in1, t_complex *in2) |
| Compute complex conjugate. Output in the first input variable. More...
|
|
static void | cross_corr_low (int n, const real f[], const real g[], real corr[], gmx_fft_t fft) |
| Compute one cross correlation corr = f x g using FFT. More...
|
|
void | cross_corr (int n, real f[], real g[], real corr[]) |
| fft cross correlation algorithm. Computes corr = f (.) g More...
|
|
void | many_cross_corr (int nFunc, int *nData, real **f, real **g, real **corr) |
| fft cross correlation algorithm. More...
|
|
static void complexConjugatMult |
( |
t_complex * |
in1, |
|
|
t_complex * |
in2 |
|
) |
| |
|
static |
Compute complex conjugate. Output in the first input variable.
- Parameters
-
[in] | in1 | first complex number |
[in] | in2 | second complex number |
fft cross correlation algorithm. Computes corr = f (.) g
- Parameters
-
[in] | n | number of data point |
[in] | f | First function |
[in] | g | Second function |
[out] | corr | The cross correlation |
Compute one cross correlation corr = f x g using FFT.
- Parameters
-
[in] | n | number of data point |
[in] | f | first function |
[in] | g | second function |
[out] | corr | output correlation |
[in] | fft | FFT data structure |
void many_cross_corr |
( |
int |
nFunc, |
|
|
int * |
nData, |
|
|
real ** |
f, |
|
|
real ** |
g, |
|
|
real ** |
corr |
|
) |
| |
fft cross correlation algorithm.
Computes corr[n] = f[n]i g[n][i], that is for nFunc pairs of arrays n the cross correlation is computed in parallel using OpenMP.
- Parameters
-
[in] | nFunc | nuber of function to crosscorrelate |
[in] | nData | number of data point in eatch function |
[in] | f | 2D array of first function to crosscorrelate |
[in] | g | 2D array of second function to crosscorrelate |
[out] | corr | 2D array of the cross correlations |
static int zeroPaddingSize |
( |
int |
n | ) |
|
|
static |
return the size witch the array should be after zero padding
- Parameters
-
[in] | n | Factor to multiply by 2 |
- Returns
- zeroPaddingSize