albumentations.core.utils
Module containing utility functions and classes for the core Albumentations framework. This module provides a collection of helper functions and base classes used throughout the Albumentations library. It includes utilities for shape handling, parameter processing, data conversion, and serialization. The module defines abstract base classes for data processors that implement the conversion logic between different data formats used in the transformation pipeline.
Members
- functionget_shape
- functionget_volume_shape
- functionformat_args
- classParams
- classDataProcessor
- functionvalidate_args
- functionprocess_sequence
- functionprocess_scalar
- functionapply_bias
- functionensure_int_output
- functionto_tuple
- functionto_tuple
- functionto_tuple
get_shapefunction
get_shape(
data: dict[str, Any]
)Extract height and width dimensions from input data dictionary. After grayscale preprocessing, all data has channel dimension at the end. Args: data (dict[str, Any]): Dictionary containing image or volume data with one of: - 'volume': 3D array of shape (D, H, W, C) - 'volumes': Batch of 3D arrays of shape (N, D, H, W, C) - 'image': 2D array of shape (H, W, C) - 'images': Batch of arrays of shape (N, H, W, C) Returns: tuple[int, int]: (height, width) dimensions
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| data | dict[str, Any] | - | - |
get_volume_shapefunction
get_volume_shape(
data: dict[str, Any]
)Extract depth, height, and width dimensions from volume data. Args: data (dict[str, Any]): Dictionary containing volume data Returns: tuple[int, int, int] | None: (depth, height, width) dimensions if volume data exists, None otherwise
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| data | dict[str, Any] | - | - |
format_argsfunction
format_args(
args_dict: dict[str, Any]
)Format a dictionary of arguments into a string representation. Args: args_dict (dict[str, Any]): Dictionary of argument names and values. Returns: str: Formatted string of arguments in the form "key1='value1', key2=value2".
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| args_dict | dict[str, Any] | - | - |
Paramsclass
Params(
coord_format: Any,
label_fields: Sequence[str] | None
)Base class for parameter handling in transforms. Args: coord_format (Any): The coordinate format of the data this parameter object will process. label_fields (Sequence[str] | None): List of fields that are joined with the data, such as labels.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| coord_format | Any | - | - |
| label_fields | One of:
| - | - |
DataProcessorclass
DataProcessor(
params: Params,
additional_targets: dict[str, str] | None
)Abstract base class for data processors. Data processors handle the conversion, validation, and filtering of data during transformations. Args: params (Params): Parameters for data processing. additional_targets (dict[str, str] | None): Dictionary mapping additional target names to their types.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| params | Params | - | - |
| additional_targets | One of:
| - | - |
validate_argsfunction
validate_args(
low: float | Sequence[int] | Sequence[float] | None,
bias: float | None
)Validate that 'low' and 'bias' parameters are not used together. Args: low (float | Sequence[int] | Sequence[float] | None): Lower bound value. bias (float | None): Bias value to be added to both min and max values. Raises: ValueError: If both 'low' and 'bias' are provided.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| low | One of:
| - | - |
| bias | One of:
| - | - |
process_sequencefunction
process_sequence(
param: Sequence[Number]
)Process a sequence and return it as a (min, max) tuple. Args: param (Sequence[Number]): Sequence of numeric values. Returns: tuple[Number, Number]: Tuple containing (min_value, max_value) from the sequence. Raises: ValueError: If the sequence doesn't contain exactly 2 elements.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| param | Sequence[Number] | - | - |
process_scalarfunction
process_scalar(
param: Number,
low: Number | None
)Process a scalar value and optional low bound into a (min, max) tuple. Args: param (Number): Scalar numeric value. low (Number | None): Optional lower bound. Returns: tuple[Number, Number]: Tuple containing (min_value, max_value) where: - If low is provided: (low, param) if low < param else (param, low) - If low is None: (-param, param) creating a symmetric range around zero
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| param | Number | - | - |
| low | One of:
| - | - |
apply_biasfunction
apply_bias(
min_val: Number,
max_val: Number,
bias: Number
)Apply a bias to both values in a range. Args: min_val (Number): Minimum value. max_val (Number): Maximum value. bias (Number): Value to add to both min and max. Returns: tuple[Number, Number]: Tuple containing (min_val + bias, max_val + bias).
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| min_val | Number | - | - |
| max_val | Number | - | - |
| bias | Number | - | - |
ensure_int_outputfunction
ensure_int_output(
min_val: Number,
max_val: Number,
param: Number
)Ensure output is of the same type (int or float) as the input parameter. Args: min_val (Number): Minimum value. max_val (Number): Maximum value. param (Number): Original parameter used to determine the output type. Returns: tuple[int, int] | tuple[float, float]: Tuple with values converted to int if param is int, otherwise values remain as float.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| min_val | Number | - | - |
| max_val | Number | - | - |
| param | Number | - | - |
to_tuplefunction
to_tuple(
param: int | tuple[int, int],
low: int | tuple[int, int] | None,
bias: float | None
)Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| param | One of:
| - | - |
| low | One of:
| - | - |
| bias | One of:
| - | - |
to_tuplefunction
to_tuple(
param: float | tuple[float, float],
low: float | tuple[float, float] | None,
bias: float | None
)Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| param | One of:
| - | - |
| low | One of:
| - | - |
| bias | One of:
| - | - |
to_tuplefunction
to_tuple(
param: float | tuple[float, float] | tuple[int, int],
low: float | tuple[float, float] | tuple[int, int] | None,
bias: float | None
)Convert input argument to a min-max tuple. This function processes various input types and returns a tuple representing a range. It handles single values, sequences, and can apply optional low bounds or biases. Args: param (tuple[float, float] | float | tuple[int, int] | int): The primary input value. Can be: - A single int or float: Converted to a symmetric range around zero. - A tuple of two ints or two floats: Used directly as min and max values. low (tuple[float, float] | float | None, optional): A lower bound value. Used when param is a single value. If provided, the result will be (low, param) or (param, low), depending on which is smaller. Cannot be used together with 'bias'. Defaults to None. bias (float | int | None, optional): A value to be added to both elements of the resulting tuple. Cannot be used together with 'low'. Defaults to None. Returns: tuple[int, int] | tuple[float, float]: A tuple representing the processed range. - If input is int-based, returns tuple[int, int] - If input is float-based, returns tuple[float, float] Raises: ValueError: If both 'low' and 'bias' are provided. TypeError: If 'param' is neither a scalar nor a sequence of 2 elements. Examples: >>> to_tuple(5) (-5, 5) >>> to_tuple(5.0) (-5.0, 5.0) >>> to_tuple((1, 10)) (1, 10) >>> to_tuple(5, low=3) (3, 5) >>> to_tuple(5, bias=1) (-4, 6) Notes: - When 'param' is a single value and 'low' is not provided, the function creates a symmetric range around zero. - The function preserves the type (int or float) of the input in the output. - If a sequence is provided, it must contain exactly 2 elements.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| param | One of:
| - | - |
| low | One of:
| - | - |
| bias | One of:
| - | - |