
View Inside FpaProcessing:


FpaProcessing is used process the output of a focal plane sensor, such as a Camera or a TargetBoard, at runtime; after applying a specified threshold, it computes the centroid, max intensity, onaxis intensity, x, y, and azimuthally averaged slices, powerinbucket as a function of bucket radius, and, optionally, an nframe average image every n frames. Of course all of these things could be computed in postprocessing if we stored the individual images, but with FpaProcessing it often becomes unnecessary to store the individual images, greatly reducing the total storage requirements. When running large jobs on a remote device, minimizing the storage used can be crucial.
Note: PIB is output in units of J/m^2; to convert to J it is necessary to multiply by the pixel area of the grid (dx*dy). Bucket radii are dr*(1, 2, ..., nr1, inf), where dr = min(dx,dy) and nr = ceil(max(x,y)/dr). The final bucket used for PIB calculations contains all energy falling outside of the largest circle that can fit within the grid; any energy in this bucket indicates that the grid is too small.
C++ type

name

value

description

Parameters

int

nx


x dimension of image grid to be used in computation, which need not match grid of input image

int

ny


y dimension of image grid to be used in computation, which need not match grid of input image

double

dx


x spacing of image grid to be used in computation (m), which need not match grid of input image

double

dy


y spacing of image grid to be used in computation (m), which need not match grid of input image

double

relativeThreshold


Relative threshold, expressed as a fraction of the maximum value in the image.

int

typeOfThreshold


Type of threshold: 1 = subtract, then set negative values to zero. 2 = set values below the threshold to zero

int

n_per_average


Number of frames (consecutive images) to use in computing average image (0 means don't compute average image)

Inputs

Grid<double>

image


Input image

Outputs

double

xc


x centroid (m)

double

yc


y centroid (m)

double

onAxisIntensity


On axis intensity (value of image at origin)

double

maxIntensity


Maximum intensity (maximum value of image)

Vector<double>

xavg


Average slice through image in the x direction (averaged over y)

Vector<double>

yavg


Average slice through image in the y direction (averaged over x)

Vector<double>

ravg


Average radial slice through image (averaged over slice angle)

Vector<double>

pib


Integrated power in the bucket, as a function of bucket radius (J/m^2)

Grid<double>

averageImage


The average of the first n images, the second n images, and so forth, where n = n_per_average (a parameter)

