#include <iostream>
#include <visp3/ustk_core/usConfig.h>
#if (defined(USTK_HAVE_QT5) || defined(USTK_HAVE_VTK_QT)) && \
(defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
#include <QApplication>
#include <QStringList>
#include <QtCore/QThread>
#include <visp3/ustk_core/usImageIo.h>
#include <visp3/ustk_grabber/usNetworkGrabberPreScan2D.h>
#include <visp3/gui/vpDisplayGDI.h>
#include <visp3/gui/vpDisplayOpenCV.h>
#include <visp3/gui/vpDisplayX.h>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
if (qApp->arguments().contains(QString("--output"))) {
qApp->arguments().at(qApp->arguments().indexOf(QString("--output")) + 1).toStdString());
}
#if defined(VISP_HAVE_X11)
vpDisplayX *
display =
new vpDisplayX();
#elif defined(VISP_HAVE_GDI)
vpDisplayGDI *
display =
new vpDisplayGDI();
#elif defined(VISP_HAVE_OPENCV)
vpDisplayOpenCV *
display =
new vpDisplayOpenCV();
#endif
bool captureRunning = true;
bool displayInit = false;
std::cout << "init success" << std::endl;
std::cout << "waiting ultrasound initialisation..." << std::endl;
do {
grabbedFrame = qtGrabber->
acquire();
std::cout <<
"MAIN THREAD received frame No : " << grabbedFrame->
getFrameCount() << std::endl;
QString filename = QString(
"img") + QString::number(grabbedFrame->
getFrameCount()) + QString(
".xml");
std::cout << *grabbedFrame << std::endl;
if (!displayInit) {
displayInit = true;
}
vpDisplay::display(*grabbedFrame);
vpDisplay::flush(*grabbedFrame);
} else {
vpTime::wait(10);
}
} while (captureRunning);
return app.exec();
}
#else
int main()
{
std::cout << "You should intall Qt5 (with wigdets and network modules), and display X to run this tutorial"
<< std::endl;
return 0;
}
#endif
Class to store additionnal informations arriving on the network with ultrasound images grabbed,...
quint32 getFrameCount() const
static void write(const usImageRF2D< short > &rfImage, const std::string &headerFileName, const std::string &imageExtension2D)
Specific class to grab pre-scan frames from the ultrasound station on the network.
void activateRecording(std::string path)
bool isFirstFrameAvailable()
usFrameGrabbedInfo< usImagePreScan2D< unsigned char > > * acquire()
void useVpDisplay(vpDisplay *display)
bool initAcquisition(const usNetworkGrabber::usInitHeaderSent &header)
void setIPAddress(const std::string &s_ip)