14 #include <vtkImageChangeInformation.h>
15 #include <vtkImageData.h>
27 mUid(uid), mBase(source), mProbe(probe)
36 mRedirecter = vtkImageChangeInformationPtr::New();
37 mRedirecter->SetInputData(mBase->getVtkImageData());
38 this->probeChangedSlot();
56 return mBase->getName();
61 return mRedirecter->GetOutput();
66 QString uid = mBase->getUid();
69 return mBase->getTimestamp() - probe->getProbeDefinition(uid).getTemporalCalibration();
71 return mBase->getTimestamp();
83 return mBase->getInfoString();
88 return mBase->getStatusString();
103 return mBase->validData();
108 return mBase->isConnected();
113 return mBase->isStreaming();
121 void ProbeAdapterRTSource::newFrameSlot()
129 mRedirecter->Update();
131 QString uid = mBase->getUid();
133 QSize dimProbe = data.
getSize();
134 QSize dimImage(mRedirecter->GetOutput()->GetDimensions()[0], mRedirecter->GetOutput()->GetDimensions()[1]);
136 if (dimProbe!=dimImage)
139 QString(
"Resampling probe calibration. Calibration:[%1,%2], Image:[%3,%4], uid=%5")
140 .arg(dimProbe.width())
141 .arg(dimProbe.height())
142 .arg(dimImage.width())
143 .arg(dimImage.height())
147 probe->setProbeDefinition(data);
152 void ProbeAdapterRTSource::probeChangedSlot()
158 mRedirecter->Update();
160 QString uid = mBase->getUid();
161 mRedirecter->SetOutputSpacing(probe->getProbeDefinition(uid).getSpacing().begin());
163 mRedirecter->Update();