10 #if !defined(ampcor_libampcor_correlators_kernels_h)
11 #define ampcor_libampcor_correlators_kernels_h
20 void detect(
const std::complex<float> * cArena, std::size_t cells,
float * rArena);
23 void refStats(
float * rArena,
24 std::size_t pairs, std::size_t refDim, std::size_t cellsPerTilePair,
28 void sat(
const float * rArena,
30 std::size_t refCells, std::size_t tgtCells, std::size_t tgtDim,
35 void tgtStats(
const float * sat,
37 std::size_t refDim, std::size_t tgtDim, std::size_t corDim,
41 void correlate(
const float * rArena,
const float * refStats,
const float * tgtStats,
43 std::size_t refCells, std::size_t tgtCells, std::size_t corCells,
44 std::size_t refDim, std::size_t tgtDim, std::size_t corDim,
45 float * dCorrelation);
48 void maxcor(
const float * cor,
49 std::size_t pairs, std::size_t corCells, std::size_t corDim,
53 void nudge(std::size_t pairs,
54 std::size_t refDim, std::size_t tgtDim, std::size_t margin,
55 int * locations,
float * offsets);
58 void migrate(
const std::complex<float> * arena,
60 std::size_t refDim, std::size_t tgtDim, std::size_t expDim,
61 std::size_t refRefinedDim, std::size_t tgtRefinedDim,
62 const int * locations,
63 std::complex<float> * refinedArena);
67 auto r2c(
const float * gamma,
68 std::size_t pairs, std::size_t corDim, std::size_t zmdDim
69 ) -> std::complex<float> *;
72 auto c2r(
const std::complex<float> * scratch,
73 std::size_t pairs, std::size_t zmdDim
77 void offsetField(
const int * zoomed,
79 std::size_t margin, std::size_t refineMargin, std::size_t zoom,