populse_mia.user_interface.data_viewer package¶
Handle the data viewer tab, for advanced visualisation (in 2D and 3D modes, overlay, etc.) of volumetric medical data.
- Contains:
- Module:
anatomist
anatomist_2
data_viewer
data_viewer_tab
Subpackages¶
- populse_mia.user_interface.data_viewer.anatomist package
- populse_mia.user_interface.data_viewer.anatomist_2 package
- Submodules
- populse_mia.user_interface.data_viewer.anatomist_2.anasimpleviewer2 module
- populse_mia.user_interface.data_viewer.anatomist_2.mia_anatomist module
- populse_mia.user_interface.data_viewer.anatomist_2.resources module
- populse_mia.user_interface.data_viewer.anatomist_2.resources_snd_window module
- populse_mia.user_interface.data_viewer.anatomist_2.snd_window module
Submodules¶
populse_mia.user_interface.data_viewer.data_viewer module¶
This module provides an abstract base class for data viewer implemenataions in populse_mia.
Data viewers are supposed to inherit DataViewer and implement (at
least) its methods. A data viewer is given a project and documents list, and is
thus allowed to access databasing features and documents attributes.
Coding a data viewer¶
A data viewer is identified after its module name, and is currently searched
for as a submodule of populse_mia.user_interface.data_viewer. The
data viewer module may be implemented as a “regular” module (.py file) or a
package (directory) and should contain at least a
class named MiaViewer which:
is a Qt
QWidget(inheritsQWidgetas 1st inheritance as is required by Qt)implements the
DataViewerAPI (normally by inheriting it as second inheritance afterQWidgetbut this is not technically required if the API is implemented)
- class populse_mia.user_interface.data_viewer.data_viewer.DataViewer[source]¶
Bases:
ABC,QWidgetAn abstract base class for data viewers with a minimal, extensible API.
This class defines a standard interface for data viewers, allowing subclasses to implement custom visualization strategies. The base methods provide a simple contract for managing and displaying documents across different viewer implementations.
The API is intentionally kept simple to provide flexibility for specific use cases while ensuring a consistent basic functionality.
- clear()[source]¶
Remove all currently displayed files.
This method provides a default implementation that removes all files currently being displayed by calling remove_files().
- close()[source]¶
Close the viewer by clearing all displayed files.
This method provides a standard way to clean up and close the viewer, ensuring all resources are released.
- abstract display_files(files)[source]¶
Display the specified document files.
This method must be implemented by subclasses to define how files are visually presented or loaded.
- Parameters:
(List) (files) – A list of files to be displayed.
- Raises:
NotImplementedError: If not overridden by a subclass.
- abstract displayed_files()[source]¶
Retrieve the list of currently displayed files.
- Return (list):
A list of files currently being displayed.
- Raises:
NotImplementedError: If not overridden by a subclass.
populse_mia.user_interface.data_viewer.data_viewer_tab module¶
Populse_mia data viewer GUI interface (in the “Data Viewer” tab).
- Contains:
- Class:
DataViewerTab
- class populse_mia.user_interface.data_viewer.data_viewer_tab.DataViewerTab(main_window)[source]¶
Bases:
QWidgetA flexible and extensible widget for managing data viewers in a GUI application.
This widget provides a dynamic interface for loading and switching between different data viewers. Key features include: - Automatic discovery of viewers in the data_viewer directory - Graceful handling of viewer import failures - Ability to dynamically add new viewers - Centralized document and project management across viewers
- __init__(main_window)[source]¶
Initialize the DataViewerTab with a reference to the main window.
- Parameters:
(Qt.QMainWindow) (main_window) – The main application window providing context and potential shared resources.
- activate_viewer(viewer_name)[source]¶
Activate a specific viewer by name.
- Parameters:
(str) (viewer_name) – Name of the viewer to activate.
- change_viewer()[source]¶
Handle viewer change event triggered by the combobox.
Retrieves the selected viewer, activates it, and ensures that the current project and documents are set.
- clear()[source]¶
Clean up and close all loaded viewers.
Called before closing the application to ensure proper resource management.
- closeEvent(event)[source]¶
Override close event to ensure proper cleanup.
- Parameters:
(QCloseEvent) (event) – Close event triggered by the window system.
- current_viewer()[source]¶
Retrieve the name of the currently active viewer.
- Return (str):
Name of the current viewer, either from the current viewer tracking or the combobox selection.