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
.