SerialTrap

class lsst.ip.isr.SerialTrap(size, emission_time, pixel, trap_type, coeffs)

Bases: object

Represents a serial register trap.

Parameters:
sizefloat

Size of the charge trap, in electrons.

emission_timefloat

Trap emission time constant, in inverse transfers.

pixelint

Serial pixel location of the trap, including the prescan.

trap_typestr

Type of trap capture to use. Should be one of linear, logistic, or spline.

coeffslist [float]

Coefficients for the capture process. Linear traps need one coefficient, logistic traps need two, and spline based traps need to have an even number of coefficients that can be split into their spline locations and values.

Raises:
ValueError

Raised if the specified parameters are out of expected range.

Attributes Summary

trap_array

trapped_charge

Methods Summary

capture(pixel_signals)

Trap capture function.

initialize(ny, nx, prescan_width)

Initialize trapping arrays for simulated readout.

release_charge()

Release charge through exponential decay.

trap_charge(free_charge)

Perform charge capture using a logistic function.

Attributes Documentation

trap_array
trapped_charge

Methods Documentation

capture(pixel_signals)

Trap capture function.

Parameters:
pixel_signalslist [float]

Input pixel values.

Returns:
captured_chargelist [float]

Amount of charge captured from each pixel.

Raises:
RuntimeError

Raised if the trap type is invalid.

initialize(ny, nx, prescan_width)

Initialize trapping arrays for simulated readout.

Parameters:
nyint

Number of rows to simulate.

nxint

Number of columns to simulate.

prescan_widthint

Additional transfers due to prescan.

Raises:
ValueError

Raised if the trap falls outside of the image.

release_charge()

Release charge through exponential decay.

Returns:
released_chargefloat

Charge released.

trap_charge(free_charge)

Perform charge capture using a logistic function.

Parameters:
free_chargefloat

Charge available to be trapped.

Returns:
captured_chargefloat

Amount of charge actually trapped.