chemicalc.utils¶
-
chemicalc.utils.
find_nearest_val
(array: Union[List[float], numpy.ndarray], value: float) → float¶ Find the nearest value in an array. Helpful for indexing spectra at a specific wavelength.
- Parameters
array (Union[List[float],np.ndarray]) – list or array of floats to search
value (float) – value that you wish to find
- Return float
entry in array that is nearest to value
-
chemicalc.utils.
find_nearest_idx
(array: Union[List[float], numpy.ndarray], value: float) → int¶ Find the index of the nearest value in an array. Helpful for indexing spectra at a specific wavelength.
- Parameters
np.ndarray] array (Union[List[float],) – list or array of floats to search
value (float) – value that you wish to find
- Return int
index of entry in array that is nearest to value
-
chemicalc.utils.
generate_wavelength_template
(start_wavelength: float, end_wavelength: float, resolution: float, res_sampling: float, truncate: bool = False) → numpy.ndarray¶ Generate wavelength array with fixed resolution and wavelength sampling.
- Parameters
start_wavelength (float) – minimum wavelength of spectra to include
end_wavelength (float) – maximum wavelength of spectra to include
resolution (float) – resolving power of instrument (R = lambda / delta lambda)
res_sampling (float) – pixels per resolution element
truncate (bool) – If true, drop final pixel for which lambda > end_wavelength
- Return np.ndarray
wavelength grid of given resolution between start and end wavelengths
-
chemicalc.utils.
doppler_shift
(wave: numpy.ndarray, spec: numpy.ndarray, rv: float, bounds_warning: bool = True) → Union[numpy.ndarray, Any]¶ Apply doppler shift to spectra and resample onto original wavelength grid
Warning: This function does not gracefully handle spectral regions with rest-frame wavelengths outside of the wavelength range. Presently, these are set to np.nan.
- Parameters
wave (np.ndarray) – input wavelength array
spec (np.ndarray) – input spectra array
rv (float) – Radial Velocity (km/s)
bounds_warning (bool) – warn about boundary issues?
- Return Union[np.ndarray,Any]
Doppler shifted spectra array
-
chemicalc.utils.
convolve_spec
(wave: numpy.ndarray, spec: numpy.ndarray, resolution: float, outwave: numpy.ndarray, res_in: Optional[float] = None) → Union[numpy.ndarray, Any]¶ Convolves spectrum to lower resolution and samples onto a new wavelength grid
- Parameters
wave (np.ndarray) – input wavelength array
spec (np.ndarray) – input spectra array (may be 1 or 2 dimensional)
resolution (float) – Resolving power to convolve down to (R = lambda / delta lambda)
outwave (np.ndarray) – wavelength grid to sample onto
res_in (Optional[float]) – Resolving power of input spectra
- Return Union[np.ndarray,Any]
convolved spectra array
-
chemicalc.utils.
calc_gradient
(spectra: numpy.ndarray, labels: pandas.core.frame.DataFrame, symmetric: bool = True, ref_included: bool = True) → pandas.core.frame.DataFrame¶ Calculates partial derivatives of spectra with respect to each label
- Parameters
spectra (np.ndarray) – input spectra array
labels (pd.DataFrame) – input label array
symmetric (bool) – If true, calculates symmetric gradient about reference
ref_included (bool) – Is spectra[0] the reference spectrum?
- Return pd.DataFrame
Partial derivatives of spectra wrt each label
-
chemicalc.utils.
kpc_to_mu
(d: Union[float, List[float], numpy.ndarray]) → Union[numpy.float64, numpy.ndarray, Any]¶ Converts kpc to distance modulus
- Parameters
d (Union[float,List[float],np.ndarray]) – distance in kpc
- Return Union[np.float64, np.ndarray, Any]
distance modulus
-
chemicalc.utils.
mu_to_kpc
(mu: Union[float, List[float], numpy.ndarray]) → Union[float, numpy.ndarray]¶ Converts distance modulus to kpc
- Parameters
mu (Union[float,List[float],np.ndarray]) – distance modulus
- Return Union[float, np.float64, np.ndarray]
distance in kpc
-
chemicalc.utils.
decode_base64_dict
(data)¶ Decode a base64 encoded array into a NumPy array. Lifted from bokeh.serialization
- Parameters
data (dict) – encoded array data to decode. Data should have the format encoded by
encode_base64_dict()
.- Return np.ndarray
decoded numpy array