FlashCamExtractor

class ctapipe.image.extractor.FlashCamExtractor(**kwargs: Any)[source]

Bases: ctapipe.image.extractor.ImageExtractor

Image extractor applying signal preprocessing for FlashCam

The waveforms are first upsampled to achieve one nanosecond sampling (as a default, for the FlashCam). A pole-zero deconvolution [1] is then performed to the waveforms to recover the original impulse or narrow the resulting pulse due to convolution with detector response. The modified waveform is integrated in a window around a peak, which is defined by the neighbors of the pixel. The waveforms are clipped in order to reduce the contribution from the afterpulses in the neighbor sum. If leading_edge_timing is set to True, the so-called leading edge time is found (with the adaptive_centroid function) instead of the peak time.

This extractor has been optimized for the FlashCam [2].

[1] Smith, S. W. 1997, The Scientist and Engineer’s Guide to Digital Signal Processing (California Technical Publishing) [2] FlashCam: a novel Cherenkov telescope camera with continuous signal digitization. CTA Consortium. A. Gadola (Zurich U.) et al. DOI: 10.1088/1748-0221/10/01/C01014. Published in: JINST 10 (2015) 01, C01014

Attributes Summary

apply_integration_correction

Apply the integration window correction.

effective_time_profile_std

Effective Cherenkov time profile std.

leading_edge_rel_descend_limit

Fraction of the peak value down to which samples are accumulated in the leading edge centroid calculation.

leading_edge_timing

Calculate leading edge time instead of peak time.

local_weight

Weight of the local pixel (0: peak from neighbors only, 1: local pixel counts as much as any neighbor).

neighbour_sum_clipping

(Soft) clipping level of a pixel’s contribution to a neighbour sum (set to 0 or inf to disable clipping).

upsampling

Define the upsampling factor for waveforms.

window_shift

Define the shift of the integration window from the peak_index (peak_index - shift).

window_width

Define the width of the integration window.

Methods Summary

__call__(waveforms, tel_id, …)

Call the relevant functions to fully extract the charge and time for the particular extractor.

clip(x[, lo, hi])

Applies soft clipping to ±1 and then hard clipping to (lo, hi).

Attributes Documentation

apply_integration_correction

Apply the integration window correction.

effective_time_profile_std

Effective Cherenkov time profile std. dev. (in nanoseconds) to assume for calculating the gain correction.

leading_edge_rel_descend_limit

Fraction of the peak value down to which samples are accumulated in the leading edge centroid calculation.

leading_edge_timing

Calculate leading edge time instead of peak time.

local_weight

Weight of the local pixel (0: peak from neighbors only, 1: local pixel counts as much as any neighbor).

neighbour_sum_clipping

(Soft) clipping level of a pixel’s contribution to a neighbour sum (set to 0 or inf to disable clipping).

upsampling

Define the upsampling factor for waveforms.

window_shift

Define the shift of the integration window from the peak_index (peak_index - shift).

window_width

Define the width of the integration window.

Methods Documentation

__call__(waveforms, tel_id, selected_gain_channel, broken_pixels)ctapipe.containers.DL1CameraContainer[source]

Call the relevant functions to fully extract the charge and time for the particular extractor.

Parameters
waveformsndarray

Waveforms stored in a numpy array of shape (n_pix, n_samples).

tel_idint

The telescope id. Used to obtain to correct traitlet configuration and instrument properties

selected_gain_channelndarray

The channel selected in the gain selection, per pixel. Required in some cases to calculate the correct correction for the charge extraction.

Returns
DL1CameraContainer:

extracted images and validity flags

static clip(x, lo=0.0, hi=inf)[source]

Applies soft clipping to ±1 and then hard clipping to (lo, hi).