synthesizer.utils.util_funcs¶
A module containing general utility functions.
Example usage:
planck(frequency, temperature=10000 * K) rebin_1d(arr, 10, func=np.sum)
Functions
- synthesizer.utils.util_funcs.combine_arrays(arr1, arr2)[source]¶
Combine two arrays into a single array.
This function is a helper used to combine two arrays of the same length into a single array while abstracting some checks and handling improper combinations.
If both arrays are None then None is returned. If one array is None and the other is not then None is returned along with a warning.
- Parameters:
arr1 (array-like) – The first array to combine.
arr2 (array-like) – The second array to combine.
- Returns:
- array-like
The combined array.
- synthesizer.utils.util_funcs.parse_grid_id(grid_id)[source]¶
Parse a grid name for the properties of the grid.
This is used for parsing a grid ID to return the SPS model, version, and IMF
- Parameters:
grid_id (str) – string grid identifier
- synthesizer.utils.util_funcs.planck(frequency, temperature)[source]¶
Compute the planck distribution for a given frequency and temperature.
This function computes the spectral radiance of a black body at a given frequency and temperature using Planck’s law. The spectral radiance is then converted to spectral luminosity density assuming a luminosity distance of 10 pc.
- Parameters:
frequency (float or unyt_quantity) – Frequency of the radiation in Hz.
temperature (float or unyt_quantity) – Temperature in Kelvin.
- Returns:
Spectral luminosity density in erg/s/Hz.
- Return type:
unyt_quantity
- synthesizer.utils.util_funcs.rebin_1d(arr, resample_factor, func=<function sum>)[source]¶
A simple function for rebinning a 1D array using a specificed function (e.g. sum or mean).
- Parameters:
arr (array-like) – The input 1D array.
resample_factor (int) – The integer rebinning factor, i.e. how many bins to rebin by.
func (func) – The function to use (e.g. mean or sum).
- Returns:
- array-like
The input array resampled by i.
- synthesizer.utils.util_funcs.value_to_array(value)[source]¶
A helper functions for converting a single value to an array holding a single value.
- Parameters:
value (float/unyt_quantity) – The value to wrapped into an array.
- Returns:
- array-like/unyt_array
An array containing the single value
- Raises:
InconsistentArguments – If the argument is not a float or unyt_quantity.
- synthesizer.utils.util_funcs.wavelength_to_rgba(wavelength, gamma=0.8, fill_red=(0, 0, 0, 0.5), fill_blue=(0, 0, 0, 0.5), alpha=1.0)[source]¶
Convert wavelength float to RGBA tuple.
Taken from https://stackoverflow.com/questions/44959955/ matplotlib-color-under-curve-based-on-spectral-color
Who originally took it from http://www.noah.org/wiki/ Wavelength_to_RGB_in_Python
- Parameters:
wavelength (float) – Wavelength in nm.
gamma (float) – Gamma value.
fill_red (bool or tuple) – The colour (RGBA) to use for wavelengths red of the visible. If None use final nearest visible colour.
fill_blue (bool or tuple) – The colour (RGBA) to use for wavelengths red of the visible. If None use final nearest visible colour.
alpha (float) – The value of the alpha channel (between 0 and 1).
- Returns:
- rgba (tuple)
RGBA tuple.