resonance.api.header_map

resonance.api.header_map

Canonical header names for motors, AI channels, and related fields.

normalize_header(name)

Map a header name to its canonical form.

Uses HEADER_NAMES when present; otherwise replaces spaces with underscores and lowercases the string.

Parameters:

Name Type Description Default
name str

Original header (e.g. motor name, AI channel, or column name).

required

Returns:

Type Description
str

Canonical name (e.g. sam_x, i0, exposure).

Source code in src/resonance/api/header_map.py
def normalize_header(name: str) -> str:
    """
    Map a header name to its canonical form.

    Uses HEADER_NAMES when present; otherwise replaces spaces with
    underscores and lowercases the string.

    Parameters
    ----------
    name : str
        Original header (e.g. motor name, AI channel, or column name).

    Returns
    -------
    str
        Canonical name (e.g. sam_x, i0, exposure).
    """
    if name in HEADER_NAMES:
        return HEADER_NAMES[name]
    return name.replace(" ", "_").lower()