The widgets.selection sub-package#

Package with widgets which allow the selection of a specific element.

class pydidas.widgets.selection.ConfigureBinaryDecodingWidget(**kwargs: Any)#

Bases: WidgetWithParameterCollection, AssociatedFileMixin

A widget to configure the decoding of raw binary files.

The widget allows to set the datatype, shape, and header offset of the binary file which is required to decode the file correctly.

Parameters:

**kwargs (Any) –

Any additional keyword arguments. In addition to all QAttributes supported by QWidget, see below for supported arguments:

paramsParameterCollection, optional

A ParameterCollection with Parameters to share with this widget. If not given, new Parameters will be created.

property datatype: type[dtype]#

Get the current datatype selected for decoding.

property decoding_is_valid: bool#

Get the flag whether the current decoding settings are valid.

set_new_filename(filename: str | Path) None#

Process a new filename.

If the new filename has a suffix associated with raw binary files, show the widget.

Parameters:

filename (Path or str) – The full file system path to the new file.

class pydidas.widgets.selection.DirectoryExplorer(**kwargs: Any)#

Bases: WidgetWithParameterCollection

The DirectoryExplorer is an implementation of a QTreeView widget with a file system model to display the contents of directories.

Parameters:

**kwargs (Any) –

Supported keywords are any keywords that are supported by QTreeView as well as:

parentQtWidgets.QWidget or None, optional

The parent widget, if applicable. The default is None.

current_pathstr, optional

The default path in the file system. The default is ‘’.

sizeHint() QSize#

Overload the generic sizeHint.

Returns:

The updated size hint.

Return type:

QtCore.QSize

class pydidas.widgets.selection.Hdf5DatasetSelector(**kwargs: Any)#

Bases: WidgetWithParameterCollection

A compound widget to select datasets in Hdf5 files.

The Hdf5DatasetSelector is a compound widget which allows to select a hdf5 dataset key and the frame number. By convention, the first dimension of an n-dimensional (n >= 3) dataset is the frame number. Any 2-dimensional datasets will be interpreted as single frames.

Parameters:

**kwargs (Any) –

Any additional keyword arguments. See below for supported arguments.

dataset_filter_keysdict, optional

A dictionary with dataset keys to be filtered from the list of displayed datasets. Entries must be in the format {<Key to filter>: <Descriptive text for checkbox>}. The default is the built-in dict with detector-specific filter keys.

dataset_filter_exceptionsdict, optional

A dictionary with lists of dataset keys which are exceptions to the filter keys. Entries must be in the format {<Filter key>: [<Exception key 1>, <Exception key 2>, …]}. The default is the built-in dict with detector-specific exceptions.

property active_filters: list[str]#

Get the list of currently active dataset filters.

clear() None#

Clear all entries for the widget.

property dataset: str#

Get the currently selected dataset.

display_dataset() None#

Select a dataset from the drop-down list.

This internal method is called by the Qt event system if the QComBoBox text has changed to notify the main program that the user has selected a different dataset to be visualized. This method also updates the accepted frame range for the sliders.

property dset_filter_exceptions: list[str]#

Get the list of dataset keys which are exceptions to the active filters.

new_filename(filename: str | Path) None#

Process the new filename.

If the new filename has a suffix associated with hdf5 files, show the widget.

Parameters:

filename (str or Path) – The full file system path to the new file.

class pydidas.widgets.selection.SelectDataFrameWidget(**kwargs: Any)#

Bases: WidgetWithParameterCollection, AssociatedFileMixin

A widget which allows to select a data frame from a file.

Parameters:

**kwargs (Any) –

Supported keyword arguments are;

parentQWidget or None, optional

The parent widget. The default is None.

import_referencestr or None, optional

The reference for the file dialogue to store persistent settings. If None, no persistent settings are stored. The default is None.

ndimint, optional

The number of dimensions of the data to be imported. The default is 2.

filenameParameter or None, optional

A Parameter to use for the filename selection. If None, a default Parameter will be created. The default is None.

font_metric_width_factorint or None, optional

An optional factor to modify the width of text elements in the widget based on the font metrics. If None, the default width for the used Parameter widgets is applied. The default is None.

connect_signals() None#

Connect the widget signals to the relevant slots.

process_new_filename() None#

Process the input of a new filename in the Parameter widget.

class pydidas.widgets.selection.ToggleOptionsButton(*args: Any, **kwargs: Any)#

Bases: PydidasPushButton

Widget to show or hide a linked widget.

This button provides a convenient way to toggle the visibility of an optional advanced options widget. It manages the visibility state, updates its own text and icon to reflect the current state, and synchronizes the visibility of any linked widget.

Parameters:
  • linked_widget_visible (bool, optional) – Initial visibility state. Default is False.

  • toggle_text_shown (str, optional) – Text shown when options are hidden. Default is “Show advanced options”.

  • toggle_text_hidden (str, optional) – Text shown when options are visible. Default is “Hide advanced options”.

  • linked_widget (QtWidgets.QWidget or None, optional) – Widget to control visibility. Default is None.

property current_icon: QIcon#

Get the currently correct icon.

Returns:

The icon corresponding to the current status.

Return type:

QtGui.QIcon

property linked_widget: QWidget | None#

Get the linked widget.

Returns:

The linked widget, if applicable, or None.

Return type:

QtWidgets.QWidget or None

property linked_widget_visible: bool#

Get the advanced visibility status.

Returns:

The advanced visibility status.

Return type:

bool

set_linked_widget(widget: QWidget | None) None#

Set the linked widget. This is an alias for the linked_widget property.

Parameters:

widget (QtWidgets.QWidget or None) – The widget to link.

toggle_state() None#

Toggle the advanced visibility state.

This slot toggles the linked widget visibility status. When called, it inverts the current linked_widget_visible property, which in turn updates the button text, icon, and the visibility of any linked widget.