In Astronomy, SEDs can have different styles.
The style effects the units and sometimes multiplies the y -axis with a power-law depending on the x -axis.
But to compare findings we have to transform to a single style. This function helps you to transform between sed-styles.
Here are example sed-styles A , B , C , and D showing the differential flux of Crab, and the integral sensitivity of Fermi-LAT.
| A | B |
|---|---|
A = {
"x_energy_in_eV": 1e6,
"y_inverse_energy_in_eV": 624150907446.0763, # one erg
"y_inverse_area_in_m2": 1e-4,
"y_inverse_time_in_s": 1.0,
"y_scale_energy_in_eV": 624150907446.0763, # one erg
"y_scale_energy_power": 2.0,
}
B = {
"x_energy_in_eV": 1e9,
"y_inverse_energy_in_eV": 1e9,
"y_inverse_area_in_m2": 1.0,
"y_inverse_time_in_s": 1.0,
"y_scale_energy_in_eV": 1e9,
"y_scale_energy_power": 0.0,
}| C | D |
|---|---|
C = {
"x_energy_in_eV": 1,
"y_inverse_energy_in_eV": 1,
"y_inverse_area_in_m2": 1,
"y_inverse_time_in_s": 1.0,
"y_scale_energy_in_eV": 1,
"y_scale_energy_power": 2.7,
}
D = {
"x_energy_in_eV": 1e9,
"y_inverse_energy_in_eV": 1e12,
"y_inverse_area_in_m2": 1e-4,
"y_inverse_time_in_s": 1.0,
"y_scale_energy_in_eV": 1e12,
"y_scale_energy_power": 2.0,
}Transform the numeric values in the arrays x -axis, and y -axis from style A to B.
import spectral_energy_distribution_units as sed
x_B, y_B = sed.convert_units_with_style(x=x_A, y=y_A, input_style=A, target_style=B)Find also a function for the style-dictionaries A and B being unpacked:
x_B, y_B = sed.convert_units(x=x_A, y=y_A, x_energy_in_eV=... )pip install spectral-energy-distribution-units-sebastian-achim-mueller
See unit-tests
./spectral_energy_distribution_units/tests/test_convert.py
to reproduce the upper figures A , B , C , and D.