nomad_camels package
Subpackages
- nomad_camels.bluesky_handling package
- Submodules
- nomad_camels.bluesky_handling.EpicsFieldSignal module
- nomad_camels.bluesky_handling.TriggerEpicsSignalRO module
- nomad_camels.bluesky_handling.builder_helper_functions module
- nomad_camels.bluesky_handling.custom_function_signal module
Custom_Function_Signal
Custom_Function_Signal.put_function
Custom_Function_Signal.read_function
Custom_Function_Signal.trigger_function
Custom_Function_Signal.retry_on_error
Custom_Function_Signal.error_retry_function
Custom_Function_Signal.force_sequential
Custom_Function_Signal.describe()
Custom_Function_Signal.get()
Custom_Function_Signal.put()
Custom_Function_Signal.read_configuration()
Custom_Function_Signal.subscriptions
Custom_Function_Signal.trigger()
Custom_Function_SignalRO
Custom_Function_SignalRO.read_function
Custom_Function_SignalRO.trigger_function
Custom_Function_SignalRO.retry_on_error
Custom_Function_SignalRO.error_retry_function
Custom_Function_SignalRO.force_sequential
Custom_Function_SignalRO.describe()
Custom_Function_SignalRO.get()
Custom_Function_SignalRO.read_configuration()
Custom_Function_SignalRO.subscriptions
Custom_Function_SignalRO.trigger()
Sequential_Device
retry_function()
- nomad_camels.bluesky_handling.evaluation_helper module
- nomad_camels.bluesky_handling.flyer_interface module
CAMELS_Flyer
CAMELS_Flyer.name
CAMELS_Flyer.detectors
CAMELS_Flyer.can_fail
CAMELS_Flyer.read_time
CAMELS_Flyer.mutex
CAMELS_Flyer._data
CAMELS_Flyer._completion_status
CAMELS_Flyer.flyer_thread
CAMELS_Flyer.collect()
CAMELS_Flyer.complete()
CAMELS_Flyer.describe_collect()
CAMELS_Flyer.kickoff()
CAMELS_Flyer.propagate_exceptions()
Flyer_Thread
- nomad_camels.bluesky_handling.helper_functions module
BoxHelper
Commenting_Box
Prompt_Box
TimestampTextEdit
Value_Box
Value_Setter
Waiting_Bar
clear_plots()
create_venv_run_file_delete_venv()
evaluate_python_file_output()
export_function()
get_channels()
get_fit_results()
get_inner_range()
get_newest_file()
get_opyd_and_py_file_contents()
get_range()
gradient_descent()
make_recoursive_plot_list_of_sub_steps()
read_wo_trigger()
saving_function()
simplify_configs_dict()
trigger_and_read()
trigger_multi()
- nomad_camels.bluesky_handling.loop_step_functions_api_call module
- nomad_camels.bluesky_handling.make_catalog module
- nomad_camels.bluesky_handling.protocol_builder module
- nomad_camels.bluesky_handling.run_engine_overwrite module
- nomad_camels.bluesky_handling.variable_reading module
- nomad_camels.bluesky_handling.visa_signal module
- nomad_camels.bluesky_handling.watchdogs module
- Module contents
- nomad_camels.commands package
- nomad_camels.extensions package
- Submodules
- nomad_camels.extensions.extension_contexts module
- nomad_camels.extensions.extension_interface module
- nomad_camels.extensions.extension_management module
- Module contents
- nomad_camels.frontpanels package
- Subpackages
- Submodules
- nomad_camels.frontpanels.flyer_window module
- nomad_camels.frontpanels.instrument_config module
Instrument_Config
Instrument_Config.add_instance()
Instrument_Config.build_table()
Instrument_Config.get_all_names()
Instrument_Config.get_config()
Instrument_Config.get_current_config()
Instrument_Config.name_config_changed()
Instrument_Config.remove_instance()
Instrument_Config.show_hide_info()
Instrument_Config.staticMetaObject
Instrument_Config.table_click()
Instrument_Config.toggle_info_hidden()
Instrument_Config.update_channels()
- nomad_camels.frontpanels.instrument_installer module
CustomTextEdit_new_painter
Info_Widget
Install_Thread
Instrument_Installer
Instrument_Installer.build_table()
Instrument_Installer.checkBox_change()
Instrument_Installer.get_checked_devs()
Instrument_Installer.install_selected()
Instrument_Installer.instruments_updated
Instrument_Installer.propagate_exception()
Instrument_Installer.select_all()
Instrument_Installer.select_none()
Instrument_Installer.show_hide_info()
Instrument_Installer.staticMetaObject
Instrument_Installer.table_click()
Instrument_Installer.thread_done()
Instrument_Installer.uninstall_selected()
Instrument_Installer.update_installed()
getAllDevices()
getInstalledDevices()
get_instr_license_text()
get_instr_readme_text()
install_instrument()
- nomad_camels.frontpanels.manage_instruments module
- nomad_camels.frontpanels.plot_definer module
Fit_Definer
Fit_Info
Plot_Button_Overview
Plot_Definer
Plot_Info
Plot_Info.plt_type
Plot_Info.x_axis
Plot_Info.y_axes
Plot_Info.z_axis
Plot_Info.title
Plot_Info.xlabel
Plot_Info.ylabel
Plot_Info.ylabel2
Plot_Info.zlabel
Plot_Info.logX
Plot_Info.logY
Plot_Info.logY2
Plot_Info.do_plot
Plot_Info.same_fit
Plot_Info.fits
Plot_Info.all_fit
Plot_Info.plot_all_available
Plot_Info.maxlen
Plot_Info.top_left_x
Plot_Info.top_left_y
Plot_Info.plot_width
Plot_Info.plot_height
Plot_Info.checkbox_manual_plot_position
Plot_Info.checkbox_show_in_browser
Plot_Info.browser_port
Plot_Info.name
Plot_Info.get_fit_vars()
Plot_Info.update_name()
Single_Plot_Definer
Single_Plot_Definer_2D
Single_Plot_Definer_List
Single_Plot_Definer_XY
add_fit()
check_if_plotly_modules_are_available()
is_module_available()
make_table_data()
parse_int_field()
- nomad_camels.frontpanels.protocol_config module
Protocol_Config
Protocol_Config.accept()
Protocol_Config.accepted
Protocol_Config.add_loop_step()
Protocol_Config.build_protocol_sequence()
Protocol_Config.change_name()
Protocol_Config.change_step_name()
Protocol_Config.check_file_name()
Protocol_Config.check_movability()
Protocol_Config.check_protocol_name()
Protocol_Config.closeEvent()
Protocol_Config.closing
Protocol_Config.comment_loop_step()
Protocol_Config.comment_shortcut()
Protocol_Config.copy_loop_step()
Protocol_Config.copy_shortcut()
Protocol_Config.cut_loop_step()
Protocol_Config.cut_shortcut()
Protocol_Config.enable_step_move()
Protocol_Config.get_step_config()
Protocol_Config.keyPressEvent()
Protocol_Config.move_loop_step()
Protocol_Config.paste_shortcut()
Protocol_Config.remove_loop_step()
Protocol_Config.replace_loop_step()
Protocol_Config.sequence_right_click()
Protocol_Config.staticMetaObject
Protocol_Config.tree_click_sequence()
Protocol_Config.update_add_step_actions()
Protocol_Config.update_loop_step_order()
filtered_menu_from_actions()
- nomad_camels.frontpanels.settings_window module
Settings_Window
Settings_Window.accept()
Settings_Window.autosave_run_change()
Settings_Window.change_enable_API()
Settings_Window.change_theme()
Settings_Window.check_if_api_modules_are_available()
Settings_Window.confirm_delete_api_keys()
Settings_Window.copy_to_clipboard()
Settings_Window.generate_api_key()
Settings_Window.get_settings()
Settings_Window.keyPressEvent()
Settings_Window.number_change()
Settings_Window.open_api_docu()
Settings_Window.staticMetaObject
hash_api_key()
is_module_available()
store_api_key()
- Module contents
- nomad_camels.gui package
- Submodules
- nomad_camels.gui.device_installer module
- nomad_camels.gui.dynamicuploadcombobox module
- nomad_camels.gui.enterTextDialog module
- nomad_camels.gui.extension_manager module
- nomad_camels.gui.fit_definer module
- nomad_camels.gui.for_loop module
- nomad_camels.gui.general_protocol_settings module
- nomad_camels.gui.gradient_descent_step module
- nomad_camels.gui.instrument_config module
- nomad_camels.gui.mainWindow_v2 module
- nomad_camels.gui.pass_ask module
- nomad_camels.gui.plot_definer module
- nomad_camels.gui.plot_definer_2d module
- nomad_camels.gui.plot_options module
- nomad_camels.gui.protocol_view module
- nomad_camels.gui.read_channels module
- nomad_camels.gui.set_channels module
- nomad_camels.gui.settings_window module
- nomad_camels.gui.settings_window_resource_rc module
- nomad_camels.gui.tags_ui module
FlowLayout
FlowLayout.addItem()
FlowLayout.addWidget()
FlowLayout.count()
FlowLayout.doLayout()
FlowLayout.expandingDirections()
FlowLayout.get_all_tags()
FlowLayout.hasHeightForWidth()
FlowLayout.heightForWidth()
FlowLayout.itemAt()
FlowLayout.minimumSize()
FlowLayout.remove_widget()
FlowLayout.setGeometry()
FlowLayout.sizeHint()
FlowLayout.staticMetaObject
FlowLayout.takeAt()
TagWidget
- Module contents
- nomad_camels.loop_steps package
- Submodules
- nomad_camels.loop_steps.api_call module
API_Call
API_Call_Config
API_Call_Config.api_type_changed()
API_Call_Config.authentication_type_changed()
API_Call_Config.extract_all_api_functionality_from_json()
API_Call_Config.load_camels_function_on_bootup()
API_Call_Config.rows_removed_parameters_table()
API_Call_Config.staticMetaObject
API_Call_Config.update_api_url()
API_Call_Config.update_authentication_string()
API_Call_Config.update_camels_function_parameters()
API_Call_Config.update_generic_api_method()
API_Call_Config.update_host()
API_Call_Config.update_message_body()
API_Call_Config.update_parameter_value()
API_Call_Config.update_parameters_table()
API_Call_Config.update_port()
Combobox_CAMELS_functions
- nomad_camels.loop_steps.call_function module
- nomad_camels.loop_steps.change_device_config module
- nomad_camels.loop_steps.execute_python_file module
AddRemoveTable_Returned_Variables
Execute_Python_File
Execute_Python_File_Config
Execute_Python_File_Config.handle_radio_button_clicked()
Execute_Python_File_Config.on_rows_removed_packages()
Execute_Python_File_Config.on_rows_removed_passing()
Execute_Python_File_Config.on_rows_removed_returned()
Execute_Python_File_Config.staticMetaObject
Execute_Python_File_Config.toggle_add_remove_table()
Execute_Python_File_Config.toggle_python_exe_path()
Execute_Python_File_Config.update_exe_path()
Execute_Python_File_Config.update_file_path()
Execute_Python_File_Config.update_python_packages()
Execute_Python_File_Config.update_returned_value_variables()
Execute_Python_File_Config.update_variables_passing()
- nomad_camels.loop_steps.export_data module
- nomad_camels.loop_steps.for_while_loops module
For_Loop_Step
For_Loop_Step.loop_type
For_Loop_Step.sweep_mode
For_Loop_Step.start_val
For_Loop_Step.stop_val
For_Loop_Step.min_val
For_Loop_Step.max_val
For_Loop_Step.n_points
For_Loop_Step.n_iterations
For_Loop_Step.val_list
For_Loop_Step.file_path
For_Loop_Step.include_end_points
For_Loop_Step.get_protocol_short_string()
For_Loop_Step.get_protocol_string()
For_Loop_Step.update_time_weight()
For_Loop_Step.update_variables()
For_Loop_Step_Config
For_Loop_Step_Config_Sub
For_Loop_Step_Config_Sub.add_point()
For_Loop_Step_Config_Sub.build_preview_array()
For_Loop_Step_Config_Sub.change_dist_n_mode()
For_Loop_Step_Config_Sub.change_n_points()
For_Loop_Step_Config_Sub.change_point_dist()
For_Loop_Step_Config_Sub.change_sweep_mode()
For_Loop_Step_Config_Sub.del_point()
For_Loop_Step_Config_Sub.load_data()
For_Loop_Step_Config_Sub.loop_type_change()
For_Loop_Step_Config_Sub.staticMetaObject
For_Loop_Step_Config_Sub.value_list_changed()
While_Loop_Step
While_Loop_Step_Config
While_Loop_Step_Config_Sub
- nomad_camels.loop_steps.gradient_descent module
Gradient_Descent_Config
Gradient_Descent_Config_Sub
Gradient_Descent_Step
Gradient_Descent_Step.read_channels
Gradient_Descent_Step.extremum
Gradient_Descent_Step.out_channel
Gradient_Descent_Step.opt_func
Gradient_Descent_Step.start_val
Gradient_Descent_Step.min_val
Gradient_Descent_Step.max_val
Gradient_Descent_Step.learning_rate
Gradient_Descent_Step.threshold
Gradient_Descent_Step.momentum
Gradient_Descent_Step.min_step
Gradient_Descent_Step.max_step
Gradient_Descent_Step.n_steps
Gradient_Descent_Step.plot_steps
Gradient_Descent_Step.get_add_main_string()
Gradient_Descent_Step.get_outer_string()
Gradient_Descent_Step.get_protocol_short_string()
Gradient_Descent_Step.get_protocol_string()
Gradient_Descent_Step.update_used_devices()
- nomad_camels.loop_steps.if_step module
- nomad_camels.loop_steps.make_step_of_type module
- nomad_camels.loop_steps.nd_sweep module
- nomad_camels.loop_steps.prompt_loop_step module
- nomad_camels.loop_steps.read_channels module
- nomad_camels.loop_steps.run_subprotocol module
Run_Subprotocol
Run_Subprotocol.prot_path
Run_Subprotocol.vars_in
Run_Subprotocol.vars_out
Run_Subprotocol.data_output
Run_Subprotocol.own_plots
Run_Subprotocol.get_add_main_string()
Run_Subprotocol.get_outer_string()
Run_Subprotocol.get_protocol_short_string()
Run_Subprotocol.get_protocol_string()
Run_Subprotocol.update_time_weight()
Run_Subprotocol.update_used_devices()
Run_Subprotocol_Config
- nomad_camels.loop_steps.set_channels module
- nomad_camels.loop_steps.set_value_popup module
- nomad_camels.loop_steps.set_variables module
- nomad_camels.loop_steps.simple_sweep module
Simple_Sweep
Simple_Sweep.sweep_channel
Simple_Sweep.data_output
Simple_Sweep.plots
Simple_Sweep.read_channels
Simple_Sweep.get_add_main_string()
Simple_Sweep.get_outer_string()
Simple_Sweep.get_protocol_short_string()
Simple_Sweep.get_protocol_string()
Simple_Sweep.update_used_devices()
Simple_Sweep.update_variables()
Simple_Sweep_Config
- nomad_camels.loop_steps.wait_loop_step module
- Module contents
- nomad_camels.main_classes package
- Submodules
- nomad_camels.main_classes.device_class module
Connection_Config
Device
Device.name
Device.virtual
Device.tags
Device.ophyd_class_name
Device.settings
Device.config
Device.channels
Device.controls
Device.get_additional_info()
Device.get_additional_string()
Device.get_channels()
Device.get_config()
Device.get_controls()
Device.get_finalize_steps()
Device.get_necessary_devices()
Device.get_non_channel_functions()
Device.get_passive_config()
Device.get_settings()
Device.get_special_steps()
Device_Config
Device_Config.adjust_text_edit_size()
Device_Config.connection_type_changed()
Device_Config.eln_connection_button_clicked()
Device_Config.get_config()
Device_Config.get_info()
Device_Config.get_settings()
Device_Config.load_settings()
Device_Config.name_change
Device_Config.showEvent()
Device_Config.staticMetaObject
Device_Config_Sub
Local_VISA
Simple_Config
Simple_Config_Sub
add_tooltip_from_name()
check_logged_in()
check_output()
get_channels()
get_configs()
get_outputs()
- nomad_camels.main_classes.list_plot module
- nomad_camels.main_classes.loop_step module
Loop_Step
Loop_Step_Config
Loop_Step_Container
Loop_Step_Container.add_child()
Loop_Step_Container.append_to_model()
Loop_Step_Container.get_add_main_string()
Loop_Step_Container.get_children_strings()
Loop_Step_Container.get_outer_string()
Loop_Step_Container.get_protocol_short_string()
Loop_Step_Container.get_protocol_string()
Loop_Step_Container.remove_child()
Loop_Step_Container.update_time_weight()
Loop_Step_Container.update_used_devices()
Loop_Step_Container.update_variables()
Loop_Step_Name_Widget
- nomad_camels.main_classes.manual_control module
Manual_Control
Manual_Control.name
Manual_Control.device
Manual_Control.device_list
Manual_Control.ophyd_device
Manual_Control.closeEvent()
Manual_Control.closing
Manual_Control.device_ready()
Manual_Control.propagate_exception()
Manual_Control.start_device()
Manual_Control.start_multiple_devices()
Manual_Control.staticMetaObject
Manual_Control_Config
- nomad_camels.main_classes.measurement_channel module
- nomad_camels.main_classes.plot_2D module
- nomad_camels.main_classes.plot_plotly module
- nomad_camels.main_classes.plot_proxy module
- nomad_camels.main_classes.plot_pyqtgraph module
- nomad_camels.main_classes.plot_widget module
Fit_Ophyd
Fit_Ophyd.a
Fit_Ophyd.b
Fit_Ophyd.c
Fit_Ophyd.component_names
Fit_Ophyd.covar
Fit_Ophyd.d
Fit_Ophyd.e
Fit_Ophyd.f
Fit_Ophyd.g
Fit_Ophyd.h
Fit_Ophyd.i
Fit_Ophyd.j
Fit_Ophyd.k
Fit_Ophyd.l
Fit_Ophyd.m
Fit_Ophyd.n
Fit_Ophyd.o
Fit_Ophyd.p
Fit_Ophyd.q
Fit_Ophyd.r
Fit_Ophyd.read()
Fit_Ophyd.read_ready
Fit_Ophyd.subscriptions
Fit_Ophyd.update_data()
Fit_Plot_No_Init_Guess
Fit_Signal
LiveFit_Eva
MPLwidget
MultiLivePlot
MultiPlot_NoBluesky
PlotWidget
PlotWidget.ax
PlotWidget.x_name
PlotWidget.y_names
PlotWidget.stream_name
PlotWidget.fits
PlotWidget.liveFits
PlotWidget.liveFitPlots
PlotWidget.livePlot
PlotWidget.toolbar
PlotWidget.pushButton_show_options
PlotWidget.pushButton_autoscale
PlotWidget.plot_options
PlotWidget.options_open
PlotWidget.autoscale()
PlotWidget.change_maxlen()
PlotWidget.clear_plot()
PlotWidget.closeEvent()
PlotWidget.closing
PlotWidget.show_options()
PlotWidget.staticMetaObject
PlotWidget_NoBluesky
Plot_Options
activate_dark_mode()
- nomad_camels.main_classes.protocol_class module
General_Protocol_Settings
General_Protocol_Settings.add_variable()
General_Protocol_Settings.adjust_text_edit_size_prot()
General_Protocol_Settings.check_use_ending_steps()
General_Protocol_Settings.enable_disable_config()
General_Protocol_Settings.name_change()
General_Protocol_Settings.name_changed
General_Protocol_Settings.remove_variable()
General_Protocol_Settings.showEvent()
General_Protocol_Settings.staticMetaObject
General_Protocol_Settings.update_step_config()
General_Protocol_Settings.update_variable_select()
Measurement_Protocol
Measurement_Protocol.description
Measurement_Protocol.export_csv
Measurement_Protocol.export_json
Measurement_Protocol.session_name
Measurement_Protocol.loop_steps
Measurement_Protocol.loop_step_dict
Measurement_Protocol.plots
Measurement_Protocol.filename
Measurement_Protocol.variables
Measurement_Protocol.loop_step_variables
Measurement_Protocol.channels
Measurement_Protocol.name
Measurement_Protocol.use_nexus
Measurement_Protocol.add_loop_step()
Measurement_Protocol.add_loop_step_rec()
Measurement_Protocol.get_add_main_string()
Measurement_Protocol.get_live_interaction_string()
Measurement_Protocol.get_outer_string()
Measurement_Protocol.get_plan_string()
Measurement_Protocol.get_short_string()
Measurement_Protocol.get_total_steps()
Measurement_Protocol.get_used_devices()
Measurement_Protocol.load_loop_steps()
Measurement_Protocol.make_step()
Measurement_Protocol.rearrange_loop_steps()
Measurement_Protocol.remove_loop_step()
Measurement_Protocol.update_variables()
append_all_children()
update_all_children()
- Module contents
- nomad_camels.manual_controls package
- nomad_camels.nomad_integration package
- nomad_camels.tests package
- nomad_camels.tools package
- nomad_camels.ui_widgets package
- Submodules
- nomad_camels.ui_widgets.add_remove_table module
AddRemoveDialoge
AddRemoveTable
AddRemoveTable.add()
AddRemoveTable.added
AddRemoveTable.append_variable()
AddRemoveTable.change_table_data()
AddRemoveTable.check_selection()
AddRemoveTable.check_string()
AddRemoveTable.context_menu()
AddRemoveTable.filter_actions()
AddRemoveTable.insert_variable()
AddRemoveTable.load_table_data()
AddRemoveTable.remove()
AddRemoveTable.removed
AddRemoveTable.sizechange
AddRemoveTable.staticMetaObject
AddRemoveTable.update_max_hight()
AddRemoveTable.update_table_data()
MultiTableDialog
- nomad_camels.ui_widgets.channels_check_table module
Call_Functions_Table
Channels_Check_Table
Channels_Check_Table.append_variable()
Channels_Check_Table.build_channels_table()
Channels_Check_Table.change_search()
Channels_Check_Table.check_change()
Channels_Check_Table.check_string()
Channels_Check_Table.context_menu()
Channels_Check_Table.filter_actions()
Channels_Check_Table.get_info()
Channels_Check_Table.insert_variable()
Channels_Check_Table.staticMetaObject
Channels_Check_Table.update_info()
- nomad_camels.ui_widgets.console_redirect module
- nomad_camels.ui_widgets.drag_drop_tree_view module
- nomad_camels.ui_widgets.options_run_button module
Dots_Button
Options_Run_Button
Options_Run_Button.build_asked
Options_Run_Button.data_path_asked
Options_Run_Button.del_asked
Options_Run_Button.delete_button()
Options_Run_Button.external_asked
Options_Run_Button.mouseMoveEvent()
Options_Run_Button.move_asked
Options_Run_Button.move_button()
Options_Run_Button.options_menu()
Options_Run_Button.rename()
Options_Run_Button.staticMetaObject
Options_Run_Button.update_functions()
SimpleWrapLabel
- nomad_camels.ui_widgets.path_button_edit module
- nomad_camels.ui_widgets.run_queue module
RunQueue
RunQueue.add_item()
RunQueue.change_variable_table()
RunQueue.check_checkbox()
RunQueue.check_next_protocol()
RunQueue.paintEvent()
RunQueue.protocol_signal
RunQueue.remove_first()
RunQueue.remove_item()
RunQueue.remove_item_by_name()
RunQueue.staticMetaObject
RunQueue.update_order_list()
RunQueue.update_variables_queue()
RunWidget
- nomad_camels.ui_widgets.variable_table module
- nomad_camels.ui_widgets.variable_tool_tip_box module
- nomad_camels.ui_widgets.warn_popup module
- Module contents
- nomad_camels.utility package
- Submodules
- nomad_camels.utility.databroker_export module
- nomad_camels.utility.device_handling module
- nomad_camels.utility.dict_recursive_string module
- nomad_camels.utility.exception_hook module
- nomad_camels.utility.fit_variable_renaming module
- nomad_camels.utility.load_save_functions module
appdata_path
preset_path
backup_path
save_string_list
save_dict_skip
standard_pref
autosave_preset()
check_config_path()
get_most_recent_presets()
get_preferences()
get_preset_list()
get_save_str()
load_devices_dict()
load_protocol()
load_protocols_dict()
load_save_dict()
make_backup()
make_save_dict()
save_dictionary()
save_preferences()
save_preset()
update_config_path()
- nomad_camels.utility.load_save_helper_functions module
- nomad_camels.utility.logging_settings module
- nomad_camels.utility.number_formatting module
- nomad_camels.utility.password_widgets module
- nomad_camels.utility.plot_placement module
- nomad_camels.utility.qthreads module
- nomad_camels.utility.theme_changing module
- nomad_camels.utility.tqdm_progress_bar module
- nomad_camels.utility.treeView_functions module
- nomad_camels.utility.update_camels module
- nomad_camels.utility.variables_handling module
preset
device_driver_path
meas_files_path
CAMELS_path
preferences
protocols
protocol_variables
channels
loop_step_variables
devices
dark_mode
copied_step
read_channel_sets
read_channel_names
evaluation_functions_names
operator_names
add_actions_from_dict()
check_data_type()
check_eval()
check_variable_name()
get_color()
get_data()
get_eval()
get_menus()
get_non_channel_functions()
get_output_channels()
get_write_from_data_type()
open_link()
- Module contents
Submodules
nomad_camels.CAMELS_start module
- class nomad_camels.CAMELS_start.ImportThread(package_list=None)
Bases:
QThread
A thread dedicated to importing packages required by the main application.
This thread emits progress updates and loading messages via signals while importing each package.
- run()
Execute the thread to import the specified packages.
This method iterates over the package list, emitting progress updates and messages. If an import error occurs (ModuleNotFoundError or AttributeError), it is silently ignored. Finally, it imports the main application module.
- staticMetaObject = PySide6.QtCore.QMetaObject("ImportThread" inherits "QThread": Methods: #12 type=Signal, signature=update_progress(int), parameters=int #13 type=Signal, signature=update_text(QString), parameters=QString )
- update_progress
- update_text
- class nomad_camels.CAMELS_start.LoadingScreen
Bases:
QDialog
A loading screen dialog that is displayed while the main application is starting up.
This screen shows an image, a loading text label, and a progress bar that updates as packages are imported and the application loads.
- set_progress(value)
Update the progress bar with the given value.
- Parameters:
value (int) – The new value for the progress bar (typically 0 to 100).
- set_text(text)
Update the loading text displayed on the screen.
- Parameters:
text (str) – The new text to display in the label.
- staticMetaObject = PySide6.QtCore.QMetaObject("LoadingScreen" inherits "QDialog": )
- nomad_camels.CAMELS_start.start_camels(start_proxy_bool=True)
Launch the NOMAD CAMELS application with a loading screen.
- This function performs the following steps:
Checks if a QCoreApplication instance exists and creates one if needed.
Displays the loading screen.
Reads the list of startup packages from a file (if available).
Starts a separate thread to import the packages with progress updates.
Processes application events until the import thread completes.
Saves the currently loaded modules to the startup package file.
Sets up the main window and exception hook.
Launches the main application event loop.
nomad_camels.MainApp_v2 module
The main window of the program. It contains all the other classes and is the main interface for the user.
- class nomad_camels.MainApp_v2.MainWindow(parent=None, start_proxy_bool=True)
Bases:
Ui_MainWindow
,QMainWindow
Main window for the NOMAD CAMELS application.
This class connects to all the other components and handles user interactions, protocol execution, device management, and various settings/preferences.
- add_button_to_manuals(name, tab='')
Add a button for a manual control in the manual controls area.
- Parameters:
name (str) – The name of the manual control.
tab (str, optional) – The tab where the button should be added. Defaults to the active tab.
- add_button_to_meas(name, tab='')
Add a button for a measurement protocol to the measurement controls area.
- Parameters:
name (str) – The name of the protocol.
tab (str, optional) – The tab to add the button to; defaults to the active tab.
- add_functions_to_manual_button(button, name)
Connect functions to a manual control button.
Functions include opening configuration, starting, deleting, and moving the manual control.
- Parameters:
button (Options_Run_Button) – The button to update.
name (str) – The name of the manual control.
- add_functions_to_meas_button(button, name)
Connect functions to a measurement protocol button.
Functions include configuration, running, building, opening, data path access, deletion, moving, and queuing the protocol.
- Parameters:
button (Options_Run_Button) – The protocol button to update.
name (str) – The name of the protocol.
- add_manual_control()
Open a dialog to add a new manual control.
On acceptance, adds the control data to the manual controls.
- add_manual_control_to_data(control_data)
Add a manual control using the provided control data.
- Parameters:
control_data (dict) – Data for the manual control to add.
- add_measurement_protocol()
Open an empty protocol configuration dialog.
On acceptance, the protocol is added to the protocols data.
- add_prot_to_data(protocol)
Add a measurement protocol to the protocols dictionary.
Also adds a corresponding button to the measurement controls area.
- Parameters:
protocol (Measurement_Protocol) – The protocol to add.
- add_subs_and_plots_from_dict(dictionary)
Recursively add subscriptions and plots from a dictionary.
The dictionary may contain keys ‘subs’ and ‘plots’ or nested dictionaries.
- Parameters:
dictionary (dict) – Dictionary containing subscriptions and plots.
- add_tag()
Add a tag from the line edit to the flow layout.
Reads the text from the tag line edit, creates a TagWidget if the text is not empty, adds it to the layout, and clears the line edit.
- add_to_open_windows(window)
Add a window to the list of open windows.
Connects the window’s closing signal to remove it from the list when closed.
- Parameters:
window (QWidget) – The window to add.
- add_to_plots(plot)
Add a plot to the list of open plots and to the list of open windows.
Connects signals so that when the plot is closed or reopened, the lists are updated.
- Parameters:
plot (QWidget) – The plot to add.
- bluesky_setup()
Set up the Bluesky RunEngine and databroker catalog.
This method is called when the first protocol is run and configures the run engine with callbacks, loads the databroker catalog, and subscribes to events.
- build_protocol(protocol_name, ask_file=True, variables=None)
Build the protocol file for the specified protocol.
Calls the protocol builder to export the protocol as a Python file.
- Parameters:
protocol_name (str) – The name of the protocol.
ask_file (bool, optional) – Whether to prompt for a file location. Defaults to True.
variables (Optional[dict], optional) – Optional variables to override protocol defaults. Defaults to None.
- change_catalog_name()
Change the name of the databroker catalog.
If the catalog does not exist, a temporary catalog is used.
- change_preferences()
Open the settings dialog to change preferences.
On acceptance, updates the preferences dictionary, saves it, and updates the dependent settings.
- change_preset(preset)
Save the current preset and load a new one.
- Parameters:
preset (str) – The name of the new preset to load.
- change_theme()
Change the graphic theme of the application based on the current preferences.
- change_user()
Update the active user when the user selection changes.
Also refreshes the samples shown.
- change_user_type()
Adjust UI elements based on the selected user type.
For example, shows NOMAD login button if NOMAD user is selected.
- change_variables_queued_protocol(protocol_name, variables, index)
Update variables of an already queued protocol (called by the API).
- Parameters:
protocol_name (str) – The protocol name.
variables (dict) – The updated variables.
index (int) – The index of the protocol in the queue.
- check_password_protection()
Check for password protection and prompt for a password if enabled.
- Returns:
True if there is no password protection or if the entered password is correct, False otherwise.
- Return type:
bool
- clear_fastapi_thread(*args)
Clear the FastAPI server thread if an error occurs.
Also displays a warning popup indicating the server failed to start.
- close() bool
Overwrite the close method to save state when closing the window.
- Returns:
The result of the parent’s close() method.
- Return type:
bool
- closeEvent(a0)
Handle the close event by closing all open windows, stopping the API server, and saving the state if autosave is enabled.
- Parameters:
a0 (QCloseEvent) – The close event.
- close_manual_control(control, name)
Handle the closing of a manual control.
Removes the control from the list of open windows and re-enables its button.
- Parameters:
control (Manual_Control) – The control that is closing.
name (str) – The name of the manual control.
- close_old_queue_devices()
Close devices from previously queued protocols that are not used in the current protocol.
- close_plots()
Close all currently open plots and reset plot placement variables.
- close_unused_instantiated_devices()
Close devices that were instantiated but are no longer in use.
Called after stopping protocols that were queued.
- edit_sample_info()
Open a dialog to edit sample information.
The dialog displays sample data such as name, identifier, and description. On acceptance, updates the sample data.
- edit_user_info()
Open a dialog to edit user information.
The dialog displays user data such as name, email, affiliation, ORCID, phone number etc. On acceptance, updates the user data.
- fake_signal
- get_sample_name_data()
Retrieve the current sample name and associated data.
- Returns:
A tuple containing the sample name and sample data dictionary.
- Return type:
tuple
- get_user_name_data()
Retrieve the current user name and associated data.
- Returns:
A tuple containing the user name and user data dictionary.
- Return type:
tuple
- import_measurement_protocol()
Import a protocol from a file.
Opens a file dialog to select a protocol file (.cprot), then loads and opens its configuration dialog.
- launch_data_exporter()
Launch the data exporter dialog.
Opens a dialog to assist in exporting data from the databroker.
- launch_device_builder()
Launch the device driver builder dialog.
Opens a dialog to assist in building device drivers.
- launch_epics_builder()
Launch the EPICS driver builder dialog.
Opens a dialog to assist in building EPICS drivers.
- launch_hdf5_exporter()
Launch the HDF5 exporter dialog.
Opens a dialog to assist in exporting HDF5 files.
- load_backup_preset()
Load a preset from the backup folder via a file dialog.
If a backup is selected, the current preset is first saved, then the backup is loaded.
- load_extensions()
Load extensions as specified in the preferences.
If no extensions are specified, defaults are added. Paths are added to sys.path and each extension is imported and instantiated with the required contexts.
- load_preferences()
Load application preferences.
Those may contain: - autosave: turn on / off autosave on closing the program. - dark_mode: turning dark-mode on / off. - number_format: the number format for display, can be either “mixed”, “plain” or “scientific”. - mixed_from: the exponent from where to switch to scientific format, if number_format is “mixed”. - n_decimals: the number of displayed decimals of a number. - py_files_path: the path, where python files (e.g. protocols) are created. - meas_files_path: the path, where measurement data is stored. - device_driver_path: the path, where NOMAD CAMELS can find the installed devices. - databroker_catalog_name: the name of the databroker catalog After loading, the dependent settings are updated.
- load_preset(preset)
Load the specified preset from file.
Resets active instruments, protocols, manual controls, and updates the UI accordingly.
- Parameters:
preset (str) – The name or path of the preset to load.
- load_sample_data()
Load sample data from a JSON file.
Sets the active sample and updates the sample data dictionary.
- load_state()
Load the most recent preset.
If the most recent preset fails to load, attempts to load the second most recent preset.
- load_user_data()
Load user data from a JSON file.
Sets the active user and updates the user data dictionary.
- login_logout_nomad()
Handle logging in/out of NOMAD when the corresponding button is clicked.
Depending on the current state, either logs out or initiates the login process.
- login_nomad()
Handle the login process to NOMAD.
If login is successful, updates the UI to reflect NOMAD-related controls.
- make_save_dict()
Create the dictionary to be saved for the current preset.
This includes active instruments, protocols, manual controls, and tabs.
- manage_extensions()
Open the extension manager dialog.
Requires password protection if enabled. On successful changes, prompts for a restart.
- manage_instruments()
Open the instrument manager dialog.
Allows users to add or remove instruments. After the dialog, the active instruments are updated.
- move_manual_control(control_name)
Move a manual control to another tab.
Opens a dialog to select a new tab, and if different from the current tab, moves the control.
- Parameters:
control_name (str) – The name of the manual control to move.
- move_protocol(protocol_name)
Move a protocol to a different tab.
Opens a move dialog to choose a new tab and moves the protocol button accordingly.
- Parameters:
protocol_name (str) – The name of the protocol to move.
- new_preset()
Create a new, empty device preset via a file dialog.
Saves the new preset and reloads the state.
- next_queued_protocol(protocol_name, variables, api_uuid=None)
Run the next queued protocol if the run engine is idle.
- Parameters:
protocol_name (str) – The name of the protocol.
variables (dict) – The variables for the protocol.
api_uuid (Optional[str]) – The API unique identifier, defaults to None.
- open_data_path(protocol_name)
Open the data path for a protocol in the file explorer.
- Parameters:
protocol_name (str) – The name of the protocol.
- open_manual_control_config(control_name)
Open the configuration dialog for a manual control.
If the dialog is accepted, updates the manual control data accordingly.
- Parameters:
control_name (str) – The name of the manual control to configure.
- open_protocol(protocol_name)
Open the protocol file in the default editor.
If the protocol file does not exist, it is built first.
- Parameters:
protocol_name (str) – The name of the protocol to open.
- open_protocol_config(prot_name)
Open the configuration dialog for a protocol.
If the dialog is accepted, updates the protocol data.
- Parameters:
prot_name (str) – The name of the protocol to configure.
- open_watchdog_definition()
Open the watchdog definition dialog.
Disconnects active watchdog signals, shows the dialog, and then updates watchdogs.
- pause_protocol()
Pause the currently running protocol.
Requests the run engine to pause and updates the UI buttons accordingly.
- play_finished_sound()
- populate_manuals_buttons()
Populate the manual controls area with buttons for each manual control.
Clears the area and then adds buttons according to the current manual controls data.
- populate_meas_buttons()
Populate the measurement protocols area with buttons.
Clears the area and then adds buttons for each protocol.
- propagate_exception(exception)
Handle exceptions raised during device instantiation.
Calls protocol_finished and then raises the exception.
- Parameters:
exception (Exception) – The exception that was raised.
- protocol_finished(*args)
Handle the end of protocol execution.
Removes subscriptions, cleans up devices, checks if a queued protocol should be run next, and performs final UI updates.
- protocol_finished_part_2()
- protocol_finished_signal
- protocol_stepper_signal
- queue_protocol(protocol_name, api_uuid=None)
Add a protocol to the execution queue.
Updates the run queue widget and makes it visible.
- Parameters:
protocol_name (str) – The name of the protocol to queue.
api_uuid (Optional[str], optional) – The API unique identifier, defaults to None.
- queue_protocol_with_variables_signal(protocol_name, variables, index, api_uuid)
Update variables for a queued protocol (called by the API).
- Parameters:
protocol_name (str) – The name of the protocol.
variables (dict) – The variables to update.
index (int) – The index in the queue.
api_uuid (str) – The API unique identifier.
- remove_manual_control(control_name)
Remove a manual control from the manual controls list and update the UI.
- Parameters:
control_name (str) – The name of the manual control to remove.
- remove_protocol(prot_name)
Remove a protocol from the protocols dictionary and update the UI.
- Parameters:
prot_name (str) – The name of the protocol to remove.
- remove_queue_protocol(protocol_name)
Remove a protocol from the run queue (called by the API).
- Parameters:
protocol_name (str) – The name of the protocol to remove.
- resume_protocol()
Resume a paused protocol.
Updates the UI buttons and instructs the run engine to resume.
- run_done_file_signal
- run_protocol(protocol_name, api_uuid=None, variables=None)
Run a measurement protocol.
Builds and imports the protocol file, instantiates required devices, and executes the protocol. Manages UI updates and handles NOMAD uploads if applicable.
- Parameters:
protocol_name (str) – The name of the protocol to run.
api_uuid (Optional[str]) – The API unique identifier, defaults to None.
variables (Optional[dict]) – Variables for the protocol, defaults to None.
- run_protocol_part2(api_uuid=None)
Continue running the protocol after devices are instantiated.
Executes the main protocol steps, sets up live windows and subscriptions, and handles NOMAD uploads if applicable.
- Parameters:
api_uuid (Optional[str]) – The API unique identifier, defaults to None.
- save_preset_as()
Save the current preset under a new name via a file dialog.
A backup/autosave is performed automatically.
- save_sample_data()
Save the current sample data to a JSON file.
The active sample is saved along with the complete sample data dictionary.
- save_state(fromload=False, do_backup=True)
Save the current application state.
Saves the device preset along with user and sample data. Optionally creates a backup.
- Parameters:
fromload (bool, optional) – Indicates if the save is triggered from a load operation. Defaults to False.
do_backup (bool, optional) – Indicates whether to perform a backup. Defaults to True.
- save_user_data()
Save the current user data to a JSON file.
The active user is saved along with the complete user data dictionary.
- select_nomad_sample()
Open a dialog to select a sample from NOMAD.
Updates the NOMAD sample and updates the corresponding UI elements.
- set_checkbox(protocol_name)
Check the checkbox of a protocol in the run queue (called by the API).
- Parameters:
protocol_name (str) – The name of the protocol whose checkbox is to be set.
- set_sample(sample_name)
Set the active sample to the specified sample name (called by the API).
- Parameters:
sample_name (str) – The name of the sample to set.
- Raises:
ValueError – If the given sample does not exist in the sample data.
- set_session(session_name)
Set the active session name (called by the API).
- Parameters:
session_name (str) – The session name to set.
- set_user(user_name)
Set the active user to the specified user name (called by the API).
- Parameters:
user_name (str) – The name of the user to set.
- Raises:
ValueError – If the given user does not exist in the user data.
- show_hide_log()
Toggle the visibility of the console log and clear log button.
If the log is hidden, it becomes visible, and vice versa. Also updates the text of the show/hide button.
- show_nomad_sample()
Show or hide NOMAD sample settings based on user selection and NOMAD login status.
Updates the sample widget display and enables/disables the NOMAD sample selection button.
- show_nomad_upload()
Show or hide NOMAD upload settings based on whether a NOMAD user is logged in.
Updates UI elements related to uploading data to NOMAD.
- start_API_server(api_port)
Start the FastAPI server on the specified port.
This method initializes and starts a FastAPI thread for remote API control, and connects its signals to various slot functions in the main window. The API emits signals to the main app to perform most of the tasks like queuing and starting protocols. You can enable the API and set the port in the Settings Window of CAMELS.
- Parameters:
api_port (int) – The port number on which to start the API server.
- start_manual_control(name)
Start a manual control.
Instantiates the control class and opens it in a new window. Also disables the single-run button.
- Parameters:
name (str) – The name of the manual control to start.
- start_timer_signal
- staticMetaObject = PySide6.QtCore.QMetaObject("MainWindow" inherits "QMainWindow": Methods: #39 type=Signal, signature=protocol_stepper_signal(int), parameters=int #40 type=Signal, signature=run_done_file_signal(QString), parameters=QString #41 type=Signal, signature=fake_signal(int), parameters=int #42 type=Signal, signature=protocol_finished_signal() #43 type=Signal, signature=start_timer_signal() )
- stop_API_server()
Stop the FastAPI server if it is running.
- stop_protocol()
Stop the currently running protocol.
Aborts the run engine, and if necessary, runs the end protocol. Also handles cleanup of device threads.
- toggle_dark_mode()
Toggle dark mode on or off based on the preferences.
- update_channels()
Update the channels information from the active instruments.
Clears existing channels in variables_handling and updates with channels from each active device.
- update_live_variables(variables)
Update live variables during protocol execution.
- Parameters:
variables (dict) – The new values for the live variables.
- update_man_cont_data(control_data, old_name)
Update data for a manual control.
Removes the old entry and updates it with the new control data, renaming buttons accordingly.
- Parameters:
control_data (dict) – The updated manual control data.
old_name (str) – The previous name of the manual control.
- update_preference_settings()
Update settings that depend on the preferences.
This includes number formatting, device driver path, databroker catalog name, and graphic theme.
- update_prot_data(protocol, old_name)
Update the data of a protocol.
Removes the old protocol entry and replaces it with the updated one, renaming buttons accordingly.
- Parameters:
protocol (Measurement_Protocol) – The updated protocol.
old_name (str) – The old name of the protocol.
- update_shown_samples()
Refresh the sample combobox with samples that are owned by the active user or have no owner.
- update_watchdogs()
Update watchdogs by connecting their condition_met signals to the watchdog_triggered slot.
- watchdog_triggered(watchdog)
Handle a triggered watchdog condition.
Pauses the protocol, executes the watchdog protocol if defined, and shows a warning popup.
- Parameters:
watchdog (Watchdog) – The triggered watchdog object.
- with_or_without_instruments()
Check if active instruments are available and update the UI accordingly.
Hides protocol and manual controls if no instruments are active.