Skip to content

Struct corr2d_state_t

ClassList > corr2d_state_t

2-D FFT correlator state. More...

  • #include <corr2d_core.h>

Public Attributes

Type Name
float _Complex * accum
size_t count
size_t dwell
int fast_path
fft2d_state_t * fwd
fft_state_t * fwd1d
fft2d_state_t * inv
fft_state_t * inv1d
size_t n
size_t n_out
size_t nx
size_t nx_out
size_t ny
size_t ny_out
float _Complex * ref_spec
float _Complex * row_ref_spec
float _Complex * work_fft
float _Complex * work_pad
float _Complex * work_trunc
float _Complex * zcol
float _Complex * zcolout
float _Complex * ztmp

Detailed Description

Allocate with corr2d_create(); never stack-allocate. All heap buffers are ny * nx complex floats stored in row-major order.

Public Attributes Documentation

variable accum

float _Complex* corr2d_state_t::accum;

Coherent product-spectrum accumulator, same (ny,nx)/reinterpretation rule as work_fft.


variable count

size_t corr2d_state_t::count;

Frames accumulated (0 … dwell-1).


variable dwell

size_t corr2d_state_t::dwell;

Integration depth.


variable fast_path

int corr2d_state_t::fast_path;

1 if using the 1-D-per-row fast path.


variable fwd

fft2d_state_t* corr2d_state_t::fwd;

Forward 2-D plan (sign = -1) at (ny, nx). NULL when fast_path.


variable fwd1d

fft_state_t* corr2d_state_t::fwd1d;

Forward 1-D plan, length nx. Fast only.


variable inv

fft2d_state_t* corr2d_state_t::inv;

Inverse 2-D plan (sign = +1) at (ny_out,…). NULL when fast_path.


variable inv1d

fft_state_t* corr2d_state_t::inv1d;

Inverse 1-D plan, length nx_out. Fast only.


variable n

size_t corr2d_state_t::n;

ny * nx — total element count.


variable n_out

size_t corr2d_state_t::n_out;

ny_out * nx_out — output element count.


variable nx

size_t corr2d_state_t::nx;

Column count.


variable nx_out

size_t corr2d_state_t::nx_out;

Output columns (== nx unless decoupled).


variable ny

size_t corr2d_state_t::ny;

Row count.


variable ny_out

size_t corr2d_state_t::ny_out;

Output rows (== ny unless decoupled).


variable ref_spec

float _Complex* corr2d_state_t::ref_spec;

conj(FFT2(ref)), pre-computed. (ny, nx). NULL when fast_path (see row_ref_spec).


variable row_ref_spec

float _Complex* corr2d_state_t::row_ref_spec;

conj(FFT_nx(ref row 0)), length nx. Fast-path replacement for ref_spec.


variable work_fft

float _Complex* corr2d_state_t::work_fft;

Scratch: FFT(in)·ref_spec product. (ny,nx) either path — fast path reinterprets this as ny independent length-nx row spectra.


variable work_pad

float _Complex* corr2d_state_t::work_pad;

Zero-padded product, (ny_out, nx_out) or, fast path, (ny, nx_out).


variable work_trunc

float _Complex* corr2d_state_t::work_trunc;

Bounce buffer for a dump into an under-sized out (jm gh-138). Both execute paths the 2-D inverse and the per-row fast path write the full n_out surface, so a short out is served by writing here and copying the prefix. Allocated lazily; the sized path never touches it.


variable zcol

float _Complex* corr2d_state_t::zcol;

Column gather scratch, (ny). General path only.


variable zcolout

float _Complex* corr2d_state_t::zcolout;

Column-padded scratch, (ny_out). General path only.


variable ztmp

float _Complex* corr2d_state_t::ztmp;

Row-padded intermediate, (ny, nx_out). General path only.



The documentation for this class was generated from the following file native/inc/corr2d/corr2d_core.h