de_twin.processing.Processor#

class de_twin.processing.Processor(twin, dark_frames=20, gain_frames=20, gain_dose_e_per_px=2000.0)[source]#

Bases: object

Reference acquisition + correction, keyed like DE-Server’s RefFinder.

Parameters:
  • dark_frames (int)

  • gain_frames (int)

  • gain_dose_e_per_px (float)

__init__(twin, dark_frames=20, gain_frames=20, gain_dose_e_per_px=2000.0)[source]#
Parameters:
  • dark_frames (int)

  • gain_frames (int)

  • gain_dose_e_per_px (float)

Methods

__init__(twin[, dark_frames, gain_frames, ...])

acquire(request, *[, units, gain, pace])

Integrated, dark/gain-corrected image of request.

clear()

correct(raw, refs)

lookup(request)

Stored references matching request (no acquisition).

references(request, *[, gain])

References for request; missing ones are provided like a prepared operator would.

store_dark(request, mean_dark, n_frames)

store_gain(request, mean_flood, n_frames)

Store a gain reference from a mean flood frame (dark-subtracted here).

synthesize_gain(request[, dose_e_per_px])

A well-dosed gain reference without simulating hundreds of flood frames.

take_dark(request[, n_frames])

take_gain(request[, n_frames])

lookup(request)[source]#

Stored references matching request (no acquisition).

Parameters:

request (AcquisitionRequest)

Return type:

References | None

store_dark(request, mean_dark, n_frames)[source]#
Parameters:
Return type:

References

store_gain(request, mean_flood, n_frames)[source]#

Store a gain reference from a mean flood frame (dark-subtracted here).

Parameters:
Return type:

References

take_dark(request, n_frames=None)[source]#
Parameters:
Return type:

References

take_gain(request, n_frames=None)[source]#
Parameters:
Return type:

References

synthesize_gain(request, dose_e_per_px=None)[source]#

A well-dosed gain reference without simulating hundreds of flood frames.

A good gain reference integrates thousands of electrons per pixel, which at a DE sensor’s ~10 e/px/frame full well means hundreds of frames. This returns the detector’s true flat field with the residual shot noise such a reference would have: relative noise sqrt((1 + cv^2) / dose).

Parameters:
Return type:

References

references(request, *, gain=True)[source]#

References for request; missing ones are provided like a prepared operator would.

The dark reference is measured through the twin. A missing gain reference is synthesize_gain() (well dosed); use take_gain() or a Gain-mode acquisition to measure one frame by frame instead.

Parameters:
Return type:

References

clear()[source]#
Return type:

None

correct(raw, refs)[source]#
Parameters:
Return type:

ndarray

acquire(request, *, units='electrons', gain=True, pace=False)[source]#

Integrated, dark/gain-corrected image of request.

units: “electrons” (divide by the camera’s ADU/e at the column’s HT), “adu” (corrected ADU) or “raw” (plain sum, no correction).

Parameters:
Return type:

ndarray