9 #ifndef UI_MAIN_WINDOW_H 10 #define UI_MAIN_WINDOW_H 12 #include <QtCore/QVariant> 13 #include <QtWidgets/QAction> 14 #include <QtWidgets/QApplication> 15 #include <QtWidgets/QButtonGroup> 16 #include <QtWidgets/QCheckBox> 17 #include <QtWidgets/QDockWidget> 18 #include <QtWidgets/QDoubleSpinBox> 19 #include <QtWidgets/QGridLayout> 20 #include <QtWidgets/QGroupBox> 21 #include <QtWidgets/QHBoxLayout> 22 #include <QtWidgets/QHeaderView> 23 #include <QtWidgets/QLabel> 24 #include <QtWidgets/QLineEdit> 25 #include <QtWidgets/QMainWindow> 26 #include <QtWidgets/QMenu> 27 #include <QtWidgets/QMenuBar> 28 #include <QtWidgets/QSpacerItem> 29 #include <QtWidgets/QSpinBox> 30 #include <QtWidgets/QToolBar> 31 #include <QtWidgets/QToolBox> 32 #include <QtWidgets/QToolButton> 33 #include <QtWidgets/QVBoxLayout> 34 #include <QtWidgets/QWidget> 139 if (MainWindow->objectName().isEmpty())
140 MainWindow->setObjectName(QStringLiteral(
"MainWindow"));
141 MainWindow->resize(1008, 600);
142 actionHelp =
new QAction(MainWindow);
143 actionHelp->setObjectName(QStringLiteral(
"actionHelp"));
144 actionReset_camera =
new QAction(MainWindow);
145 actionReset_camera->setObjectName(QStringLiteral(
"actionReset_camera"));
146 actionToggle_coloring =
new QAction(MainWindow);
147 actionToggle_coloring->setObjectName(QStringLiteral(
"actionToggle_coloring"));
148 actionMesh_representation =
new QAction(MainWindow);
149 actionMesh_representation->setObjectName(QStringLiteral(
"actionMesh_representation"));
150 actionSaveAs =
new QAction(MainWindow);
151 actionSaveAs->setObjectName(QStringLiteral(
"actionSaveAs"));
152 centralWidget =
new QWidget(MainWindow);
153 centralWidget->setObjectName(QStringLiteral(
"centralWidget"));
154 gridLayout_7 =
new QGridLayout(centralWidget);
155 gridLayout_7->setSpacing(6);
156 gridLayout_7->setContentsMargins(11, 11, 11, 11);
157 gridLayout_7->setObjectName(QStringLiteral(
"gridLayout_7"));
158 horizontalLayout_main_controls =
new QHBoxLayout();
159 horizontalLayout_main_controls->setSpacing(6);
160 horizontalLayout_main_controls->setObjectName(QStringLiteral(
"horizontalLayout_main_controls"));
161 toolButton_1 =
new QToolButton(centralWidget);
162 toolButton_1->setObjectName(QStringLiteral(
"toolButton_1"));
163 toolButton_1->setCheckable(
true);
164 toolButton_1->setChecked(
true);
165 toolButton_1->setAutoExclusive(
true);
167 horizontalLayout_main_controls->addWidget(toolButton_1);
169 toolButton_2 =
new QToolButton(centralWidget);
170 toolButton_2->setObjectName(QStringLiteral(
"toolButton_2"));
171 toolButton_2->setCheckable(
true);
172 toolButton_2->setChecked(
false);
173 toolButton_2->setAutoExclusive(
true);
175 horizontalLayout_main_controls->addWidget(toolButton_2);
177 toolButton_3 =
new QToolButton(centralWidget);
178 toolButton_3->setObjectName(QStringLiteral(
"toolButton_3"));
179 toolButton_3->setCheckable(
true);
180 toolButton_3->setAutoExclusive(
true);
182 horizontalLayout_main_controls->addWidget(toolButton_3);
184 toolButton_4 =
new QToolButton(centralWidget);
185 toolButton_4->setObjectName(QStringLiteral(
"toolButton_4"));
186 toolButton_4->setCheckable(
true);
187 toolButton_4->setAutoExclusive(
true);
189 horizontalLayout_main_controls->addWidget(toolButton_4);
191 toolButton_5 =
new QToolButton(centralWidget);
192 toolButton_5->setObjectName(QStringLiteral(
"toolButton_5"));
193 toolButton_5->setCheckable(
true);
194 toolButton_5->setAutoExclusive(
true);
196 horizontalLayout_main_controls->addWidget(toolButton_5);
198 toolButton_6 =
new QToolButton(centralWidget);
199 toolButton_6->setObjectName(QStringLiteral(
"toolButton_6"));
200 toolButton_6->setCheckable(
false);
201 toolButton_6->setAutoExclusive(
false);
203 horizontalLayout_main_controls->addWidget(toolButton_6);
205 horizontalSpacer_main_controls =
new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
207 horizontalLayout_main_controls->addItem(horizontalSpacer_main_controls);
209 toolButton_0 =
new QToolButton(centralWidget);
210 toolButton_0->setObjectName(QStringLiteral(
"toolButton_0"));
211 toolButton_0->setCheckable(
false);
212 toolButton_0->setAutoExclusive(
false);
214 horizontalLayout_main_controls->addWidget(toolButton_0);
217 gridLayout_7->addLayout(horizontalLayout_main_controls, 0, 0, 1, 1);
219 placeholder_in_hand_scanner =
new QWidget(centralWidget);
220 placeholder_in_hand_scanner->setObjectName(QStringLiteral(
"placeholder_in_hand_scanner"));
221 QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
222 sizePolicy.setHorizontalStretch(0);
223 sizePolicy.setVerticalStretch(0);
224 sizePolicy.setHeightForWidth(placeholder_in_hand_scanner->sizePolicy().hasHeightForWidth());
225 placeholder_in_hand_scanner->setSizePolicy(sizePolicy);
227 gridLayout_7->addWidget(placeholder_in_hand_scanner, 1, 0, 1, 1);
229 MainWindow->setCentralWidget(centralWidget);
230 dockWidget =
new QDockWidget(MainWindow);
231 dockWidget->setObjectName(QStringLiteral(
"dockWidget"));
232 QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Preferred);
233 sizePolicy1.setHorizontalStretch(0);
234 sizePolicy1.setVerticalStretch(0);
235 sizePolicy1.setHeightForWidth(dockWidget->sizePolicy().hasHeightForWidth());
236 dockWidget->setSizePolicy(sizePolicy1);
237 dockWidget->setMinimumSize(QSize(324, 228));
238 dockWidget->setFeatures(QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable);
239 dockWidgetContents =
new QWidget();
240 dockWidgetContents->setObjectName(QStringLiteral(
"dockWidgetContents"));
241 verticalLayout =
new QVBoxLayout(dockWidgetContents);
242 verticalLayout->setSpacing(6);
243 verticalLayout->setContentsMargins(11, 11, 11, 11);
244 verticalLayout->setObjectName(QStringLiteral(
"verticalLayout"));
245 toolBox =
new QToolBox(dockWidgetContents);
246 toolBox->setObjectName(QStringLiteral(
"toolBox"));
247 toolBox->setMinimumSize(QSize(0, 0));
248 page_input_data_processing =
new QWidget();
249 page_input_data_processing->setObjectName(QStringLiteral(
"page_input_data_processing"));
250 page_input_data_processing->setGeometry(QRect(0, 0, 300, 408));
251 verticalLayout_2 =
new QVBoxLayout(page_input_data_processing);
252 verticalLayout_2->setSpacing(6);
253 verticalLayout_2->setContentsMargins(11, 11, 11, 11);
254 verticalLayout_2->setObjectName(QStringLiteral(
"verticalLayout_2"));
255 groupBox_crop_xyz =
new QGroupBox(page_input_data_processing);
256 groupBox_crop_xyz->setObjectName(QStringLiteral(
"groupBox_crop_xyz"));
257 gridLayout_3 =
new QGridLayout(groupBox_crop_xyz);
258 gridLayout_3->setSpacing(6);
259 gridLayout_3->setContentsMargins(11, 11, 11, 11);
260 gridLayout_3->setObjectName(QStringLiteral(
"gridLayout_3"));
261 spinBox_y_max =
new QSpinBox(groupBox_crop_xyz);
262 spinBox_y_max->setObjectName(QStringLiteral(
"spinBox_y_max"));
263 spinBox_y_max->setMinimum(-100);
264 spinBox_y_max->setMaximum(100);
265 spinBox_y_max->setSingleStep(5);
267 gridLayout_3->addWidget(spinBox_y_max, 1, 3, 1, 1);
269 label_z_min =
new QLabel(groupBox_crop_xyz);
270 label_z_min->setObjectName(QStringLiteral(
"label_z_min"));
272 gridLayout_3->addWidget(label_z_min, 2, 0, 1, 1);
274 spinBox_x_max =
new QSpinBox(groupBox_crop_xyz);
275 spinBox_x_max->setObjectName(QStringLiteral(
"spinBox_x_max"));
276 spinBox_x_max->setMinimum(-100);
277 spinBox_x_max->setMaximum(100);
278 spinBox_x_max->setSingleStep(5);
280 gridLayout_3->addWidget(spinBox_x_max, 0, 3, 1, 1);
282 spinBox_y_min =
new QSpinBox(groupBox_crop_xyz);
283 spinBox_y_min->setObjectName(QStringLiteral(
"spinBox_y_min"));
284 spinBox_y_min->setMinimum(-100);
285 spinBox_y_min->setMaximum(100);
286 spinBox_y_min->setSingleStep(5);
288 gridLayout_3->addWidget(spinBox_y_min, 1, 1, 1, 1);
290 label_x_min =
new QLabel(groupBox_crop_xyz);
291 label_x_min->setObjectName(QStringLiteral(
"label_x_min"));
293 gridLayout_3->addWidget(label_x_min, 0, 0, 1, 1);
295 spinBox_z_max =
new QSpinBox(groupBox_crop_xyz);
296 spinBox_z_max->setObjectName(QStringLiteral(
"spinBox_z_max"));
297 spinBox_z_max->setMinimum(0);
298 spinBox_z_max->setMaximum(1000);
299 spinBox_z_max->setSingleStep(5);
301 gridLayout_3->addWidget(spinBox_z_max, 2, 3, 1, 1);
303 spinBox_x_min =
new QSpinBox(groupBox_crop_xyz);
304 spinBox_x_min->setObjectName(QStringLiteral(
"spinBox_x_min"));
305 spinBox_x_min->setMinimum(-100);
306 spinBox_x_min->setMaximum(100);
307 spinBox_x_min->setSingleStep(5);
309 gridLayout_3->addWidget(spinBox_x_min, 0, 1, 1, 1);
311 label_xyz_erode_size =
new QLabel(groupBox_crop_xyz);
312 label_xyz_erode_size->setObjectName(QStringLiteral(
"label_xyz_erode_size"));
314 gridLayout_3->addWidget(label_xyz_erode_size, 3, 0, 1, 2);
316 label_y_min =
new QLabel(groupBox_crop_xyz);
317 label_y_min->setObjectName(QStringLiteral(
"label_y_min"));
319 gridLayout_3->addWidget(label_y_min, 1, 0, 1, 1);
321 label_x_max =
new QLabel(groupBox_crop_xyz);
322 label_x_max->setObjectName(QStringLiteral(
"label_x_max"));
324 gridLayout_3->addWidget(label_x_max, 0, 2, 1, 1);
326 spinBox_z_min =
new QSpinBox(groupBox_crop_xyz);
327 spinBox_z_min->setObjectName(QStringLiteral(
"spinBox_z_min"));
328 spinBox_z_min->setMinimum(0);
329 spinBox_z_min->setMaximum(1000);
330 spinBox_z_min->setSingleStep(5);
332 gridLayout_3->addWidget(spinBox_z_min, 2, 1, 1, 1);
334 label_y_max =
new QLabel(groupBox_crop_xyz);
335 label_y_max->setObjectName(QStringLiteral(
"label_y_max"));
337 gridLayout_3->addWidget(label_y_max, 1, 2, 1, 1);
339 label_z_max =
new QLabel(groupBox_crop_xyz);
340 label_z_max->setObjectName(QStringLiteral(
"label_z_max"));
342 gridLayout_3->addWidget(label_z_max, 2, 2, 1, 1);
344 spinBox_xyz_erode_size =
new QSpinBox(groupBox_crop_xyz);
345 spinBox_xyz_erode_size->setObjectName(QStringLiteral(
"spinBox_xyz_erode_size"));
346 spinBox_xyz_erode_size->setMaximum(50);
348 gridLayout_3->addWidget(spinBox_xyz_erode_size, 3, 2, 1, 2);
351 verticalLayout_2->addWidget(groupBox_crop_xyz);
353 groupBox_segment_hsv =
new QGroupBox(page_input_data_processing);
354 groupBox_segment_hsv->setObjectName(QStringLiteral(
"groupBox_segment_hsv"));
355 gridLayout =
new QGridLayout(groupBox_segment_hsv);
356 gridLayout->setSpacing(6);
357 gridLayout->setContentsMargins(11, 11, 11, 11);
358 gridLayout->setObjectName(QStringLiteral(
"gridLayout"));
359 spinBox_h_max =
new QSpinBox(groupBox_segment_hsv);
360 spinBox_h_max->setObjectName(QStringLiteral(
"spinBox_h_max"));
361 spinBox_h_max->setMaximum(360);
362 spinBox_h_max->setSingleStep(5);
364 gridLayout->addWidget(spinBox_h_max, 0, 3, 1, 1);
366 label_s_max =
new QLabel(groupBox_segment_hsv);
367 label_s_max->setObjectName(QStringLiteral(
"label_s_max"));
369 gridLayout->addWidget(label_s_max, 1, 2, 1, 1);
371 spinBox_s_min =
new QSpinBox(groupBox_segment_hsv);
372 spinBox_s_min->setObjectName(QStringLiteral(
"spinBox_s_min"));
373 spinBox_s_min->setMaximum(100);
374 spinBox_s_min->setSingleStep(5);
376 gridLayout->addWidget(spinBox_s_min, 1, 1, 1, 1);
378 label_h_min =
new QLabel(groupBox_segment_hsv);
379 label_h_min->setObjectName(QStringLiteral(
"label_h_min"));
381 gridLayout->addWidget(label_h_min, 0, 0, 1, 1);
383 label_h_max =
new QLabel(groupBox_segment_hsv);
384 label_h_max->setObjectName(QStringLiteral(
"label_h_max"));
386 gridLayout->addWidget(label_h_max, 0, 2, 1, 1);
388 label_s_min =
new QLabel(groupBox_segment_hsv);
389 label_s_min->setObjectName(QStringLiteral(
"label_s_min"));
391 gridLayout->addWidget(label_s_min, 1, 0, 1, 1);
393 spinBox_v_min =
new QSpinBox(groupBox_segment_hsv);
394 spinBox_v_min->setObjectName(QStringLiteral(
"spinBox_v_min"));
395 spinBox_v_min->setMaximum(100);
396 spinBox_v_min->setSingleStep(5);
398 gridLayout->addWidget(spinBox_v_min, 2, 1, 1, 1);
400 label_v_min =
new QLabel(groupBox_segment_hsv);
401 label_v_min->setObjectName(QStringLiteral(
"label_v_min"));
403 gridLayout->addWidget(label_v_min, 2, 0, 1, 1);
405 spinBox_v_max =
new QSpinBox(groupBox_segment_hsv);
406 spinBox_v_max->setObjectName(QStringLiteral(
"spinBox_v_max"));
407 spinBox_v_max->setMaximum(100);
408 spinBox_v_max->setSingleStep(5);
410 gridLayout->addWidget(spinBox_v_max, 2, 3, 1, 1);
412 spinBox_h_min =
new QSpinBox(groupBox_segment_hsv);
413 spinBox_h_min->setObjectName(QStringLiteral(
"spinBox_h_min"));
414 spinBox_h_min->setMaximum(360);
415 spinBox_h_min->setSingleStep(5);
417 gridLayout->addWidget(spinBox_h_min, 0, 1, 1, 1);
419 label_v_max =
new QLabel(groupBox_segment_hsv);
420 label_v_max->setObjectName(QStringLiteral(
"label_v_max"));
422 gridLayout->addWidget(label_v_max, 2, 2, 1, 1);
424 spinBox_s_max =
new QSpinBox(groupBox_segment_hsv);
425 spinBox_s_max->setObjectName(QStringLiteral(
"spinBox_s_max"));
426 spinBox_s_max->setMaximum(100);
427 spinBox_s_max->setSingleStep(5);
429 gridLayout->addWidget(spinBox_s_max, 1, 3, 1, 1);
431 label_hsv_dilate_size =
new QLabel(groupBox_segment_hsv);
432 label_hsv_dilate_size->setObjectName(QStringLiteral(
"label_hsv_dilate_size"));
434 gridLayout->addWidget(label_hsv_dilate_size, 3, 0, 1, 2);
436 spinBox_hsv_dilate_size =
new QSpinBox(groupBox_segment_hsv);
437 spinBox_hsv_dilate_size->setObjectName(QStringLiteral(
"spinBox_hsv_dilate_size"));
438 spinBox_hsv_dilate_size->setMaximum(50);
440 gridLayout->addWidget(spinBox_hsv_dilate_size, 3, 2, 1, 2);
442 checkBox_color_segmentation_inverted =
new QCheckBox(groupBox_segment_hsv);
443 checkBox_color_segmentation_inverted->setObjectName(QStringLiteral(
"checkBox_color_segmentation_inverted"));
445 gridLayout->addWidget(checkBox_color_segmentation_inverted, 4, 0, 1, 2);
447 checkBox_color_segmentation_enabled =
new QCheckBox(groupBox_segment_hsv);
448 checkBox_color_segmentation_enabled->setObjectName(QStringLiteral(
"checkBox_color_segmentation_enabled"));
450 gridLayout->addWidget(checkBox_color_segmentation_enabled, 4, 2, 1, 1);
452 spinBox_h_min->raise();
453 label_s_min->raise();
454 spinBox_v_min->raise();
455 spinBox_v_max->raise();
456 label_s_max->raise();
457 label_v_max->raise();
458 spinBox_h_max->raise();
459 label_h_min->raise();
460 label_h_max->raise();
461 label_v_min->raise();
462 spinBox_s_max->raise();
463 spinBox_s_min->raise();
464 checkBox_color_segmentation_inverted->raise();
465 label_hsv_dilate_size->raise();
466 spinBox_hsv_dilate_size->raise();
467 checkBox_color_segmentation_enabled->raise();
469 verticalLayout_2->addWidget(groupBox_segment_hsv);
471 verticalSpacer_input_data_processing =
new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
473 verticalLayout_2->addItem(verticalSpacer_input_data_processing);
475 toolBox->addItem(page_input_data_processing, QStringLiteral(
"Input data processing"));
476 page_registration =
new QWidget();
477 page_registration->setObjectName(QStringLiteral(
"page_registration"));
478 page_registration->setGeometry(QRect(0, 0, 300, 401));
479 verticalLayout_3 =
new QVBoxLayout(page_registration);
480 verticalLayout_3->setSpacing(6);
481 verticalLayout_3->setContentsMargins(11, 11, 11, 11);
482 verticalLayout_3->setObjectName(QStringLiteral(
"verticalLayout_3"));
483 groupBox_convergence =
new QGroupBox(page_registration);
484 groupBox_convergence->setObjectName(QStringLiteral(
"groupBox_convergence"));
485 gridLayout_4 =
new QGridLayout(groupBox_convergence);
486 gridLayout_4->setSpacing(6);
487 gridLayout_4->setContentsMargins(11, 11, 11, 11);
488 gridLayout_4->setObjectName(QStringLiteral(
"gridLayout_4"));
489 label_epsilon =
new QLabel(groupBox_convergence);
490 label_epsilon->setObjectName(QStringLiteral(
"label_epsilon"));
492 gridLayout_4->addWidget(label_epsilon, 0, 0, 1, 1);
494 label_max_iterations =
new QLabel(groupBox_convergence);
495 label_max_iterations->setObjectName(QStringLiteral(
"label_max_iterations"));
497 gridLayout_4->addWidget(label_max_iterations, 1, 0, 1, 1);
499 label_min_overlap =
new QLabel(groupBox_convergence);
500 label_min_overlap->setObjectName(QStringLiteral(
"label_min_overlap"));
502 gridLayout_4->addWidget(label_min_overlap, 2, 0, 1, 1);
504 label_max_fitness =
new QLabel(groupBox_convergence);
505 label_max_fitness->setObjectName(QStringLiteral(
"label_max_fitness"));
507 gridLayout_4->addWidget(label_max_fitness, 3, 0, 1, 1);
509 spinBox_max_iterations =
new QSpinBox(groupBox_convergence);
510 spinBox_max_iterations->setObjectName(QStringLiteral(
"spinBox_max_iterations"));
511 spinBox_max_iterations->setMinimum(1);
512 spinBox_max_iterations->setMaximum(500);
514 gridLayout_4->addWidget(spinBox_max_iterations, 1, 1, 1, 1);
516 spinBox_min_overlap =
new QSpinBox(groupBox_convergence);
517 spinBox_min_overlap->setObjectName(QStringLiteral(
"spinBox_min_overlap"));
518 spinBox_min_overlap->setMaximum(100);
520 gridLayout_4->addWidget(spinBox_min_overlap, 2, 1, 1, 1);
522 lineEdit_epsilon =
new QLineEdit(groupBox_convergence);
523 lineEdit_epsilon->setObjectName(QStringLiteral(
"lineEdit_epsilon"));
525 gridLayout_4->addWidget(lineEdit_epsilon, 0, 1, 1, 1);
527 lineEdit_max_fitness =
new QLineEdit(groupBox_convergence);
528 lineEdit_max_fitness->setObjectName(QStringLiteral(
"lineEdit_max_fitness"));
530 gridLayout_4->addWidget(lineEdit_max_fitness, 3, 1, 1, 1);
533 verticalLayout_3->addWidget(groupBox_convergence);
535 groupBox_correspondence_rejection =
new QGroupBox(page_registration);
536 groupBox_correspondence_rejection->setObjectName(QStringLiteral(
"groupBox_correspondence_rejection"));
537 gridLayout_2 =
new QGridLayout(groupBox_correspondence_rejection);
538 gridLayout_2->setSpacing(6);
539 gridLayout_2->setContentsMargins(11, 11, 11, 11);
540 gridLayout_2->setObjectName(QStringLiteral(
"gridLayout_2"));
541 label_correspondence_rejection_factor =
new QLabel(groupBox_correspondence_rejection);
542 label_correspondence_rejection_factor->setObjectName(QStringLiteral(
"label_correspondence_rejection_factor"));
544 gridLayout_2->addWidget(label_correspondence_rejection_factor, 0, 0, 1, 1);
546 doubleSpinBox_correspondence_rejection_factor =
new QDoubleSpinBox(groupBox_correspondence_rejection);
547 doubleSpinBox_correspondence_rejection_factor->setObjectName(QStringLiteral(
"doubleSpinBox_correspondence_rejection_factor"));
548 doubleSpinBox_correspondence_rejection_factor->setMinimum(1);
549 doubleSpinBox_correspondence_rejection_factor->setMaximum(100);
551 gridLayout_2->addWidget(doubleSpinBox_correspondence_rejection_factor, 0, 1, 1, 1);
553 label_correspondence_rejection_max_angle =
new QLabel(groupBox_correspondence_rejection);
554 label_correspondence_rejection_max_angle->setObjectName(QStringLiteral(
"label_correspondence_rejection_max_angle"));
556 gridLayout_2->addWidget(label_correspondence_rejection_max_angle, 1, 0, 1, 1);
558 spinBox_correspondence_rejection_max_angle =
new QSpinBox(groupBox_correspondence_rejection);
559 spinBox_correspondence_rejection_max_angle->setObjectName(QStringLiteral(
"spinBox_correspondence_rejection_max_angle"));
560 spinBox_correspondence_rejection_max_angle->setMaximum(180);
562 gridLayout_2->addWidget(spinBox_correspondence_rejection_max_angle, 1, 1, 1, 1);
565 verticalLayout_3->addWidget(groupBox_correspondence_rejection);
567 verticalSpacer_registration =
new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
569 verticalLayout_3->addItem(verticalSpacer_registration);
571 toolBox->addItem(page_registration, QStringLiteral(
"Registration"));
572 page_integration =
new QWidget();
573 page_integration->setObjectName(QStringLiteral(
"page_integration"));
574 page_integration->setGeometry(QRect(0, 0, 300, 401));
575 verticalLayout_4 =
new QVBoxLayout(page_integration);
576 verticalLayout_4->setSpacing(6);
577 verticalLayout_4->setContentsMargins(11, 11, 11, 11);
578 verticalLayout_4->setObjectName(QStringLiteral(
"verticalLayout_4"));
579 groupBox_averaging =
new QGroupBox(page_integration);
580 groupBox_averaging->setObjectName(QStringLiteral(
"groupBox_averaging"));
581 gridLayout_5 =
new QGridLayout(groupBox_averaging);
582 gridLayout_5->setSpacing(6);
583 gridLayout_5->setContentsMargins(11, 11, 11, 11);
584 gridLayout_5->setObjectName(QStringLiteral(
"gridLayout_5"));
585 label_max_squared_distance =
new QLabel(groupBox_averaging);
586 label_max_squared_distance->setObjectName(QStringLiteral(
"label_max_squared_distance"));
588 gridLayout_5->addWidget(label_max_squared_distance, 0, 0, 1, 1);
590 lineEdit_max_squared_distance =
new QLineEdit(groupBox_averaging);
591 lineEdit_max_squared_distance->setObjectName(QStringLiteral(
"lineEdit_max_squared_distance"));
593 gridLayout_5->addWidget(lineEdit_max_squared_distance, 0, 1, 1, 1);
595 label_averaging_max_angle =
new QLabel(groupBox_averaging);
596 label_averaging_max_angle->setObjectName(QStringLiteral(
"label_averaging_max_angle"));
598 gridLayout_5->addWidget(label_averaging_max_angle, 1, 0, 1, 1);
600 spinBox_averaging_max_angle =
new QSpinBox(groupBox_averaging);
601 spinBox_averaging_max_angle->setObjectName(QStringLiteral(
"spinBox_averaging_max_angle"));
602 spinBox_averaging_max_angle->setMaximum(180);
604 gridLayout_5->addWidget(spinBox_averaging_max_angle, 1, 1, 1, 1);
607 verticalLayout_4->addWidget(groupBox_averaging);
609 groupBox_outlier_removal =
new QGroupBox(page_integration);
610 groupBox_outlier_removal->setObjectName(QStringLiteral(
"groupBox_outlier_removal"));
611 gridLayout_6 =
new QGridLayout(groupBox_outlier_removal);
612 gridLayout_6->setSpacing(6);
613 gridLayout_6->setContentsMargins(11, 11, 11, 11);
614 gridLayout_6->setObjectName(QStringLiteral(
"gridLayout_6"));
615 label_max_age =
new QLabel(groupBox_outlier_removal);
616 label_max_age->setObjectName(QStringLiteral(
"label_max_age"));
618 gridLayout_6->addWidget(label_max_age, 0, 0, 1, 1);
620 spinBox_max_age =
new QSpinBox(groupBox_outlier_removal);
621 spinBox_max_age->setObjectName(QStringLiteral(
"spinBox_max_age"));
622 spinBox_max_age->setMinimum(1);
623 spinBox_max_age->setMaximum(100);
625 gridLayout_6->addWidget(spinBox_max_age, 0, 1, 1, 1);
627 label_min_directions =
new QLabel(groupBox_outlier_removal);
628 label_min_directions->setObjectName(QStringLiteral(
"label_min_directions"));
630 gridLayout_6->addWidget(label_min_directions, 1, 0, 1, 1);
632 spinBox_min_directions =
new QSpinBox(groupBox_outlier_removal);
633 spinBox_min_directions->setObjectName(QStringLiteral(
"spinBox_min_directions"));
634 spinBox_min_directions->setMinimum(1);
635 spinBox_min_directions->setMaximum(100);
637 gridLayout_6->addWidget(spinBox_min_directions, 1, 1, 1, 1);
640 verticalLayout_4->addWidget(groupBox_outlier_removal);
642 verticalSpacer_integration =
new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
644 verticalLayout_4->addItem(verticalSpacer_integration);
646 toolBox->addItem(page_integration, QStringLiteral(
"Integration"));
648 verticalLayout->addWidget(toolBox);
650 dockWidget->setWidget(dockWidgetContents);
651 MainWindow->addDockWidget(static_cast<Qt::DockWidgetArea>(2), dockWidget);
652 toolBar =
new QToolBar(MainWindow);
653 toolBar->setObjectName(QStringLiteral(
"toolBar"));
654 MainWindow->addToolBar(Qt::TopToolBarArea, toolBar);
655 menuBar =
new QMenuBar(MainWindow);
656 menuBar->setObjectName(QStringLiteral(
"menuBar"));
657 menuBar->setGeometry(QRect(0, 0, 1008, 22));
658 menuFile =
new QMenu(menuBar);
659 menuFile->setObjectName(QStringLiteral(
"menuFile"));
660 MainWindow->setMenuBar(menuBar);
661 #ifndef QT_NO_SHORTCUT 662 label_z_min->setBuddy(spinBox_z_min);
663 label_x_min->setBuddy(spinBox_x_min);
664 label_xyz_erode_size->setBuddy(spinBox_xyz_erode_size);
665 label_y_min->setBuddy(spinBox_y_min);
666 label_x_max->setBuddy(spinBox_x_max);
667 label_y_max->setBuddy(spinBox_y_max);
668 label_z_max->setBuddy(spinBox_z_max);
669 label_s_max->setBuddy(spinBox_s_max);
670 label_h_min->setBuddy(spinBox_h_min);
671 label_h_max->setBuddy(spinBox_h_max);
672 label_s_min->setBuddy(spinBox_s_min);
673 label_v_min->setBuddy(spinBox_v_min);
674 label_v_max->setBuddy(spinBox_v_max);
675 label_hsv_dilate_size->setBuddy(spinBox_hsv_dilate_size);
676 label_max_iterations->setBuddy(spinBox_max_iterations);
677 label_min_overlap->setBuddy(spinBox_min_overlap);
678 label_correspondence_rejection_factor->setBuddy(doubleSpinBox_correspondence_rejection_factor);
679 label_correspondence_rejection_max_angle->setBuddy(spinBox_correspondence_rejection_max_angle);
680 #endif // QT_NO_SHORTCUT 681 QWidget::setTabOrder(toolButton_1, toolButton_2);
682 QWidget::setTabOrder(toolButton_2, toolButton_3);
683 QWidget::setTabOrder(toolButton_3, toolButton_4);
684 QWidget::setTabOrder(toolButton_4, toolButton_5);
685 QWidget::setTabOrder(toolButton_5, toolButton_0);
686 QWidget::setTabOrder(toolButton_0, spinBox_x_min);
687 QWidget::setTabOrder(spinBox_x_min, spinBox_x_max);
688 QWidget::setTabOrder(spinBox_x_max, spinBox_y_min);
689 QWidget::setTabOrder(spinBox_y_min, spinBox_y_max);
690 QWidget::setTabOrder(spinBox_y_max, spinBox_z_min);
691 QWidget::setTabOrder(spinBox_z_min, spinBox_z_max);
692 QWidget::setTabOrder(spinBox_z_max, spinBox_xyz_erode_size);
693 QWidget::setTabOrder(spinBox_xyz_erode_size, spinBox_h_min);
694 QWidget::setTabOrder(spinBox_h_min, spinBox_h_max);
695 QWidget::setTabOrder(spinBox_h_max, spinBox_s_min);
696 QWidget::setTabOrder(spinBox_s_min, spinBox_s_max);
697 QWidget::setTabOrder(spinBox_s_max, spinBox_v_min);
698 QWidget::setTabOrder(spinBox_v_min, spinBox_v_max);
699 QWidget::setTabOrder(spinBox_v_max, spinBox_hsv_dilate_size);
700 QWidget::setTabOrder(spinBox_hsv_dilate_size, checkBox_color_segmentation_inverted);
701 QWidget::setTabOrder(checkBox_color_segmentation_inverted, checkBox_color_segmentation_enabled);
702 QWidget::setTabOrder(checkBox_color_segmentation_enabled, lineEdit_epsilon);
703 QWidget::setTabOrder(lineEdit_epsilon, spinBox_max_iterations);
704 QWidget::setTabOrder(spinBox_max_iterations, spinBox_min_overlap);
705 QWidget::setTabOrder(spinBox_min_overlap, lineEdit_max_fitness);
706 QWidget::setTabOrder(lineEdit_max_fitness, doubleSpinBox_correspondence_rejection_factor);
707 QWidget::setTabOrder(doubleSpinBox_correspondence_rejection_factor, spinBox_correspondence_rejection_max_angle);
708 QWidget::setTabOrder(spinBox_correspondence_rejection_max_angle, lineEdit_max_squared_distance);
709 QWidget::setTabOrder(lineEdit_max_squared_distance, spinBox_averaging_max_angle);
710 QWidget::setTabOrder(spinBox_averaging_max_angle, spinBox_max_age);
711 QWidget::setTabOrder(spinBox_max_age, spinBox_min_directions);
713 toolBar->addAction(actionReset_camera);
714 toolBar->addAction(actionToggle_coloring);
715 toolBar->addAction(actionMesh_representation);
716 toolBar->addAction(actionHelp);
717 menuBar->addAction(menuFile->menuAction());
718 menuFile->addAction(actionSaveAs);
721 QObject::connect(spinBox_x_min, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setXMin(
int)));
722 QObject::connect(spinBox_x_max, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setXMax(
int)));
723 QObject::connect(spinBox_y_min, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setYMin(
int)));
724 QObject::connect(spinBox_y_max, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setYMax(
int)));
725 QObject::connect(spinBox_z_min, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setZMin(
int)));
726 QObject::connect(spinBox_z_max, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setZMax(
int)));
727 QObject::connect(spinBox_h_min, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setHMin(
int)));
728 QObject::connect(spinBox_h_max, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setHMax(
int)));
729 QObject::connect(spinBox_s_min, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setSMin(
int)));
730 QObject::connect(spinBox_s_max, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setSMax(
int)));
731 QObject::connect(spinBox_v_min, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setVMin(
int)));
732 QObject::connect(spinBox_v_max, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setVMax(
int)));
733 QObject::connect(checkBox_color_segmentation_inverted, SIGNAL(toggled(
bool)), MainWindow, SLOT(setColorSegmentationInverted(
bool)));
734 QObject::connect(spinBox_xyz_erode_size, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setXYZErodeSize(
int)));
735 QObject::connect(spinBox_hsv_dilate_size, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setHSVDilateSize(
int)));
736 QObject::connect(lineEdit_epsilon, SIGNAL(editingFinished()), MainWindow, SLOT(setEpsilon()));
737 QObject::connect(spinBox_max_iterations, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setMaxIterations(
int)));
738 QObject::connect(spinBox_min_overlap, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setMinOverlap(
int)));
739 QObject::connect(lineEdit_max_fitness, SIGNAL(editingFinished()), MainWindow, SLOT(setMaxFitness()));
740 QObject::connect(doubleSpinBox_correspondence_rejection_factor, SIGNAL(valueChanged(
double)), MainWindow, SLOT(setCorrespondenceRejectionFactor(
double)));
741 QObject::connect(spinBox_correspondence_rejection_max_angle, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setCorrespondenceRejectionMaxAngle(
int)));
742 QObject::connect(lineEdit_max_squared_distance, SIGNAL(editingFinished()), MainWindow, SLOT(setMaxSquaredDistance()));
743 QObject::connect(spinBox_averaging_max_angle, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setAveragingMaxAngle(
int)));
744 QObject::connect(spinBox_max_age, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setMaxAge(
int)));
745 QObject::connect(spinBox_min_directions, SIGNAL(valueChanged(
int)), MainWindow, SLOT(setMinDirections(
int)));
746 QObject::connect(checkBox_color_segmentation_enabled, SIGNAL(toggled(
bool)), MainWindow, SLOT(setColorSegmentationEnabled(
bool)));
748 toolBox->setCurrentIndex(0);
751 QMetaObject::connectSlotsByName(MainWindow);
756 MainWindow->setWindowTitle(QApplication::translate(
"MainWindow",
"MainWindow",
nullptr));
757 actionHelp->setText(QApplication::translate(
"MainWindow",
"Help",
nullptr));
758 actionReset_camera->setText(QApplication::translate(
"MainWindow",
"Reset camera",
nullptr));
759 #ifndef QT_NO_TOOLTIP 760 actionReset_camera->setToolTip(QApplication::translate(
"MainWindow",
"<html><head/><body><p>Reset the camera (Shortcut: c)</p></body></html>",
nullptr));
761 #endif // QT_NO_TOOLTIP 762 actionToggle_coloring->setText(QApplication::translate(
"MainWindow",
"Coloring",
nullptr));
763 #ifndef QT_NO_TOOLTIP 764 actionToggle_coloring->setToolTip(QApplication::translate(
"MainWindow",
"<html><head/><body><p>Toggle the coloring (Shortcut: k):</p><p>- RGB</p><p>- One color</p><p>- Visibility-confidence</p></body></html>",
nullptr));
765 #endif // QT_NO_TOOLTIP 766 actionMesh_representation->setText(QApplication::translate(
"MainWindow",
"Mesh representation",
nullptr));
767 #ifndef QT_NO_TOOLTIP 768 actionMesh_representation->setToolTip(QApplication::translate(
"MainWindow",
"<html><head/><body><p>Toggle the display of the mesh (Shortcut: s):</p><p>- Points</p><p>- Wireframe</p><p>- Closed surface</p></body></html>",
nullptr));
769 #endif // QT_NO_TOOLTIP 770 actionSaveAs->setText(QApplication::translate(
"MainWindow",
"Save As ...",
nullptr));
771 #ifndef QT_NO_SHORTCUT 772 actionSaveAs->setShortcut(QApplication::translate(
"MainWindow",
"Ctrl+S",
nullptr));
773 #endif // QT_NO_SHORTCUT 774 #ifndef QT_NO_TOOLTIP 775 toolButton_1->setToolTip(QApplication::translate(
"MainWindow",
"<html><head/><body><p>Shows the unprocessed input data (Shortcut: 1).</p></body></html>",
nullptr));
776 #endif // QT_NO_TOOLTIP 777 toolButton_1->setText(QApplication::translate(
"MainWindow",
"Input",
nullptr));
778 #ifndef QT_NO_TOOLTIP 779 toolButton_2->setToolTip(QApplication::translate(
"MainWindow",
"<html><head/><body><p>Shows the processed input data (Shortcut: 2).</p></body></html>",
nullptr));
780 #endif // QT_NO_TOOLTIP 781 toolButton_2->setText(QApplication::translate(
"MainWindow",
"Processed",
nullptr));
782 #ifndef QT_NO_TOOLTIP 783 toolButton_3->setToolTip(QApplication::translate(
"MainWindow",
"<html><head/><body><p>Continuous registration (Shortcut: 3).</p></body></html>",
nullptr));
784 #endif // QT_NO_TOOLTIP 785 toolButton_3->setText(QApplication::translate(
"MainWindow",
"Continuous registration",
nullptr));
786 #ifndef QT_NO_TOOLTIP 787 toolButton_4->setToolTip(QApplication::translate(
"MainWindow",
"<html><head/><body><p>Registers new data once and returns to showing the processed input data (Shortcut: 4).</p></body></html>",
nullptr));
788 #endif // QT_NO_TOOLTIP 789 toolButton_4->setText(QApplication::translate(
"MainWindow",
"Single registration",
nullptr));
790 #ifndef QT_NO_TOOLTIP 791 toolButton_5->setToolTip(QApplication::translate(
"MainWindow",
"<html><head/><body><p>Shows the acquired model (Shortcut: 5).</p></body></html>",
nullptr));
792 #endif // QT_NO_TOOLTIP 793 toolButton_5->setText(QApplication::translate(
"MainWindow",
"Show model",
nullptr));
794 #ifndef QT_NO_TOOLTIP 795 toolButton_6->setToolTip(QApplication::translate(
"MainWindow",
"<html><head/><body><p>Removes all unfit points (Shortcut: 6)</p></body></html>",
nullptr));
796 #endif // QT_NO_TOOLTIP 797 toolButton_6->setText(QApplication::translate(
"MainWindow",
"Clean",
nullptr));
798 #ifndef QT_NO_TOOLTIP 799 toolButton_0->setToolTip(QApplication::translate(
"MainWindow",
"<html><head/><body><p>Reset the scanning pipeline (Shortcut: 0).</p></body></html>",
nullptr));
800 #endif // QT_NO_TOOLTIP 801 toolButton_0->setText(QApplication::translate(
"MainWindow",
"Reset",
nullptr));
802 dockWidget->setWindowTitle(QApplication::translate(
"MainWindow",
"Settings",
nullptr));
803 #ifndef QT_NO_TOOLTIP 804 toolBox->setToolTip(QString());
805 #endif // QT_NO_TOOLTIP 806 #ifndef QT_NO_TOOLTIP 807 groupBox_crop_xyz->setToolTip(QString());
808 #endif // QT_NO_TOOLTIP 809 groupBox_crop_xyz->setTitle(QApplication::translate(
"MainWindow",
"Crop coordinates",
nullptr));
810 label_z_min->setText(QApplication::translate(
"MainWindow",
"z min",
nullptr));
811 label_x_min->setText(QApplication::translate(
"MainWindow",
"x min",
nullptr));
812 label_xyz_erode_size->setText(QApplication::translate(
"MainWindow",
"Erode size",
nullptr));
813 label_y_min->setText(QApplication::translate(
"MainWindow",
"y min",
nullptr));
814 label_x_max->setText(QApplication::translate(
"MainWindow",
"x max",
nullptr));
815 label_y_max->setText(QApplication::translate(
"MainWindow",
"y max",
nullptr));
816 label_z_max->setText(QApplication::translate(
"MainWindow",
"z max",
nullptr));
817 #ifndef QT_NO_TOOLTIP 818 groupBox_segment_hsv->setToolTip(QString());
819 #endif // QT_NO_TOOLTIP 820 groupBox_segment_hsv->setTitle(QApplication::translate(
"MainWindow",
"Color segmentation",
nullptr));
821 label_s_max->setText(QApplication::translate(
"MainWindow",
"S max",
nullptr));
822 label_h_min->setText(QApplication::translate(
"MainWindow",
"H min",
nullptr));
823 label_h_max->setText(QApplication::translate(
"MainWindow",
"H max",
nullptr));
824 label_s_min->setText(QApplication::translate(
"MainWindow",
"S min",
nullptr));
825 label_v_min->setText(QApplication::translate(
"MainWindow",
"V min",
nullptr));
826 label_v_max->setText(QApplication::translate(
"MainWindow",
"V max",
nullptr));
827 label_hsv_dilate_size->setText(QApplication::translate(
"MainWindow",
"Dilate size",
nullptr));
828 checkBox_color_segmentation_inverted->setText(QApplication::translate(
"MainWindow",
"Inverted",
nullptr));
829 checkBox_color_segmentation_enabled->setText(QApplication::translate(
"MainWindow",
"Enabled",
nullptr));
830 toolBox->setItemText(toolBox->indexOf(page_input_data_processing), QApplication::translate(
"MainWindow",
"Input data processing",
nullptr));
831 groupBox_convergence->setTitle(QApplication::translate(
"MainWindow",
"Convergence and failure criteria",
nullptr));
832 label_epsilon->setText(QApplication::translate(
"MainWindow",
"Epsilon",
nullptr));
833 label_max_iterations->setText(QApplication::translate(
"MainWindow",
"Max iterations",
nullptr));
834 label_min_overlap->setText(QApplication::translate(
"MainWindow",
"Min overlap",
nullptr));
835 label_max_fitness->setText(QApplication::translate(
"MainWindow",
"Max fitness",
nullptr));
836 groupBox_correspondence_rejection->setTitle(QApplication::translate(
"MainWindow",
"Correspondence rejection",
nullptr));
837 label_correspondence_rejection_factor->setText(QApplication::translate(
"MainWindow",
"Factor",
nullptr));
838 label_correspondence_rejection_max_angle->setText(QApplication::translate(
"MainWindow",
"Max angle",
nullptr));
839 toolBox->setItemText(toolBox->indexOf(page_registration), QApplication::translate(
"MainWindow",
"Registration",
nullptr));
840 groupBox_averaging->setTitle(QApplication::translate(
"MainWindow",
"Averaging",
nullptr));
841 label_max_squared_distance->setText(QApplication::translate(
"MainWindow",
"Max squared distance",
nullptr));
842 label_averaging_max_angle->setText(QApplication::translate(
"MainWindow",
"Max angle",
nullptr));
843 groupBox_outlier_removal->setTitle(QApplication::translate(
"MainWindow",
"Outlier removal",
nullptr));
844 label_max_age->setText(QApplication::translate(
"MainWindow",
"Max age",
nullptr));
845 label_min_directions->setText(QApplication::translate(
"MainWindow",
"Min directions",
nullptr));
846 toolBox->setItemText(toolBox->indexOf(page_integration), QApplication::translate(
"MainWindow",
"Integration",
nullptr));
847 toolBar->setWindowTitle(QApplication::translate(
"MainWindow",
"toolBar",
nullptr));
848 menuFile->setTitle(QApplication::translate(
"MainWindow",
"File",
nullptr));
859 #endif // UI_MAIN_WINDOW_H
QToolButton * toolButton_5
QToolButton * toolButton_4
QCheckBox * checkBox_color_segmentation_enabled
QSpinBox * spinBox_min_directions
QLabel * label_max_squared_distance
QLineEdit * lineEdit_epsilon
QVBoxLayout * verticalLayout_2
QSpacerItem * horizontalSpacer_main_controls
QWidget * page_integration
QWidget * page_registration
QSpinBox * spinBox_xyz_erode_size
QWidget * page_input_data_processing
QSpacerItem * verticalSpacer_registration
QAction * actionToggle_coloring
QGroupBox * groupBox_averaging
QLabel * label_xyz_erode_size
QSpinBox * spinBox_max_iterations
QToolButton * toolButton_3
QWidget * dockWidgetContents
QHBoxLayout * horizontalLayout_main_controls
QGridLayout * gridLayout_4
QWidget * placeholder_in_hand_scanner
QToolButton * toolButton_6
QToolButton * toolButton_0
void retranslateUi(QMainWindow *MainWindow)
QLineEdit * lineEdit_max_squared_distance
QLabel * label_min_directions
QGridLayout * gridLayout_6
QGroupBox * groupBox_segment_hsv
QVBoxLayout * verticalLayout_4
void setupUi(QMainWindow *MainWindow)
QLabel * label_max_iterations
QSpinBox * spinBox_averaging_max_angle
QSpinBox * spinBox_min_overlap
QLabel * label_min_overlap
QLineEdit * lineEdit_max_fitness
QSpacerItem * verticalSpacer_integration
QLabel * label_max_fitness
QLabel * label_correspondence_rejection_factor
QGroupBox * groupBox_outlier_removal
QSpacerItem * verticalSpacer_input_data_processing
QLabel * label_averaging_max_angle
QAction * actionReset_camera
QLabel * label_correspondence_rejection_max_angle
QLabel * label_hsv_dilate_size
QVBoxLayout * verticalLayout
QGroupBox * groupBox_crop_xyz
QAction * actionMesh_representation
QCheckBox * checkBox_color_segmentation_inverted
QGridLayout * gridLayout_5
QSpinBox * spinBox_correspondence_rejection_max_angle
QSpinBox * spinBox_hsv_dilate_size
QGridLayout * gridLayout_3
QGridLayout * gridLayout_2
QGridLayout * gridLayout_7
QVBoxLayout * verticalLayout_3
QToolButton * toolButton_2
QToolButton * toolButton_1
QDoubleSpinBox * doubleSpinBox_correspondence_rejection_factor
QGroupBox * groupBox_correspondence_rejection
QSpinBox * spinBox_max_age
QGroupBox * groupBox_convergence