BrighterFatterKernelSolveTask

BrighterFatterKernelSolveTask inverts the covariance matrix from a photon transfer curve dataset to produce a brighter-fatter kernel.

Processing summary

BrighterFatterKernelSolveTask runs these operations:

  1. Scale and normalize the covariance matrix.

  2. Tile the covariance matrix to produce the cross-correlation in all four quadrants.

  3. Invert cross-correlation through successive over relaxation process.

  4. Optionally average the per-amplifier kernels into a per-detector kernel.

Python API summary

from lsst.cp.pipe.makeBrighterFatterKernel import BrighterFatterKernelSolveTask
classBrighterFatterKernelSolveTask(*, config=None, log=None, initInputs=None, **kwargs)

Measure appropriate Brighter-Fatter Kernel from the PTC dataset...

attributeconfig

Access configuration fields and retargetable subtasks.

methodrun(inputPtc, dummy, camera, inputDims)

Combine covariance information from PTC into brighter-fatter kernels...

See also

See the BrighterFatterKernelSolveTask API reference for complete details.

Retargetable subtasks

No subtasks.

Configuration fields

connections

Data type

lsst.pipe.base.config.BrighterFatterKernelSolveConfigConnections

Field type

ConfigField

Configurations describing the connections of the PipelineTask to datatypes

correlationModelRadius

Default
100
Field type

int Field

Build a model of the correlation coefficients for radii larger than this value in pixels?

correlationModelSlope

Default
-1.35
Field type

float Field

Slope of the correlation model for radii larger than correlationModelRadius

correlationQuadraticFit

Default
False
Field type

bool Field

Use a quadratic fit to find the correlations instead of simple averaging?

covModelFluxSample

Default
{'ALL_AMPS': 25000.0}
Field type

DictField

Key type

str

Value type

float

Flux level in electrons at which to sample the full covariancemodel if useCovModelSample=True. The same level is applied to allamps if this parameter [dict] is passed as {‘ALL_AMPS’: value}

eLevelSuccessiveOverRelaxation

Default
5e-14
Field type

float Field

The target residual error for the successive over-relaxation method

forceZeroSum

Default
True
Field type

bool Field

Force the correlation matrix to have zero sum by adjusting the (0,0) value?Defaults to true bsed on recommendation of Broughton et al. 2024.

ignoreAmpsForAveraging

Default
[]
Field type

str ListField

List of amp names to ignore when averaging the amplifier kernels into the detector kernel. Only relevant for level = DETECTOR

level

Default
'AMP'
Field type

str ChoiceField (optional)

Choices
'AMP'

Every amplifier treated separately

'DETECTOR'

One kernel per detector

None

Field is optional

The level at which to calculate the brighter-fatter kernels

maxIterSuccessiveOverRelaxation

Default
10000
Field type

int Field

The maximum number of iterations allowed for the successive over-relaxation method

nSigmaClip

Default
5
Field type

float Field

Number of sigma to clip when calculating means for the cross-correlation

saveLogOutput

Default
True
Field type

bool Field

Flag to enable/disable saving of log output for a task, enabled by default.

useAmatrix

Default
False
Field type

bool Field

Use the PTC ‘a’ matrix (Astier et al. 2019 equation 20) instead of the average of measured covariances?

useCovModelSample

Default
False
Field type

bool Field

Use the covariance matrix sampled from the full covariance model (Astier et al. 2019 equation 20) instead of the average measured covariances?

xcorrCheckRejectLevel

Default
2.0
Field type

float Field

Rejection level for the sum of the input cross-correlations. Arrays which sum to greater than this are discarded before the clipped mean is calculated.