-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfeatures.html
196 lines (166 loc) · 12.2 KB
/
features.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0,user-scalable=no, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto:200,400,500,700" rel="stylesheet">
<title>Features — itom</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/MDL_theme.css?v=e3b579a1" />
<link rel="stylesheet" href="_static/MDL/material.itom.min.em.css" type="text/css" />
<link rel="stylesheet" href="_static/AnimHeader.css" type="text/css" />
<link rel="stylesheet" href="_static/modalPopup.css" type="text/css" />
<script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="_static/documentation_options.js?v=d0ae6d56"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/MDL/material.min.js"></script>
<script src="_static/MDL_theme.js"></script>
<script src="_static/AnimHeader.js"></script>
<script src="_static/modalPopup.js"></script>
<link rel="icon" href="_static/ITOMfavicon.ico"/>
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Python" href="features/python.html" />
<link rel="prev" title="Get Started" href="start.html" />
</head><body>
<!--
-->
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header mdl-layout--fixed-drawer">
<header class="mdl-layout__header mdl-layout__header--waterfall ">
<div class="mdl-layout__header-row">
<nav class="mdl-navigation breadcrumb">
<a class="mdl-navigation__link is-active">Features</a>
</nav>
<div class="mdl-layout-spacer"></div>
<a href="https://sourceforge.net/projects/itom/" target="_blank" alt="Download ITOM" class="mdl-button mdl-js-button mdl-button--raised mdl-button--accent hideSmall" style="margin-right: 20px;">
<span class="mdl-color-text--white">Download</span>
<i class="material-icons mdl-color-text--white"></i>
</a>
<a href="features/python.html" alt="Next" class="mdl-button mdl-js-button mdl-button--icon mdl-button--raised mdl-button--accent" style="margin-right: 10px;">
<i class="material-icons mdl-color-text--white" ></i>
</a>
<label class="mdl-button mdl-js-button mdl-button--icon mdl-button--colored">
<a href="index.html" alt="Home">
<i class="material-icons">home</i>
</a>
</label>
<label class="mdl-button mdl-js-button mdl-button--icon mdl-button--colored">
<a href="https://github.com/itom-project" alt="Github">
<img src="_static/github-mark.svg" alt="GitHub" width="24" height="24" style="margin:0px 0px">
</a>
</label>
<form class="form-inline pull-sm-right" action="search.html" method="get">
<div class="mdl-textfield mdl-js-textfield mdl-textfield--expandable mdl-textfield--floating-label mdl-textfield--align-right">
<label class="mdl-button mdl-js-button mdl-button--icon" for="waterfall-exp">
<i class="material-icons">search</i>
</label>
<div class="mdl-textfield__expandable-holder">
<input class="mdl-textfield__input" type="text" name="q" id="waterfall-exp" placeholder="Search" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</div>
</div>
</form>
<!-- Title -->
</div>
<!--
<div class="mdl-layout__header-row header-links">
<div class="mdl-layout-spacer"></div>
<nav class="mdl-navigation">
</nav>
</div>-->
</header>
<header class="mdl-layout__drawer">
<!-- Title -->
<span class="mdl-layout-title">
<a class="brand" href="index.html">
<img class="logo" src="_static/itomlogo.png" alt="itom"/>
</a>
</span>
<nav class="mdl-navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="start.html">Get Started</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Features</a><ul>
<li class="toctree-l2"><a class="reference internal" href="features/python.html">Python</a></li>
<li class="toctree-l2"><a class="reference internal" href="features/opencv.html">OpenCV</a></li>
<li class="toctree-l2"><a class="reference internal" href="features/qt.html">Qt</a></li>
<li class="toctree-l2"><a class="reference internal" href="features/plots.html">Plots</a></li>
<li class="toctree-l2"><a class="reference internal" href="features/hw.html">Hardware</a></li>
<li class="toctree-l2"><a class="reference internal" href="features/macrosim.html">MacroSIM</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="download.html">Downloads</a></li>
<li class="toctree-l1"><a class="reference internal" href="documentation.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="plugins.html">Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="collaboration.html">Collaboration</a></li>
</ul>
</nav>
</header>
<main class="mdl-layout__content">
<div class="page-content">
<section id="features">
<span id="sec-features"></span><h1>Features<a class="headerlink" href="#features" title="Link to this heading">¶</a></h1>
<p><strong>Itom</strong> is an open source software suite for operating measurement systems, laboratory automation and data evaluation.</p>
<p>One main application of <strong>itom</strong> is the development and operation of sensor and measurement system for instance in a laboratory environment.
Therefore, the software has to be able to communicate with a wide range of different hardware devices, such as cameras or actuators and should provide a diversified and as complete as possible set of evaluation and data processing methods.
Additionally, the rapid prototyping of modern measurement and inspection setups requires a system, where parameters or components can easily be changed at runtime, necessitating the availability of an embedded scripting language.
Finally, when operating a measurement system, it is also desirable to extend the graphical user interface by system adapted dialogs and windows.</p>
<p>Itom is freely available and actively maintained end extended by the ITOM community. The CORE development is currently centered at the Institute of Applied Optics at University of Stuttgart, Germany.</p>
<div class="mdl-grid">
<div class="mdl-cell mdl-cell--12-col">
<img class="" src="_static/desk_lg.jpg" width="130%" style="position:relative; ; left:-15%; margin:0 0" alt="itom desk"/>
</div>
</div><p>When using itom you benefit from the following main features:</p>
<ul class="simple">
<li><p>The embedded Python scripting language (version 3) allows you to use all functionalities that are provided by Python and the vast number of freely available packages like Numpy, Scipy or Matplotlib.</p></li>
<li><p>For developing scripts, itom provides important functionalities like syntax highlighting, auto completion, debugging possibilities, workspace introspection…</p></li>
<li><p>The core application of itom with its graphical user interface already gives access to the most important functions such that setups and experiments can quickly be adjusted and installed.</p></li>
<li><p><em>itom</em> benefits from a modular software architecture. Therefore, all external hardware components are provided by external libraries (plugins) that are dynamically loaded at runtime. All itom-plugins are divided into different groups, where each group is defined by a specific interface, allowing communication with the corresponding plugin via itom or specific scriptable commands. One group of plugins provides access to hardware components, such as cameras or actuators. Since their implementation must follow the rules given by specific interfaces, it is guaranteed that the call to any camera or actuator plugin is the same, hence, plugins can be simply changed without adaption to your scripted code. Other plugins contain data processing and analysis algorithms as well as complex user interfaces like additional windows or dialogs. Another group of plugins provides plotting and figure components for showing live images of cameras or visualizing other data structures. One example of an enhanced plugin is the project MacroSim, that provides a GUI for a GPU accelerated ray tracing engine.</p></li>
<li><p>Supports already lots of cameras, actuators and other devices.</p></li>
<li><p>Measurement systems can be extended by specific user interfaces. Therefore, a WYSIWYG design tool allows the creation of personalized user interfaces at runtime without requiring C++ programming experience. Furthermore, it is possible to integrate itom’s plot and visualization tools into these interfaces. Afterwards, interface elements can be connected to scripted functionalities. As a result, users can configure the appearance of their measurement system to optimally enable or protect the underlying functionalities.</p></li>
<li><p>Runs fast even on less powerful computing architectures like old laptops or RaspberryPi.</p></li>
<li><p>Extensive documentation, examples and getting started material available.</p></li>
</ul>
<section id="implementation">
<h2>Implementation<a class="headerlink" href="#implementation" title="Link to this heading">¶</a></h2>
<p><strong>Itom</strong> is written in C++ using the open source framework Qt. Qt enhances the functionalities of C++, mainly by providing a cross-platform GUI, allowing itom to run on both Windows and Linux based operating systems. Since itom is also designed for multi-core processors, its modules run partly in different threads that allow operating an actuator, simultaneously acquiring images while keeping the main window reactive for user interaction. Therefore, the core application, the python script engine as well as all plugins run in their separate threads.</p>
<div class="toctree-wrapper compound">
</div>
</section>
</section>
<div class="pagenation">
<a id="button-prev" href="start.html" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent" role="botton" accesskey="P">
<i class="material-icons">arrow_back</i>PREVIOUS
</a>
<div class="mdl-tooltip" data-mdl-for="button-prev">
Get Started
</div>
<a id="button-next" href="features/python.html" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent" role="botton" accesskey="N">
NEXT <i class="material-icons">arrow_forward</i>
</a>
<div class="mdl-tooltip" data-mdl-for="button-next">
Python
</div>
</div>
</div>
<footer class="mdl-mini-footer">
<div class="mdl-mini-footer__right-section">
<div>© Copyright 2011-2024, Institut für Technische Optik, Universität Stuttgart.</div>
<div>Generated by <a href="http://sphinx.pocoo.org/">Sphinx</a> 8.1.3 using <a href="https://www.getmdl.io">MDL</a></div>
<div>This page uses <a href="http://analytics.google.com/">Google Analytics</a>.
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-51395951-1', 'auto');ga('send', 'pageview');
</script>
</div>
</div>
</footer>
</main>
</div>
</body>
</html>