in src/open_vp_cal/application_base.py [0:0]
def run_pre_checks(self, led_walls: List[LedWallSettings]) -> bool:
""" Runs the pre-checks for the analysis and calibration, we report any warnings or failures to the user.
Args:
led_walls: The LED walls we want to run the pre-checks on
Returns:
Whether we should continue with the analysis/calibration or not
"""
led_wall_names = [led_wall.name for led_wall in led_walls]
for led_wall in led_walls:
if not led_wall.has_valid_white_balance_options():
message = f"Only Select 1 option from AutoWB, or Reference Wall or External White {led_wall.name}"
self.error_message(message)
return False
if led_wall.native_camera_gamut == constants.CameraColourSpace.CS_ACES:
message = f"Native Camera Gamut Should Not Be {constants.CameraColourSpace.CS_ACES} For {led_wall.name}"
self.error_message(message)
return False
if led_wall.use_white_point_offset:
if not led_wall.white_point_offset_source:
self.error_message(f"External White Point Enabled But File Not Set {led_wall.name}")
return False
if not os.path.exists(led_wall.white_point_offset_source):
self.error_message(f"External White Point File Set Does Not Exist {led_wall.name}")
return False
if led_wall.match_reference_wall:
if not led_wall.reference_wall:
self.error_message(f"Match Reference Wall Enabled But Not Set {led_wall.name} Not In Selection")
return False
if led_wall.reference_wall not in led_wall_names:
self.error_message(f"Reference Wall {led_wall.reference_wall} Not In Selection")
return False
if not self.single_camera_across_all_wall(led_walls):
return False
return True