artist.data_parser.calibration_data_parser

Attributes

log

A logger for the calibration data parser.

Classes

CalibrationDataParser

Initialize the the base data parser.

Module Contents

artist.data_parser.calibration_data_parser.log

A logger for the calibration data parser.

class artist.data_parser.calibration_data_parser.CalibrationDataParser(sample_limit: int | None = None)

Initialize the the base data parser.

Parameters

sample_limitint | None

The number specifying the maximum number of samples to be loaded (default is None).

sample_limit = None
abstractmethod 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_mappinglist[tuple[str, list[pathlib.Path], list[pathlib.Path]]]

The mapping from heliostat to calibration data files.

heliostat_groupHeliostatGroup

The heliostat group.

scenarioScenario

The scenario.

bitmap_resolutiontorch.Tensor

The resolution of all bitmaps during reconstruction (default is torch.tensor([256,256])). Tensor of shape [2].

devicetorch.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].

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_mappinglist[tuple[str, list[pathlib.Path]]]

The mapping of heliostats and their measured flux density distributions.

heliostat_nameslist[str]

All possible heliostat names.

resolutiontorch.Tensor

The resolution of the loaded png files (default is torch.tensor([256,256])). Tensor of shape [2].

devicetorch.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].