spacr.gui_utils

Module Contents

spacr.gui_utils.initialize_cuda()[source]

Initializes CUDA in the main process by performing a simple GPU operation.

spacr.gui_utils.set_high_priority(process)[source]
spacr.gui_utils.set_cpu_affinity(process)[source]
spacr.gui_utils.proceed_with_app(root, app_name, app_func)[source]
spacr.gui_utils.load_app(root, app_name, app_func)[source]
spacr.gui_utils.parse_list(value)[source]

Parses a string representation of a list and returns the parsed list.

Parameters:

value (str) – The string representation of the list.

Returns:

The parsed list, which can contain integers, floats, or strings.

Return type:

list

Raises:

ValueError – If the input value is not a valid list format or contains mixed types or unsupported types.

spacr.gui_utils.create_input_field(frame, label_text, row, var_type='entry', options=None, default_value=None)[source]

Create an input field in the specified frame.

Parameters:
  • frame (tk.Frame) – The frame in which the input field will be created.

  • label_text (str) – The text to be displayed as the label for the input field.

  • row (int) – The row in which the input field will be placed.

  • var_type (str, optional) – The type of input field to create. Defaults to ‘entry’.

  • options (list, optional) – The list of options for a combo box input field. Defaults to None.

  • default_value (str, optional) – The default value for the input field. Defaults to None.

Returns:

A tuple containing the label, input widget, variable, and custom frame.

Return type:

tuple

Raises:

Exception – If an error occurs while creating the input field.

spacr.gui_utils.process_stdout_stderr(q)[source]

Redirect stdout and stderr to the queue q.

class spacr.gui_utils.WriteToQueue(q)[source]

Bases: io.TextIOBase

A custom file-like class that writes any output to a given queue. This can be used to redirect stdout and stderr.

q[source]
write(msg)[source]

Write string to stream. Returns the number of characters written (which is always equal to the length of the string).

flush()[source]

Flush write buffers, if applicable.

This is not implemented for read-only and non-blocking streams.

spacr.gui_utils.cancel_after_tasks(frame)[source]
spacr.gui_utils.annotate(settings)[source]
spacr.gui_utils.generate_annotate_fields(frame)[source]
spacr.gui_utils.run_annotate_app(vars_dict, parent_frame)[source]
spacr.gui_utils.global_image_refs = [][source]
spacr.gui_utils.annotate_app(parent_frame, settings)[source]
spacr.gui_utils.load_next_app(root)[source]
spacr.gui_utils.annotate_with_image_refs(settings, root, shutdown_callback)[source]
spacr.gui_utils.convert_settings_dict_for_gui(settings)[source]
spacr.gui_utils.spacrFigShow(fig_queue=None)[source]

Replacement for plt.show() that queues figures instead of displaying them.

spacr.gui_utils.function_gui_wrapper(function=None, settings={}, q=None, fig_queue=None, imports=1)[source]

Wraps the run_multiple_simulations function to integrate with GUI processes.

Parameters: - settings: dict, The settings for the run_multiple_simulations function. - q: multiprocessing.Queue, Queue for logging messages to the GUI. - fig_queue: multiprocessing.Queue, Queue for sending figures to the GUI.

spacr.gui_utils.run_function_gui(settings_type, settings, q, fig_queue, stop_requested)[source]
spacr.gui_utils.hide_all_settings(vars_dict, categories)[source]

Function to initially hide all settings in the GUI.

Parameters: - categories: dict, The categories of settings with their corresponding settings. - vars_dict: dict, The dictionary containing the settings and their corresponding widgets.

spacr.gui_utils.setup_frame(parent_frame)[source]
spacr.gui_utils.download_hug_dataset(q, vars_dict)[source]
spacr.gui_utils.download_dataset(q, repo_id, subfolder, local_dir=None, retries=5, delay=5)[source]

Downloads a dataset or settings files from Hugging Face and returns the local path.

Parameters:
  • repo_id (str) – The repository ID (e.g., ‘einarolafsson/toxo_mito’ or ‘einarolafsson/spacr_settings’).

  • subfolder (str) – The subfolder path within the repository (e.g., ‘plate1’ or the settings subfolder).

  • local_dir (str) – The local directory where the files will be saved. Defaults to the user’s home directory.

  • retries (int) – Number of retry attempts in case of failure.

  • delay (int) – Delay in seconds between retries.

Returns:

The local path to the downloaded files.

Return type:

str

spacr.gui_utils.ensure_after_tasks(frame)[source]
spacr.gui_utils.display_gif_in_plot_frame(gif_path, parent_frame)[source]

Display and zoom a GIF to fill the entire parent_frame, maintaining aspect ratio, with lazy resizing and caching.

spacr.gui_utils.display_media_in_plot_frame(media_path, parent_frame)[source]

Display an MP4, AVI, or GIF and play it on repeat in the parent_frame, fully filling the frame while maintaining aspect ratio.

spacr.gui_utils.print_widget_structure(widget, indent=0)[source]

Recursively print the widget structure.

spacr.gui_utils.get_screen_dimensions()[source]
spacr.gui_utils.convert_to_number(value)[source]

Converts a string value to an integer if possible, otherwise converts to a float.

Parameters:

value (str) – The string representation of the number.

Returns:

The converted number.

Return type:

int or float