4 #include <visp3/ustk_core/usConfig.h>
6 #if defined(VISP_HAVE_MODULE_USTK_GUI) && defined(VISP_HAVE_MODULE_USTK_GRABBER)
8 #include <QApplication>
9 #include <QtCore/QThread>
11 #include <visp3/ustk_grabber/usNetworkGrabberPreScan3D.h>
13 #include <visp3/ustk_core/usImageIo.h>
15 #include <visp3/ustk_gui/us3DSceneWidget.h>
16 #include <visp3/ustk_gui/usVTKConverter.h>
18 int main(
int argc,
char **argv)
21 QApplication app(argc, argv);
24 QThread *grabbingThread =
new QThread();
38 bool captureRunning =
true;
51 vtkSmartPointer<vtkImageData> vtkImage = vtkSmartPointer<vtkImageData>::New();
60 qtGrabber->moveToThread(grabbingThread);
61 grabbingThread->start();
68 grabbedFrame = qtGrabber->
acquire();
70 std::cout <<
"MAIN THREAD received volume No : " << grabbedFrame->
getVolumeCount() << std::endl;
79 vtkImage->GetSpacing(spacing);
81 vtkSmartPointer<vtkPlane> planeX = vtkSmartPointer<vtkPlane>::New();
82 planeX->SetNormal(1, 0, 0);
83 planeX->SetOrigin(grabbedFrame->getWidth() * spacing[0] / 2.0, 0, 0);
84 vtkSmartPointer<vtkPlane> planeY = vtkSmartPointer<vtkPlane>::New();
85 planeY->SetNormal(0, 1, 0);
86 planeY->SetOrigin(0, grabbedFrame->getHeight() * spacing[1] / 2.0, 0);
87 vtkSmartPointer<vtkPlane> planeZ = vtkSmartPointer<vtkPlane>::New();
88 planeZ->SetNormal(0, 0, 1);
89 planeZ->SetOrigin(0, 0, grabbedFrame->getNumberOfFrames() * spacing[2] / 2.0);
105 }
while (captureRunning);
113 std::cout <<
"You should build ustk_gui and ustk_grabber to run this tutorial" << std::endl;
@ US_ANGLE_PITCH_3
8 motor steps per frame = 1.4634 degrees
Specific class to grab pre-scan volumes from the ultrasound station on the network.
bool isFirstFrameAvailable()
usVolumeGrabbedInfo< usImagePreScan3D< unsigned char > > * acquire()
void setFramesPerVolume(int framesPerVolume)
bool initAcquisition(const usNetworkGrabber::usInitHeaderSent &header)
bool sendAcquisitionParameters()
void setStepsPerFrame(usAcquisitionParameters::usMotorStep stepsPerFrame)
void setMotorActivation(bool activateMotor)
static void convert(const usImagePostScan3D< unsigned char > &postScanImage, vtkSmartPointer< vtkImageData > &vtkPostScanImage, vtkSmartPointer< vtkImageImport > importer=NULL)
Class to store additionnal informations arriving on the network with ultrasound volumes grabbed,...
quint32 getVolumeCount() const