Core - 3dct/open_iA GitHub Wiki
The core of open_iA provides functionality for loading and displaying datasets in several file formats, with a focus on volumetric datasets.
A dataset is loaded into a child window of the program's main window. open_iA is using a highly configurable interface composed of a variety of widgets (specialized views) showing different aspects of the currently loaded dataset(s). The main functionality of the core is to provide a 3D rendering widget for all loaded images, as well as three slice widgets showing axis-aligned slices. In addition, open_iA provides a widget for showing the image histogram chart, in which also the transfer function used for display in the slice views and the 3D renderer is configured. A profile plot widget shows the image intensity along a selected profile line:
Preferences
The settings button in the bottom toolbar (see above) or the Edit -> Preferences
menu entry provides access to several program-wide settings, such as:
- "Position marker size" (default: 3) - how large (in voxels) the position marker will be shown (currently only heeded in the slicer windows).
- "Print Parameters" (default: yes) - whether the parameters of a filter applied on an image should be shown in the log window.
- "Results in new window" (default: yes) - In its default enabled state, this setting causes filter results to be shown in a new child window; the image used as input for the filter will also still be available in its own child window (if dataset child windows are maximized, it will be hidden in the background; see the
Window
menu for a list ofOpen Windows
and ways to arrange multiple windows. If this is set to not checked, processing is performed "in place", that is, the existing child window is reused, and its image discarded after the filter is finished. - "Log level" (default: INFO) - the log level used for output to the "Log Messages" window
- "Log to file" (default: no) - Whether logs should be written to a logfile (in addition to the console window, which is opening when required and where messages are shown)
- "Log File Name" (default: "debug.log") - name of the file where the log is written when "Log to file" is enabled. In case it is not an absolute path, it is relative to the working directory used for starting open_iA (typically the directory where the executable resides).
- "File Log Level" (default: WARN) - filter for the log level of messages that should go into the log file; only messages with a log level higher or equal to what is set here will go into the log file.
- "Looks" (default: "Adapt to system theme") - choose between bright/dark system theme, an automatic selection of bright/dark theme based on operating system settings (default) or "None" (an experimental style representing the default Qt library style; this is not really tested so expect visual problems when choosing "None"!)
- "Font Size" (default: 8) - basic file size used in the graphical user interface.
- "Size limit for automatic 3D rendering (MB)" (default: 2000) - a limit for the dataset size; for datasets over this size (in MB), 3D rendering will not be automatically shown (to improve performance and to avoid problems with rendering volumes larger than GPU memory)
- "Axis colors" (Default X=red, Y=green, Z=blue) - color scheme for displaying x, y and z axis; this affects the axis cube, origin axis indicator and slice plane indicators in the "3D Renderer" widget, the as well as the background of the "Slicer" widgets when slice plane indicators in the 3D Renderer are enabled.
Widgets
These are the main widgets, which are always available:
- 3D Renderer
- 2D Slicers
- Histogram
- Dataset List
- Profile Plot
- Dataset Info: Shows a summary of the properties of all datasets currently loaded in this window.
More widgets can be added by additional Filters and Tools. Every widget has default buttons in the title bar:
images/dockwidget-titlebar-buttons.webp
From top to bottom, these buttons are:
- for closing (hiding) the widget,
- for splitting off from / reattaching the widget to its docked position,
- and for opening a browser with the documentation for that specific widget (there might be a few widgets without this button, where no separate documentation is available).
Widget Layout
You can open/close (show/hide) any of the widgets through the right-click-menu of any view's title bar:
images/dockwidgets_customize.png
You can drag and drop each widget to a new location to arrange them in any layout that you want. You can store layouts for future use via the Layout toolbar section (typically shown on bottom of the main window):
If you don't see the Layout toolbar section, you might have to switch it on through the toolbar's context menu as explained below under Toolbars.
In rare cases, the window layout might be in a problematic state, where a desired widget in a child window is not shown, even when it is selected to be shown. You can reset the layout through the menu entry Views -> Layout -> Reset
or the according button in the Layout toolbar:
images/toolbar-layout-reset.webp
Additionally, on the right of the main window, two separate widgets are typically shown:
- Log Messages: Shows a history of the actions performed since the start of the program.
- Job List: If any job is currently running, this widget shows its progress.
Their visibility and whether they pop up on new messages / jobs can be controlled through the Windows
menu.
Toolbars
The toolbar (by default shown at the bottom of the main window) provides access to often used functionality:
You can adapt the visibility of toolbar sections by right clicking anywhere on the toolbar and checking/unchecking the respective section:
images/toolbar-layout-show.webp
You can also hide the whole toolbar through the Windows -> Show Toolbars
menu entry.
Storing/Loading projects
If you want to store the current state (the files that are loaded in the current child window etc.) you can use the Save Project functionality from within the File menu. Restoring this stored state works by loading the project through e.g. Open in new window. Many of the tools within open_iA also hook into these projects and store their state within them as well.
Command line options
You can specify the following parameters when starting the open_iA GUI executable:
--separate
instructs the application to open all files specified on the command line in separate child windows.--quit N
quits the application N milliseconds after the last running operation (opening files and tools etc.) was finished- any parameter not starting with
--separate
or--quit
will be interpreted as filename, and the application will try to load it directly after starting.
Extend open_iA
open_iA can be extended through modules. A collection of default modules is included in open_iA. Such modules can provide Filters for image processing tasks, while task-centric modules are provided in modules providing Tools. You can easily extend open_iA by writing your own modules.