4 #include <visp3/ustk_core/usConfig.h>
6 #if (defined(USTK_HAVE_QT5) || defined(USTK_HAVE_VTK_QT)) && (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI))
8 #include <QApplication>
9 #include <QtCore/QThread>
11 #include <visp3/ustk_grabber/usNetworkGrabberPostScanBiPlan.h>
13 #include <visp3/gui/vpDisplayGDI.h>
14 #include <visp3/gui/vpDisplayX.h>
16 int main(
int argc,
char **argv)
19 QApplication app(argc, argv);
31 std::vector<usFrameGrabbedInfo<usImagePostScan2D<unsigned char> > *> grabbedFrame;
34 #if defined(VISP_HAVE_X11)
35 vpDisplayX *display1 = NULL;
36 vpDisplayX *display2 = NULL;
37 #elif defined(VISP_HAVE_GDI)
38 vpDisplayGDI *display1 = NULL;
39 vpDisplayGDI *display2 = NULL;
41 bool displayInit =
false;
43 bool captureRunning =
true;
56 std::cout <<
"waiting ultrasound initialisation..." << std::endl;
60 grabbedFrame = qtGrabber->
acquire();
62 std::cout <<
"MAIN THREAD received frame No : " << grabbedFrame[0]->getFrameCount() <<
" and "
63 << grabbedFrame[1]->getFrameCount() << std::endl;
66 if (!displayInit && grabbedFrame[0]->getHeight() != 0 && grabbedFrame[0]->getWidth() != 0) {
67 #if defined(VISP_HAVE_X11)
68 display1 =
new vpDisplayX(*(grabbedFrame[0]));
69 display2 =
new vpDisplayX(*(grabbedFrame[1]));
70 #elif defined(VISP_HAVE_GDI)
71 display1 =
new vpDisplayGDI(*(grabbedFrame[0]));
72 display2 =
new vpDisplayGDI(*(grabbedFrame[1]));
79 if (vpDisplay::getClick(*grabbedFrame[0],
false) || vpDisplay::getClick(*grabbedFrame[1],
false))
80 captureRunning =
false;
81 vpDisplay::display(*(grabbedFrame[0]));
82 vpDisplay::display(*(grabbedFrame[1]));
83 vpDisplay::displayText(*grabbedFrame[0], 20, 20, std::string(
"Click to exit..."), vpColor::red);
84 vpDisplay::displayText(*grabbedFrame[1], 20, 20, std::string(
"Click to exit..."), vpColor::red);
85 vpDisplay::flush(*(grabbedFrame[0]));
86 vpDisplay::flush(*(grabbedFrame[1]));
89 }
while (captureRunning);
104 std::cout <<
"You should intall Qt5 (with wigdets and network modules), and display X to run this tutorial"
Specific class to grab post-scan frames from the ultrasound station on the network with the bi-plane ...
std::vector< usFrameGrabbedInfo< usImagePostScan2D< unsigned char > > * > acquire()
bool initAcquisition(const usNetworkGrabber::usInitHeaderSent &header)
bool sendAcquisitionParameters()
void setPostScanWidth(int postScanWidth)
void setPostScanHeigh(int postScanHeigh)
void setPostScanMode(bool postScanMode)