tardis.visualization.widgets.custom_abundance module¶
Class to create and display Custom Abundance Widget.
- class tardis.visualization.widgets.custom_abundance.CustomAbundanceWidget(widget_data)[source]¶
- Bases: - object- Widget to edit abundances and densities of simulation model graphically. - It generates a GUI based on input data. The GUI has a plot section to visualize the profile, an edit section to allow the user directly edit abundance and density profile, and an output section to output the model to CSVY file. - Attributes
- shell_noint
- The selected shell number. 
- no_of_shellsint
- The number of shells in the model. 
- no_of_elementsint
- The number of elements in the model. 
- checked_listlist of bool
- A list of bool to record whether the checkbox is checked. The index of the bool corresponds to the index of checkbox. 
- figplotly.graph_objs._figurewidget.FigureWidget
- The figure object of abundance density plot. 
- plot_cmapstr, default: “jet”, optional
- String defines the colormap used in abundance density plot. 
- _triggerbool
- If False, disable the callback when abundance input is changed. 
 
 - Initialize CustomAbundanceWidget with data and generate the widgets and plot. - Parameters
- widget_dataCustomAbundanceWidgetData
 
 - apply_to_multiple_shells(item_index)[source]¶
- Apply the changed abundances to specified range of shell(s). - Parameters
- item_indexint
- The index of the widget in the list of abundance inputs. 
 
 
 - bound_locked_sum_to_1(index)[source]¶
- Ensure the sum of locked abundances is no more than 1. If the locked sum is more than 1, calculate the maximum with the sum no more than 1 and return it. - Parameters
- indexint
- The index of the widget in the list of abundance inputs. 
 
 
 - check_eventhandler(obj)[source]¶
- Triggered if the checkbox is changed. - Parameters
- objtraitlets.utils.bunch.Bunch
- A dictionary holding the information about the change. 
 
 
 - property checked_list¶
 - display(cmap='jet')[source]¶
- Display the GUI. - Parameters
- cmapstr, default: “jet”, optional
- String defines the colormap used in abundance density plot. 
 
- Returns
- ipywidgets.widgets.widget_box.VBox
- A box that contains all the widgets in the GUI. 
 
 
 - dpd_shell_no_eventhandler(obj)[source]¶
- Make the data in widgets correspond with the selected shell. Triggered if the dropdown value is changed. - Parameters
- objtraitlets.utils.bunch.Bunch
- A dictionary holding the information about the change. 
 
 
 - error_view = Output()¶
 - classmethod from_csvy(fpath)[source]¶
- Create a new CustomAbundanceWidget instance with data from CSVY file. - Parameters
- fpathstr
- the path of CSVY file. 
 
- Returns
- CustomAbundanceWidget
 
 
 - classmethod from_hdf(fpath)[source]¶
- Create a new CustomAbundanceWidget instance with data from HDF file. - Parameters
- fpathstr
- the path of HDF file. 
 
- Returns
- CustomAbundanceWidget
 
 
 - classmethod from_simulation(sim)[source]¶
- Create a new CustomAbundanceWidget instance from a Simulation object. - Parameters
- simSimulation
 
- Returns
- CustomAbundanceWidget
 
 
 - classmethod from_yml(fpath)[source]¶
- Create a new CustomAbundanceWidget instance with data from YAML file. - Parameters
- fpathstr
- The path of YAML file. 
 
- Returns
- CustomAbundanceWidget
 
 
 - input_item_eventhandler(obj)[source]¶
- Update the data and the widget when it gets new abundance input. Triggered if the abundance input is changed. - Parameters
- objtraitlets.utils.bunch.Bunch
- A dictionary holding the information about the change. 
 
 
 - input_symb_eventhandler(**kwargs)¶
 - input_v_eventhandler(obj)[source]¶
- Judge whether the input velocity range is valid. Triggered if the velocity input is changed. - Parameters
- objtraitlets.utils.bunch.Bunch
- A dictionary holding the information about the change. 
 
 
 - irs_shell_range_eventhandler(obj)[source]¶
- Select the velocity range of new shell and highlight the range in the plot. Triggered if the shell range slider is changed. - Parameters
- objipywidgets.widgets.widget_button.Button
- The clicked button instance. 
 
 
 - property no_of_elements¶
 - property no_of_shells¶
 - on_btn_add_element(obj)[source]¶
- Add new element and update the display in the front end. Triggered if the add button is clicked. - Parameters
- objipywidgets.widgets.widget_button.Button
- The clicked button instance. 
 
 
 - on_btn_add_shell(obj)[source]¶
- Add new shell with given boundary velocities. Triggered if the button is clicked. - Parameters
- objipywidgets.widgets.widget_button.Button
- The clicked button instance. 
 
 
 - on_btn_next(obj)[source]¶
- Move to next shell. - Parameters
- objipywidgets.widgets.widget_button.Button
- The clicked button instance. 
 
 
 - on_btn_norm(obj)[source]¶
- Normalize unlocked abundances to 1. Triggered if the normalize button is clicked. - Parameters
- objipywidgets.widgets.widget_button.Button
- The clicked button instance. 
 
 
 - on_btn_output(obj)[source]¶
- Triggered if the output button is clicked. - Parameters
- objipywidgets.widgets.widget_button.Button
- The clicked button instance. 
 
 
 - on_btn_prev(obj)[source]¶
- Move to previous shell. - Parameters
- objipywidgets.widgets.widget_button.Button
- The clicked button instance. 
 
 
 - overwrite_existing_shells(v_0, v_1)[source]¶
- Judge whether the existing shell(s) will be overwritten when inserting a new shell within the entered velocity range. - Parameters
- v_0float
- The velocity of inner boundary. 
- v_1float
- The velocity of outer boundary. 
 
- Returns
- bool
- True if the existing shell will be overwritten, False otherwise. 
 
 
 - rbs_multi_apply_eventhandler(obj)[source]¶
- Switch to multi-shells editing mode. Triggered if the second radio button is selected. - Parameters
- objipywidgets.widgets.widget_button.Button
- The clicked button instance. 
 
 
 - rbs_single_apply_eventhandler(obj)[source]¶
- Switch to single shell editing mode. Triggered if the first radio button is selected. - Parameters
- objipywidgets.widgets.widget_button.Button
- The clicked button instance. 
 
 
 - read_abundance()[source]¶
- Read abundances data in DataFrame to input items box when shell No. changes. 
 - property shell_no¶
 - tbs_scale_eventhandler(obj)[source]¶
- Switch the scale type of y axis between linear mode and log mode. Triggered if the toggle button is changed. - Parameters
- objtraitlets.utils.bunch.Bunch
- A dictionary holding the information about the change. 
 
 
 - to_csvy(path, overwrite)[source]¶
- Output CSVY file on the specified path. - Parameters
- pathstr
- Output path. 
- overwritebool
- True if overwriting, False otherwise. 
 
 
 - update_abundance_plot(index)[source]¶
- Update the abundance line of certain element in the plot. - Parameters
- indexint
- The index of the widget in the list of abundance inputs. 
 
 
 - update_bar_diagonal()[source]¶
- Update bar diagonal (and shell no dropdown) when the range of shells changed. 
 - update_front_end()[source]¶
- Update checkbox widgets, input widgets and plot in the front end when selected shell No. is changed. 
 - update_input_item_value(index, value)[source]¶
- Update the value of the widget in the list of abundance inputs. - Keep two decimal places for displayed value and disable - input_item_eventhandlerwhile changing the value.- Parameters
- indexint
- The index of the widget in the list of abundance inputs. 
- valuefloat
- New abundance value. 
 
 
 
- class tardis.visualization.widgets.custom_abundance.CustomAbundanceWidgetData(density_t_0, density, abundance, velocity)[source]¶
- Bases: - object- The model information and data that required in custom abundance widget. - Attributes
- elementslist of str
- A list of elements or isotopes’ symbols. 
 
 - Initialize CustomAbundanceWidgetData with model information. - Parameters
- density_t_0astropy.units.quantity.Quantity
- Initial time for the density in the model. 
- densityastropy.units.quantity.Quantity
- abundancepd.DataFrame
- velocityastropy.units.quantity.Quantity
 
 - classmethod from_csvy(fpath)[source]¶
- Create a new CustomAbundanceWidgetData instance with data from CSVY file. - Parameters
- fpathstr
- the path of CSVY file. 
 
- Returns
- CustomAbundanceWidgetData
 
 
 - classmethod from_hdf(fpath)[source]¶
- Create a new CustomAbundanceWidgetData instance with data from HDF file. - Parameters
- fpathstr
- the path of HDF file. 
 
- Returns
- CustomAbundanceWidgetData
 
 
 - classmethod from_simulation(sim)[source]¶
- Create a new CustomAbundanceWidgetData instance from a Simulation object. - Parameters
- simSimulation
 
- Returns
- CustomAbundanceWidgetData
 
 
 
- class tardis.visualization.widgets.custom_abundance.CustomYAML(name, d_time_0, i_time_0, v_inner_boundary, v_outer_boundary)[source]¶
- Bases: - yaml.YAMLObject- A custom YAML object generated by required properties. - Initialize CustomYAML object with given properties. - Parameters
- namestr
- Name of the YAML file. 
- d_time_0astropy.units.quantity.Quantity
- Initial time for the density in the model. 
- i_time_0astropy.units.quantity.Quantity
- Initial time for isotope decay. Set to 0 for no isotopes. 
- v_inner_boundaryastropy.units.quantity.Quantity
- Velocity of the inner boundary. 
- v_outer_boundaryastropy.units.quantity.Quantity
- Velocity of the outer boundary. 
 
 
- class tardis.visualization.widgets.custom_abundance.DensityEditor(widget_data, fig, shell_no_widget)[source]¶
- Bases: - object- Widget to edit density profile of the model. - It provides an interface to allow the user directly change the density, or calculate the density with given type and parameters. - Attributes
- shell_noint
- The selected shell number. 
- _triggerbool
- If False, disable the callback when density input is changed. 
 
 - Initialize DensityEditor with data and widget components. - Parameters
- widget_dataCustomAbundanceWidgetData
- Data in the custom abundance widget. 
- figplotly.graph_objs._figurewidget.FigureWidget
- The figure object of density plot. 
- shell_no_widgetipywidgets.widgets.widget_selection.Dropdown
- A widget to record the selected shell number. 
 
 - create_widgets()[source]¶
- Create widget components in density editor GUI and register callbacks for widgets. 
 - display()[source]¶
- Display the GUI. - Returns
- ipywidgets.widgets.widget_box.VBox
- A box that contains all the widgets in the GUI. 
 
 
 - dpd_dtype_eventhandler(obj)[source]¶
- Display the input boxes of the specified density type. Triggered if the density type dropdown is changed. - Parameters
- objtraitlets.utils.bunch.Bunch
- A dictionary holding the information about the change. 
 
- Returns
- ipywidgets.widgets.widget_box.VBox
- A box widget that contains the input boxes of certain density type parameters. 
 
 
 - dtype_out = Output()¶
 - input_d_eventhandler(obj)[source]¶
- Update the data and the widgets when the widget gets new density input. - Parameters
- objtraitlets.utils.bunch.Bunch
- A dictionary holding the information about the change. 
 
 
 - input_d_time_0_eventhandler(obj)[source]¶
- Update density time 0 data when the widget gets new input. - Parameters
- objtraitlets.utils.bunch.Bunch
- A dictionary holding the information about the change. 
 
 
 - on_btn_calculate(obj)[source]¶
- Calculate density according to density parameters input. Triggered if the density calculate button is clicked. - Parameters
- objipywidgets.widgets.widget_button.Button
- The clicked button instance. 
 
 
 - property shell_no¶