Source code for ctapipe.image.leakage
"""
Leakage calculation
"""
import numpy as np
from ..containers import LeakageContainer
__all__ = ["leakage_parameters"]
[docs]
def leakage_parameters(geom, image, cleaning_mask):
"""
Calculating the leakage-values for a given image.
Image must be cleaned for example with tailcuts_clean.
Leakage describes how strong a shower is on the edge of a telescope.
Parameters
----------
geom: ctapipe.instrument.CameraGeometry
Camera geometry information
image: array
pixel values
cleaning_mask: array, dtype=bool
The pixel that survived cleaning, e.g. tailcuts_clean
Returns
-------
LeakageContainer
"""
border1 = geom.get_border_pixel_mask(1)
border2 = geom.get_border_pixel_mask(2)
mask1 = border1 & cleaning_mask
mask2 = border2 & cleaning_mask
leakage_pixel1 = np.count_nonzero(mask1)
leakage_pixel2 = np.count_nonzero(mask2)
leakage_intensity1 = np.sum(image[mask1])
leakage_intensity2 = np.sum(image[mask2])
clean = image[cleaning_mask]
n_pixels_cleaning = len(clean)
n_pe_cleaning = np.sum(clean)
return LeakageContainer(
pixels_width_1=leakage_pixel1 / n_pixels_cleaning,
pixels_width_2=leakage_pixel2 / n_pixels_cleaning,
intensity_width_1=leakage_intensity1 / n_pe_cleaning,
intensity_width_2=leakage_intensity2 / n_pe_cleaning,
)