MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
QmitkIGTFiducialRegistration.cpp
Go to the documentation of this file.
1/*============================================================================
2
3The Medical Imaging Interaction Toolkit (MITK)
4
5Copyright (c) German Cancer Research Center (DKFZ)
6All rights reserved.
7
8Use of this source code is governed by a 3-clause BSD license that can be
9found in the LICENSE file.
10
11============================================================================*/
12
13// Blueberry
14#include <berryISelectionService.h>
15#include <berryIWorkbenchWindow.h>
16
17//Mitk
18#include <mitkDataNode.h>
19#include <mitkNodePredicateNot.h>
20#include <mitkNodePredicateProperty.h>
21#include <mitkNodePredicateOr.h>
22#include <mitkNodePredicateDataType.h>
23#include <mitkImageGenerator.h>
24
25// Qmitk
27#include <QmitkRenderWindow.h>
28
29// Qt
30#include <QMessageBox>
31#include <QSettings>
32#include <QTimer>
33
34// MicroServices
35#include <usModuleContext.h>
36#include <usGetModuleContext.h>
37#include "usServiceReference.h"
38
39const std::string QmitkIGTFiducialRegistration::VIEW_ID = "org.mitk.views.IGTFiducialRegistration";
40
44
46{
47
48 // create GUI widgets from the Qt Designer's .ui file
49 m_Controls.setupUi( parent );
50
51 //Connect signals and slots
52 connect(m_Controls.m_ChooseSelectedPointer, SIGNAL(clicked()), this, SLOT(PointerSelectionChanged()));
53 connect(m_Controls.m_ChooseSelectedImage, SIGNAL(clicked()), this, SLOT(ImageSelectionChanged()));
54
55 //Initialize Combobox
56 m_Controls.m_DataStorageComboBox->SetDataStorage(this->GetDataStorage());
57 m_Controls.m_DataStorageComboBox->SetAutoSelectNewItems(false);
58 m_Controls.m_DataStorageComboBox->SetPredicate(mitk::NodePredicateOr::New(mitk::NodePredicateDataType::New("Surface"), mitk::NodePredicateDataType::New("Image")));
59
60 //Initialize Fiducial Registration Widget
61 m_Controls.m_FiducialRegistrationWidget->setDataStorage(this->GetDataStorage());
62 m_Controls.m_FiducialRegistrationWidget->HideStaticRegistrationRadioButton(true);
63 m_Controls.m_FiducialRegistrationWidget->HideContinousRegistrationRadioButton(true);
64 m_Controls.m_FiducialRegistrationWidget->HideUseICPRegistrationCheckbox(true);
65
66}
67
69{
70 foreach(QmitkRenderWindow* renderWindow, this->GetRenderWindowPart(mitk::WorkbenchUtil::OPEN)->GetQmitkRenderWindows().values())
71 {
72 this->m_Controls.m_FiducialRegistrationWidget->AddSliceNavigationController(renderWindow->GetSliceNavigationController());
73 }
74}
75
77{
79 int toolID = m_Controls.m_TrackingDeviceSelectionWidget->GetSelectedToolID();
80 m_TrackingPointer = m_Controls.m_TrackingDeviceSelectionWidget->GetSelectedNavigationDataSource()->GetOutput(toolID);
81 m_Controls.m_FiducialRegistrationWidget->setTrackerNavigationData(m_TrackingPointer);
82 m_Controls.m_PointerLabel->setText(m_Controls.m_TrackingDeviceSelectionWidget->GetSelectedNavigationTool()->GetToolName().c_str());
83}
84
86{
88 m_Controls.m_ImageLabel->setText(m_Controls.m_DataStorageComboBox->GetSelectedNode()->GetName().c_str());
89 m_Controls.m_FiducialRegistrationWidget->setImageNode(m_Controls.m_DataStorageComboBox->GetSelectedNode());
90}
91
96
Ui::IGTFiducialRegistrationControls m_Controls
mitk::NavigationData::Pointer m_TrackingPointer
void CreateQtPartControl(QWidget *parent) override