Welcome to the open source software itom
. In addition to a Python IDE, it enables the operation of measurement systems with multiple hardware components, such as cameras, AD converters, actuators, motor stages, and the management of your laboratory automation. The graphical user interface provides a quick and easy access to all components, complex measurement tasks and algorithms can be scripted using the embedded python scripting language and self-defined user interfaces finally provide a possibility to adapt itom
to your special needs. External hardware or algorithms are added to itom
by an integrated plugin system.
In order to learn more about itom
, see the official homepage itom-project.github.io or read the user documentation
Counted on 21 Okt. 2024.
File extension | Language | itom core | plugins | designer plugins | total |
---|---|---|---|---|---|
.cpp | C++ | 258562 | 226804 | 124190 | 609556 |
.h | C++ | 80195 | 114216 | 29128 | 223539 |
.c | C | 5093 | 222175 | 0 | 227268 |
.py | Python | 67689 | 7401 | 104 | 75194 |
.cmake | CMake | 5256 | 769 | 65 | 6090 |
.txt | Text | 12965 | 16595 | 1956 | 31516 |
.rst | reStructuredText | 220435 | 11431 | 231 | 232097 |
.css | CSS | 2098 | 0 | 0 | 2098 |
This project contains the repositories for the source code of itom
, which consists of 3 repositories.
- itom core application
- plugins hardware/software plugins
- designer plugins widget plugins
- In order to get itom either download the ready-to-use setups for Windows 32bit and 64bit. Use the all-in-one installer in order to get itom including Python and some important Python packages or use the simple installer if you already have an appropriate version of Python installed on your computer.
- Clone the central repositoy itomProject with the --recursive Option.
git clone --recursive --remote git@github.com:itom-project/itomProject.git
cd itomProject
git submodule foreach --recursive git checkout master
This will download the submodule repositories itom core, plugins plugins and designer plugins. For more information see the corresponding section in the user documentation.
itom
is written in C++ and requires the Qt framework in version >5.6 (Qt6 is supported for version > 6.2). It is further dependent on OpenCV, the Point Cloud Library (optional) and Python 3.6 or higher including its important package Numpy.
You are welcome to use and test itom
. If you want to you are invited to participate in the development of itom
or some of its plugins. If you found any bug, feel free to post an itom core issue, plugin issue or desinger plugin issue.
After the first cloning of the repositories, the pre-commit hooks should be installed once.
python -m pre_commit install
It's usually a good idea to run the hooks against all of the files when adding new hooks (usually pre-commit
will only run on the changed files during git hooks).
python -m pre_commit run --all-files
The core components and the main application of itom are covered by the GNU Library General Public Licence (GNU LGPL). All components belonging to the SDK of itom
(e.g. dataObject, pointCloud, addInInterface,…) are additionally covered by an itom
exception. The main idea of this exception is to allow other libraries (e.g. plugins) to include and link agains components of itom SDK independent on the specific license model of the respective "other" library. All files belonging to the itom SDK are included in the folder SDK that is shipped with any setup or included in the build directory (when build from sources).
The full text license of LGPL and itom exception is also included as file COPYING in the source distributions and setups.
All plugins and designer-plugins that can be integrated into itom can have their own licensing. Therefore the user is referred to the specific licensing documents or statements of each external library (plugin).
itom
is being developed since 2011 by
University of Stuttgart
Stuttgart
Germany
in co-operation with
Stuttgart
Germany