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:
objectClass 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:
objectA 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