in src/open_vp_cal/framework/generation.py [0:0]
def __init__(self, led_wall: LedWallSettings, patch_size=(1000, 1000)):
"""
Initializes the PatchGeneration with the LED wall settings
Parameters:
led_wall (LedWallSettings): The LED wall we want to generate patches for
"""
self.led_wall = led_wall
self.patch_size = patch_size
self.base_name = None
self.generation_ocio_config_path = None
self.peak_lum = None
self.percent_18_lum = None
self.grey_18_percent = np.array([])
self.max_black = 0
self.red_primary = np.array([])
self.green_primary = np.array([])
self.blue_primary = np.array([])
self.desaturated_red = np.array([])
self.desaturated_green = np.array([])
self.desaturated_blue = np.array([])
self.flat_field = [0.5, 0.5, 0.5]
self._generation_width = 3840
self._generation_height = 2160
self.calc_constants()
self.patches_map = {
constants.PATCHES.SLATE: (self.generate_slate_patch, (1, 1, 1)),
constants.PATCHES.MAX_WHITE: (self.generate_solid_patch, (
constants.PQ.PQ_MAX_NITS_100_1, constants.PQ.PQ_MAX_NITS_100_1, constants.PQ.PQ_MAX_NITS_100_1)),
constants.PATCHES.RED_PRIMARY: (self.generate_solid_patch, self.red_primary.tolist()),
constants.PATCHES.GREEN_PRIMARY: (self.generate_solid_patch, self.green_primary.tolist()),
constants.PATCHES.BLUE_PRIMARY: (self.generate_solid_patch, self.blue_primary.tolist()),
constants.PATCHES.RED_PRIMARY_DESATURATED: (
self.generate_solid_patch, self.desaturated_red.tolist()),
constants.PATCHES.GREEN_PRIMARY_DESATURATED: (
self.generate_solid_patch, self.desaturated_green.tolist()),
constants.PATCHES.BLUE_PRIMARY_DESATURATED: (
self.generate_solid_patch, self.desaturated_blue.tolist()),
constants.PATCHES.GREY_18_PERCENT: (self.generate_solid_patch, self.grey_18_percent.tolist()),
constants.PATCHES.MACBETH: (self.generate_macbeth, 1.5),
constants.PATCHES.DISTORT_AND_ROI: (self.distort_and_roi, [20, 100, 0, 0.1]),
constants.PATCHES.FLAT_FIELD: (self.generate_solid_patch_full, self.flat_field),
constants.PATCHES.EOTF_RAMPS: (
self.generate_eotf_ramps,
utils.get_grey_signals(
self.led_wall.target_max_lum_nits, self.led_wall.num_grey_patches)
),
constants.PATCHES.SATURATION_RAMP: (self.generate_saturation_ramp, 10),
constants.PATCHES.END_SLATE: (self.generate_reference_image, ResourceLoader.open_vp_cal_logo()),
}