tardis.visualization.widgets.grotrian module¶
Grotrian Diagram Widget for TARDIS simulation models.
This widget displays a Grotrian Diagram of the last line interactions of the simulation packets
- class tardis.visualization.widgets.grotrian.GrotrianPlot(atom_data, level_energy_data, level_population_data, line_interaction_analysis)[source]¶
Bases:
object
Class for the Grotrian Diagram
- Parameters:
- atom_datapandas.DataFrame
Mapping from atomic number to symbol and name
- level_energy_datapandas.Series
Level energies (in eV) indexed by (atomic_number, ion_number, level_number)
- level_population_datapandas.DataFrame
Level populations indexed by (atomic_number, ion_number, level_number) and each column representing the supernova shell
- line_interaction_analysistardis.analysis.LastLineInteraction
LastLineInteraction object with the appropriate filters
- FILTER_MODES = ('packet_out_nu', 'packet_in_nu')¶
- FILTER_MODES_DESC = ('Emitted Wavelength', 'Absorbed Wavelength')¶
- Y_SCALE_OPTION = {'Linear': <function GrotrianPlot.<lambda>>, 'Log': <ufunc 'log'>}¶
- property atomic_name¶
- property atomic_number¶
- property atomic_symbol¶
- display()[source]¶
Function to draw the plot and the reference scales (calls other draw methods independently)
- property filter_mode¶
- classmethod from_simulation(sim, **kwargs)[source]¶
Creates a GrotrianPlot object from a Simulation object
- Parameters:
- simtardis.simulation.Simulation
TARDIS simulation object
- Returns:
- tardis.visualization.widgets.grotrian.GrotrianPlot
GrotrianPlot object
- property ion_number¶
- property level_diff_threshold¶
- property max_levels¶
- property max_wavelength¶
- property min_wavelength¶
- property shell¶
- property y_scale¶
- class tardis.visualization.widgets.grotrian.GrotrianWidget(plot, num_shells, **kwargs)[source]¶
Bases:
object
A wrapper class for the Grotrian Diagram, containing the Grotrian Plot and the IpyWidgets
- Parameters:
- plottardis.visualization.widgets.grotrian.GrotrianPlot
GrotrianPlot object
- num_shellsint
Number of shells in the sim.simulation_state.v_inner
- tardis.visualization.widgets.grotrian.is_zero_defined(transform)[source]¶
Utility function to decide if a certain transform is defined at zero
- Parameters:
- transformfunction
- Returns:
- bool
True if transform is defined at 0 else False
- tardis.visualization.widgets.grotrian.standardize(values, transform=<function <lambda>>, min_value=None, max_value=None, zero_undefined_offset=0)[source]¶
Utility function to standardize displayed values like wavelengths, num_packets, levels populations to the range [0, 1] This helps in computing visual elements like widths, colors, etc.
- Parameters:
- valuespandas.Series
The data to standardize
- transformfunction, optional
Transformations like np.log, np.exp, etc. to apply on the data. Defaults to identity
- min_valuefloat, optional
The lower bound of the range
- max_valuefloat, optional
The upper bound of the range
- zero_undefined_offsetint, optional
This is useful for log transformation because log(0) is -inf. Hence, value=0 gives y=0 while the output for other values start at
zero_undefined_offset
(y = log(value) + zero_undefined_offset) Default value is 0
- Returns:
- pandas.Series
Values after standardization