18 #include <vtkTextProperty.h> 25 , m_DistanceImage(nullptr)
26 , m_CameraIntrinsics(nullptr)
27 , m_TextAnnotationAxial(nullptr)
28 , m_TextAnnotationSagittal(nullptr)
29 , m_TextAnnotationCoronal(nullptr)
30 , m_TextAnnotation3D(nullptr)
31 , m_RendererAxial(nullptr)
32 , m_RendererSagittal(nullptr)
33 , m_RendererCoronal(nullptr)
34 , m_Renderer3D(nullptr)
35 , m_MeasurementPointSet2D(nullptr)
36 , m_MeasurementPointSet3DNode(nullptr)
37 , m_PointSet2D(nullptr)
38 , m_PointSet3DNode(nullptr)
39 , m_PointSetInteractor(nullptr)
40 , m_MeasurementPointSetInteractor(nullptr)
41 , m_MeasurementPointSetChangedObserverTag(0)
42 , m_PointSetChangedObserverTag(0)
59 m_Controls =
new Ui::QmitkToFPointSetWidgetControls;
71 connect((QObject*)(
m_Controls->pointSetButton), SIGNAL(clicked()), (QObject*)
this, SLOT(
OnPointSet()));
84 m_Renderer3D = renderWindowHashMap.value(
"3d")->GetRenderer();
98 axialAnnotationPosition[0] = 10;
112 sagittalAnnotationPosition[0] = 10;
126 coronalAnnotationPosition[0] = 10;
140 annotationPosition3D[0] = 10;
180 if (dataStorage->Exists(measurementPointSet2DNode))
182 dataStorage->Remove(measurementPointSet2DNode);
187 measurementPointSet2DNode->SetName(
"Measurement PointSet 2D");
188 measurementPointSet2DNode->SetBoolProperty(
"helper object",
true);
189 measurementPointSet2DNode->SetBoolProperty(
"show contour",
true);
190 measurementPointSet2DNode->SetVisibility(
false, renderWindowHashMap.value(
"3d")->GetRenderer());
192 dataStorage->Add(measurementPointSet2DNode);
200 itk::SimpleMemberCommand<QmitkToFPointSetWidget>::Pointer measurementPointSetChangedCommand;
201 measurementPointSetChangedCommand = itk::SimpleMemberCommand<QmitkToFPointSetWidget>::New();
221 if (dataStorage->Exists(pointSet2DNode))
223 dataStorage->Remove(pointSet2DNode);
227 pointSet2DNode->SetName(
"ToF PointSet 2D");
228 pointSet2DNode->SetVisibility(
false, renderWindowHashMap.value(
"3d")->GetRenderer());
230 dataStorage->Add(pointSet2DNode);
237 itk::SimpleMemberCommand<QmitkToFPointSetWidget>::Pointer pointSetChangedCommand;
238 pointSetChangedCommand = itk::SimpleMemberCommand<QmitkToFPointSetWidget>::New();
243 if (dataStorage->Exists(pointSet3DNode))
245 dataStorage->Remove(pointSet3DNode);
266 m_Controls->pointSetButton->setChecked(
false);
337 if (pointSetNode.IsNotNull())
339 pointSetNode->SetIntProperty(
"layer", 100);
346 m_Controls->pointSetButton->setChecked(
false);
380 if (pointSetNode.IsNotNull())
382 pointSetNode->SetIntProperty(
"layer", 100);
428 if ((point1[0] >= 0.0f) && (point1[0] < imageSizeX) && (point1[1] >= 0) && (point1[1] < imageSizeY) &&
429 (point2[0] >= 0.0f) && (point2[0] < imageSizeX) && (point2[1] >= 0) && (point2[1] < imageSizeY))
439 toFDistanceImageToPointSetFilter->Update();
444 if (measurementPointSet3D->GetSize() == 2)
448 float distance = point1.EuclideanDistanceTo(point2);
449 std::stringstream stream;
450 stream << distance <<
" mm";
487 int pointSetValid = 1;
491 if ((currentPoint[0] >= 0.0f) && (currentPoint[0] < imageSizeX) && (currentPoint[1] >= 0) && (currentPoint[1] < imageSizeY))
511 toFDistanceImageToPointSetFilter->SetSubset(
m_PointSet2D);
512 toFDistanceImageToPointSetFilter->Update();
static void AddAnnotation(Annotation *annotation, const std::string &rendererID, Alignment alignment=TopLeft, double marginX=5, double marginY=5, int priority=-1)
mitk::DataStorage::Pointer m_DataStorage
static RenderingManager * GetInstance()
void RequestUpdateAll(RequestType type=REQUEST_UPDATE_ALL)