artist.io.paint_calibration_parser

Attributes

log

A logger for the paint calibration data parser.

Classes

PaintCalibrationDataParser

Initialize the PAINT calibration data parser.

Module Contents

artist.io.paint_calibration_parser.log

A logger for the paint calibration data parser.

class artist.io.paint_calibration_parser.PaintCalibrationDataParser(sample_limit: int | None = None, centroid_extraction_method: str = paint_mappings.UTIS_KEY)

Bases: artist.io.calibration_parser.CalibrationDataParser

Initialize the PAINT calibration data parser.

Parameters

sample_limitint | None

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

centroid_extraction_methodstr

The method by which the focal spot centroid was extracted (default is the centroid extracted by UTIS).

centroid_extraction_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([indices.bitmap_resolution, indices.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])). Shape is [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. Shape is [number_of_active_heliostats, bitmap_resolution_e, bitmap_resolution_u].

torch.Tensor

The calibration focal spots. Shape is [number_of_calibration_data_points, 4].

torch.Tensor

The incident ray directions. Shape is [number_of_calibration_data_points, 4].

torch.Tensor

The motor positions. Shape is [number_of_calibration_data_points, 2].

torch.Tensor

A mask with active heliostats and their replications. Shape is [number_of_heliostats].

torch.Tensor

The target area mapping for the heliostats. Shape is [number_of_active_heliostats].

_parse_calibration_data(heliostat_calibration_mapping: list[tuple[str, list[pathlib.Path]]], heliostat_names: list[str], target_name_to_index: dict[str, int], 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_mappinglist[tuple[str, list[pathlib.Path]]]

The mapping of heliostats and their calibration data files.

power_plant_positiontorch.Tensor

The power plant position. Shape is [3].

heliostat_nameslist[str]

All possible heliostat names.

target_name_to_indexdict[str, int]

A mapping from target name to its index.

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 calibration focal spots. Shape is [number_of_calibration_data_points, 4].

torch.Tensor

The incident ray directions. Shape is [number_of_calibration_data_points, 4].

torch.Tensor

The motor positions. Shape is [number_of_calibration_data_points, 2].

torch.Tensor

A mask with active heliostats and their replications. Shape is [number_of_heliostats].

torch.Tensor

The target area mapping for the heliostats. Shape is [number_of_active_heliostats].