artist.data_parser.calibration_data_parser ========================================== .. py:module:: artist.data_parser.calibration_data_parser Attributes ---------- .. autoapisummary:: artist.data_parser.calibration_data_parser.log Classes ------- .. autoapisummary:: artist.data_parser.calibration_data_parser.CalibrationDataParser Module Contents --------------- .. py:data:: log A logger for the calibration data parser. .. py:class:: CalibrationDataParser(sample_limit: int | None = None) Initialize the the base data parser. Parameters ---------- sample_limit : int | None The number specifying the maximum number of samples to be loaded (default is None). .. py:attribute:: sample_limit :value: None .. 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] :abstractmethod: 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:: load_flux_from_png(heliostat_flux_path_mapping: list[tuple[str, list[pathlib.Path]]], heliostat_names: list[str], resolution: torch.Tensor = torch.tensor([artist.util.index_mapping.bitmap_resolution, artist.util.index_mapping.bitmap_resolution]), device: torch.device | None = None) -> torch.Tensor Load flux density distributions as tensors from png images. Note that the order of width and height are reversed in ``PIL`` and ``torch``. ``PIL`` takes (width, height), while ``torch`` tensors are [height, width]. Parameters ---------- heliostat_flux_path_mapping : list[tuple[str, list[pathlib.Path]]] The mapping of heliostats and their measured flux density distributions. heliostat_names : list[str] All possible heliostat names. resolution : torch.Tensor The resolution of the loaded png files (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 ------- torch.Tensor The measured flux density distributions. Tensor of shape [number_of_active_heliostats, bitmap_resolution_e, bitmap_resolution_u].