4 #include <visp3/ustk_core/usConfig.h>
6 #if defined(VISP_HAVE_MODULE_USTK_GUI) && defined(VISP_HAVE_MODULE_USTK_TEMPLATE_TRACKING) && \
7 (defined(USTK_HAVE_VTK_QT5) || defined(USTK_HAVE_QT5))
9 #include <visp3/ustk_core/usImageIo.h>
10 #include <visp3/ustk_grabber/usNetworkGrabberPreScan2D.h>
11 #include <visp3/ustk_gui/usImageDisplayWidgetQmlOverlay.h>
12 #include <visp3/ustk_gui/usTracker2DQtWrapper.h>
13 #include <visp3/ustk_gui/usUltrasonixClientWidget.h>
15 #include <QApplication>
16 #include <QMainWindow>
18 int main(
int argc,
char **argv)
20 QApplication app(argc, argv);
21 app.setApplicationName(QString(
"USTK tracking 2D demo"));
25 usUltrasonixClientWidget *ultrasonixControlWidet =
new usUltrasonixClientWidget();
27 QWidget *centralWidget =
new QWidget();
28 QHBoxLayout *mainLayout =
new QHBoxLayout();
29 mainLayout->addWidget(ultrasonixControlWidet);
30 mainLayout->addWidget(widget, 3);
32 centralWidget->setLayout(mainLayout);
35 QThread *grabbingThread =
new QThread();
37 qtGrabber->moveToThread(grabbingThread);
38 grabbingThread->start();
40 usTracker2DQtWrapper *tracker =
new usTracker2DQtWrapper();
43 QObject::connect(widget, SIGNAL(startTracking(vpRectOriented)), tracker, SLOT(initTracker(vpRectOriented)));
44 QObject::connect(widget, SIGNAL(stopTracking()), tracker, SLOT(stopTracking()));
47 qRegisterMetaType<QHostAddress>(
"QHostAddress");
48 qRegisterMetaType<usNetworkGrabber::usInitHeaderSent>(
"usNetworkGrabber::usInitHeaderSent");
49 QObject::connect(ultrasonixControlWidet, SIGNAL(connectToServer(QHostAddress)), qtGrabber,
50 SLOT(connectToServer(QHostAddress)));
53 QObject::connect(ultrasonixControlWidet, SIGNAL(center3DProbeMotor()), qtGrabber, SLOT(center3DProbeMotor()));
54 QObject::connect(ultrasonixControlWidet, SIGNAL(runAcquisition()), qtGrabber, SLOT(runAcquisition()));
55 QObject::connect(ultrasonixControlWidet, SIGNAL(stopAcquisition()), qtGrabber, SLOT(stopAcquisition()));
58 qRegisterMetaType<usImagePreScan2D<unsigned char> >(
"usImagePreScan2D<unsigned char>");
65 QObject::connect(tracker, SIGNAL(newTrackedRectangle(vpRectOriented)), widget,
66 SLOT(updateRectPosition(vpRectOriented)));
69 window.setCentralWidget(centralWidget);
70 window.resize(640, 480);
79 std::cout <<
"You should build ustk_gui and ustk_template_tracking and use Qt5 library to run this tutorial"
Specific class to grab pre-scan frames from the ultrasound station on the network.