FlashCamExtractor#
- class ctapipe.image.extractor.FlashCamExtractor(**kwargs: Any)[source]#
Bases:
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
Effective Cherenkov time profile std.
Fraction of the peak value down to which samples are accumulated in the leading edge centroid calculation.
Calculate leading edge time instead of peak time.
Weight of the local pixel (0: peak from neighbors only, 1: local pixel counts as much as any neighbor).
(Soft) clipping level of a pixel's contribution to a neighbour sum (set to 0 or inf to disable clipping).
Define the upsampling factor for waveforms.
Define the shift of the integration window from the peak_index (peak_index - shift).
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
- 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) 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_channels, 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.
- broken_pixelsndarray
Mask of broken pixels used for certain
ImageExtractor
types. Shape: (n_channels, n_pix)
- Returns:
- DL1CameraContainer:
extracted images and validity flags