synthesizer.instruments.utils

A submodule for instrument related utility functions.

Example usage:

# Generate a wavelength array with a constant resolving power of 10000 lams = get_lams_from_resolving_power(400 * angstrom, 700 * angstrom, 10000)

# Generate a wavelength array with a variable resolving power func = lambda wav: 10000 + (wav.value - 400) / 300 * 5000 lams = get_lams_from_resolving_power(

400 * angstrom, 700 * angstrom, func

)

Functions

synthesizer.instruments.utils.get_lams_from_resolving_power(lam_min, lam_max, resolving_power)[source]

Generate a wavelength array with variable resolving power.

This function creates an array of wavelengths between lam_min and lam_max, where the spacing between wavelengths is determined by the resolving power. The resolving power can be specified as a constant or as a function that varies with wavelength.

Parameters:
  • lam_min (unyt_quantity) – Minimum wavelength in nanometers.

  • lam_max (unyt_quantity) – Maximum wavelength in nanometers.

  • resolving_power (float or callable) – Resolving power (R = λ / Δλ). Can be a constant value or a function that takes a wavelength with units and returns a resolving power.

Returns:

Array of wavelengths in nanometers.

Return type:

unyt_array

synthesizer.instruments.utils.print_premade_instruments()[source]

List all available premade instruments.

This will also count the filters (if any) available for each instrument and check whether the cached instrument file has been downloaded or not.

Return type:

None