artist.data_parser.paint_calibration_parser =========================================== .. py:module:: artist.data_parser.paint_calibration_parser Attributes ---------- .. autoapisummary:: artist.data_parser.paint_calibration_parser.log Classes ------- .. autoapisummary:: artist.data_parser.paint_calibration_parser.PaintCalibrationDataParser Module Contents --------------- .. py:data:: log A logger for the paint calibration data parser. .. py:class:: PaintCalibrationDataParser(sample_limit: int | None = None, centroid_extraction_method: str = paint_mappings.UTIS_KEY) Bases: :py:obj:`artist.data_parser.calibration_data_parser.CalibrationDataParser` Initialize the the paint calibration data parser. Parameters ---------- sample_limit : int | None The number specifying the maximum number of samples to be loaded (default is None). centroid_extraction_method : str The method by which the focal spot centroid was extracted (default is the centroid extracted by ``UTIS``). .. py:attribute:: centroid_extraction_method .. py:method:: parse_data_for_reconstruction(heliostat_data_mapping: list[tuple[str, list[pathlib.Path], list[pathlib.Path]]], heliostat_group: artist.field.heliostat_group.HeliostatGroup, scenario: artist.scenario.scenario.Scenario, bitmap_resolution: torch.Tensor = torch.tensor([artist.util.index_mapping.bitmap_resolution, artist.util.index_mapping.bitmap_resolution]), device: torch.device | None = None) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor] Extract measured fluxes and their respective calibration properties data. Parameters ---------- heliostat_data_mapping : list[tuple[str, list[pathlib.Path], list[pathlib.Path]]] The mapping from heliostat to calibration data files. heliostat_group : HeliostatGroup The heliostat group. scenario : Scenario The scenario. bitmap_resolution : torch.Tensor The resolution of all bitmaps during reconstruction (default is torch.tensor([256,256])). Tensor of shape [2]. device : torch.device | None The device on which to perform computations or load tensors and models (default is None). If None, ``ARTIST`` will automatically select the most appropriate device (CUDA or CPU) based on availability and OS. Returns ------- The measured flux density distributions. Tensor of shape [number_of_active_heliostats, bitmap_resolution_e, bitmap_resolution_u]. torch.Tensor The calibration focal spots. Tensor of shape [number_of_calibration_data_points, 4]. torch.Tensor The incident ray directions. Tensor of shape [number_of_calibration_data_points, 4]. torch.Tensor The motor positions. Tensor of shape [number_of_calibration_data_points, 2]. torch.Tensor A mask with active heliostats and their replications. Tensor of shape [number_of_heliostats]. torch.Tensor The target area mapping for the heliostats. Tensor of shape [number_of_active_heliostats]. .. py:method:: _parse_calibration_data(heliostat_calibration_mapping: list[tuple[str, list[pathlib.Path]]], heliostat_names: list[str], target_area_names: list[str], power_plant_position: torch.Tensor, device: torch.device | None = None) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor] Extract calibration data from ``PAINT`` calibration files. Parameters ---------- heliostat_calibration_mapping : list[tuple[str, list[pathlib.Path]]] The mapping of heliostats and their calibration data files. power_plant_position : torch.Tensor The power plant position. Tensor of shape [3]. heliostat_names : list[str] All possible heliostat names. target_area_names : list[str] All possible target area names. device : torch.device | None The device on which to perform computations or load tensors and models (default is None). If None, ``ARTIST`` will automatically select the most appropriate device (CUDA or CPU) based on availability and OS. Returns ------- torch.Tensor The calibration focal spots. Tensor of shape [number_of_calibration_data_points, 4]. torch.Tensor The incident ray directions. Tensor of shape [number_of_calibration_data_points, 4]. torch.Tensor The motor positions. Tensor of shape [number_of_calibration_data_points, 2]. torch.Tensor A mask with active heliostats and their replications. Tensor of shape [number_of_heliostats]. torch.Tensor The target area mapping for the heliostats. Tensor of shape [number_of_active_heliostats].