sheap.Profiles.Profiles module

Profiles

This module defines the profile registry and composite profile logic used in sheap.

It collects all available spectral profile functions (line, continuum, templates) into centralized dictionaries for lookup during region building and fitting. It also provides helper routines to wrap existing profiles and to build compound SPAF profiles (Sum of Profiles with Free Amplitudes).

Contents

  • PROFILE_LINE_FUNC_MAPRegistry of line profiles

    (Gaussian, Lorentzian, Voigt, skewed Gaussian, EMG, top-hat).

  • PROFILE_CONTINUUM_FUNC_MAPRegistry of continuum profiles

    (linear, power law, broken power law, log-parabola, exponential cutoff, polynomial).

  • PROFILE_FUNC_MAPUnified registry combining line, continuum, template,

    and composite profiles (including SPAF and Balmer continuum).

Functions

  • wrap_profile_with_center_override :

    Wraps a profile to allow overriding its center parameter at call time. Ensures JAX compatibility and handles linear→log amplitude conversion.

  • SPAF :

    Constructs a Sum-of-Profiles-with-Free-Amplitudes profile from a set of line centers and amplitude-tying rules, sharing global shape parameters.

Notes

  • All profiles are JAX-compatible and decorated with

    @with_param_names for consistent parameter naming.

  • The registries are used by ComplexBuilder and downstream fitting classes

    to resolve profile names defined in YAML templates into callable functions.