Source code for est.core.types.dimensions
from typing import Optional, Sequence
import numpy
from numpy.typing import ArrayLike
DimensionsType = Sequence[int]
# Dimensions of X, Y and Channel/Energy.
STANDARD_DIMENSIONS = (2, 1, 0)
# The standard dataset axes are (Channel/Energy, Y, X).
[docs]
def validate_dimensions_type(dimensions: DimensionsType) -> None:
if len(dimensions) != 3:
raise TypeError("Dimensions should have three integers")
if set(dimensions) != {0, 1, 2}:
raise TypeError("Dimensions should have three values: 0, 1 and 2")
[docs]
def parse_dimensions(dimensions: Optional[DimensionsType]) -> DimensionsType:
if dimensions is None:
return STANDARD_DIMENSIONS
validate_dimensions_type(dimensions)
return dimensions