Structure of the manual
- 1. Introduction
- 2. Installation
- 2.1. Minimum system requirements
- 2.2. Installation from setup
- 2.3. Build from Sources
- 2.3.1. Build dependencies
- 2.3.2. Get sources from Git
- 2.3.3. Build with CMake
- 2.3.4. Build on linux
- 2.3.5. Build on Raspberry Pi
- 2.3.6. Build on Fedora
- 2.3.7. Build on CentOS
- 2.3.8. Build on Mac OS X
- 2.4. Plugins, Designer-Plugins
- 2.5. All-In-One development setup
- 2.6. All-In-One development creation
- 2.7. Get this help
- 3. Getting Started
- 3.1. Quick Start
- 3.1.1. The GUI
- 3.1.2. Connect to a hardware plugin using the GUI
- 3.1.3. Scripting
- 3.1.3.1. Hello World!
- 3.1.3.2. Get a camera snapshot
- 3.1.3.2.1. Step 1: Open the camera
- 3.1.3.2.2. Step 2: Get the list of parameters
- 3.1.3.2.3. Step 3: Setting Parameters
- 3.1.3.2.4. Step 4: Getting Parameters
- 3.1.3.2.5. Step 5: Taking a snapshot
- 3.1.3.2.6. Step 6: Displaying the image
- 3.1.3.2.7. Step 7: Stop/delete the camera
- 3.1.3.2.8. Alternative Step 1: Open the camera
- 3.1.3.3. Apply a median-filter to a snap shot
- 3.1.3.4. Getting online help
- 3.2. Further Information
- 3.3. Tutorials
- 3.1. Quick Start
- 4. The itom User Interface
- 4.1. Main Window
- 4.2. Script-Editor
- 4.3. Property Dialog
- 4.4. User Management
- 4.5. Python Package Manager
- 4.6. Python Timer Manager
- 5. Plots and Figures
- 5.1. Quick tutorial to plots and figures
- 5.2. Figure Management
- 5.3. Plot classes and default plots
- 5.4. line plots (1D)
- 5.5. image plots (2D)
- 5.6. isometric Plot
- 5.7. 3D plot
- 5.8. Markers in plots
- 5.9. Geometric shapes in 1D and 2D plots
- 5.10. Matplotlib
- 5.11. Markers, user selections and geometric shapes
- 6. Extending the user interface of itom
- 6.1. Customize the menu and toolbars of itom
- 6.2. Show messages, input boxes and default dialogs
- 6.3. Creating advanced dialogs and windows
- 6.3.1. Qt Designer
- 6.3.2. Loading user interface in itom
- 6.3.3. Accessing control elements
- 6.3.4. Getting and setting properties
- 6.3.5. Supported datatypes
- 6.3.6. Connecting signals
- 6.3.7. Calling slots
- 6.3.8. Connecting internal signals and slots in Qt Designer
- 6.3.9. Auto-connecting signals using python decorators
- 6.3.10. Debugging user interfaces and slot-methods
- 6.3.11. Access the status bar of a main window
- 6.3.12. Hints and limitations
- 6.4. Custom Designer Widgets
- 6.5. Implement a more complex GUI in a plugin (C/C++)
- 7. Plugins
- 7.1. Basic concept
- 7.2. How to use hardware plugins
- 7.3. Getting started with grabbers
- 7.4. Getting started with A/D converters
- 7.5. Getting started with actuators
- 7.6. Getting started with algorithm plugins a.k.a. filters
- 7.7. Development under C++
- 7.7.1. RetVal - The return type of itom methods
- 7.7.2. ItomSharedSemaphore
- 7.7.3. DataObject
- 7.7.3.1. Creating a data object
- 7.7.3.2. Addressing the elements of a data object
- 7.7.3.2.1. Direct access of one single element of a Data Object using at<_Tp>() method
- 7.7.3.2.2. Addressing elements of a data object using row pointer
- 7.7.3.2.3. Assigning a single value to all elements of a data object
- 7.7.3.2.4. Direct access to the underlying cv::Mat
- 7.7.3.2.5. Accessing all elements of a data object using iterators
- 7.7.3.3. Working with data objects
- 7.7.3.4. Copy data into an existing data object
- 7.7.3.5. Operations on data objects
- 7.7.4. Parameter-Container class of itom
- 7.7.5. Parameters - Meta Information
- 7.7.6. Parameters - Validation
- 7.7.7. Introduction to plugins
- 7.7.8. Plugin interface class
- 7.7.10. Plugin class - Basic information
- 7.7.11. Plugin class - DataIO
- 7.7.12. Plugin class - Actuator
- 7.7.13. Plugin class - Algo
- 7.7.13.1. Plugin-Structure
- 7.7.13.2. Factory-Class
- 7.7.13.3. Plugin-Class
- 7.7.13.4. Filter-Methods
- 7.7.13.5. Widget-Method (GUI-Extensions)
- 7.7.13.6. Publish Filter- and Widget-Methods at Initialization
- 7.7.13.7. Finish and close plugin
- 7.7.14. Create a new plugin via CMake
- 7.7.15. Automatic loading and saving of plugin parameters
- 7.7.16. itom API
- 7.7.17. Link or load external libraries
- 7.7.18. Project settings for plugins
- 7.7.19. Optional dock widget (toolbox) for hardware plugins
- 7.7.20. Optional configuration dialog for hardware plugins
- 7.8. OpenCV matrices cv::Mat and cv::Mat_
- 8. Python scripting language
- 8.1. Python-Module itom
- 8.2. Array class DataObject
- 8.2.1. Introduction
- 8.2.2. Creating a dataObject
- 8.2.3. Static constructors for dataObjects
- 8.2.4. Print content of dataObject
- 8.2.5. Accessing values in a dataObject
- 8.2.6. Basic attributes of a dataObject
- 8.2.7. Value and axes descriptions, units, scaling and offset
- 8.2.8. Meta tags and protocol
- 8.2.9. DataObject vs. Numpy.array
- 8.2.10. Main operations on numpy.arrays and itom.dataObjects
- 8.3. Save and load images and other files
- 8.4. Popular Python packages
- 8.5. Python-Module matplotlib
- 8.5.1. Set Matplotlib backend to itom
- 8.5.2. Simple Matplotlib example
- 8.5.3. Embedding a matplotlib figure in your own user interface
- 8.5.4. Size control over Matplotlib canvas
- 8.5.5. Font not found in Matplotlib
- 8.5.6. Creating an animation via Matplotlib
- 8.5.7. Creating figures for a thesis/report
- 8.5.8. Designer plugin MatplotlibPlot
- 8.6. Python-Module matlab
- 8.7. Reload modified modules
- 8.8. Python Limitations in itom
- 8.9. Python - common problems and solutions
- 8.10. Python tutorial
- 8.10.1. Creating a project folder and run a first program
- 8.10.2. Numbers and math
- 8.10.3. Variables and names
- 8.10.4. Strings and text
- 8.10.5. Dictionaries, Lists and Tuples
- 8.10.6. If and else statements
- 8.10.7. Loops and Lists
- 8.10.8. Classes and Objects
- 8.10.8.1. Classes
- 8.10.8.2. A Word About Names and Objects
- 8.10.8.3. Python Scopes and Namespaces
- 8.10.8.4. Scopes and Namespaces Example
- 8.10.8.5. A First Look at Classes
- 8.10.8.6. Random Remarks
- 8.10.8.7. Inheritance
- 8.10.8.8. Private Variables
- 8.10.8.9. Odds and Ends
- 8.10.8.10. Exceptions Are Classes Too
- 8.10.8.11. Iterators
- 8.10.8.12. Generators
- 8.10.8.13. Generator Expressions
- 8.10.9. Functions
- 8.10.10. Modules
- 8.10.10.1. Import Modules
- 8.10.10.2. Reload Modules in itom
- 8.10.10.3. path Variablen
- 8.10.10.4. itom-packages Folder
- 8.10.10.5. More on Modules
- 8.10.10.6. Standard Modules
- 8.10.10.7. The
dir()
Function - 8.10.10.8. Packages
- 8.10.10.9. Importing * From a Package
- 8.10.10.10. Intra-package References
- 8.10.10.11. Packages in Multiple Directories
- 8.10.11. Prompting and passing
- 8.10.12. Reading and writing files
- 9. itom Script Reference
- 9.1. itom methods
- 9.1.1. Plotting and camera
- 9.1.2. Using algorithms and filters
- 9.1.3. Methods for getting help and information about filters, plugins, ui-elements, …
- 9.1.4. Adding elements to the GUI
- 9.1.5. Save and load dataObjects to or from file
- 9.1.6. Debug-Tools
- 9.1.7. Request user rights
- 9.1.8. Further commands
- 9.2. actuator
- 9.3. Algorithms, Widgets and Filters
- 9.4. autoInterval
- 9.5. dataIO
- 9.6. dataObject
- 9.7. figure
- 9.8. font
- 9.9. plotItem
- 9.10. point
- 9.11. pointCloud
- 9.12. polygonMesh
- 9.13. region
- 9.14. rgba
- 9.15. shape
- 9.16. timer
- 9.17. ui-elements (ui, uiItem)
- 9.1. itom methods
- 10. Miscellaneous
- 11. Demo scripts