48 , m_DeviceTypeCollection(nullptr)
49 , m_ToolProjectionNode(nullptr)
63 auto loggingPathWithoutFilename = QString::fromStdString(mitk::LogBackend::GetLogFile());
64 if (!loggingPathWithoutFilename.isEmpty())
67 int lengthOfFilename = QFileInfo(QString::fromStdString(mitk::LogBackend::GetLogFile())).fileName().size();
68 loggingPathWithoutFilename.resize(loggingPathWithoutFilename.size() - lengthOfFilename);
69 m_AutoSaveFilename = loggingPathWithoutFilename +
"TrackingToolboxAutoSave.IGTToolStorage";
73 m_AutoSaveFilename = QString(mitk::IOUtil::GetTempPath().c_str()) +
"TrackingToolboxAutoSave.IGTToolStorage";
75 MITK_INFO(
"IGT Tracking Toolbox") <<
"Filename for auto saving of IGT ToolStorages: " <<
m_AutoSaveFilename.toStdString();
86 QString interfaceName = QString::fromStdString(us_service_interface_iid<mitk::TrackingDeviceTypeCollection>());
87 QList<ctkServiceReference> serviceReference = pluginContext->getServiceReferences(interfaceName);
89 if (serviceReference.size() > 0)
91 m_DeviceTypeServiceReference = serviceReference.at(0);
92 const ctkServiceReference& r = serviceReference.at(0);
97 MITK_INFO <<
"No Tracking Device Collection!";
145 m_Controls =
new Ui::QmitkMITKIGTTrackingToolboxViewControls;
196 connect(
m_Worker, SIGNAL(ConnectDeviceFinished(
bool, QString)),
m_Controls->m_ConfigurationWidget, SLOT(OnConnected(
bool)));
197 connect(
m_Worker, SIGNAL(DisconnectDeviceFinished(
bool, QString)),
m_Controls->m_ConfigurationWidget, SLOT(OnDisconnected(
bool)));
203 std::string m_Filter =
"(" + us::ServiceConstants::OBJECTCLASS() +
"=" +
"org.mitk.services.NavigationToolStorage" +
")";
211 m_Controls->m_TrackingToolsStatusWidget->SetShowPositions(
true);
212 m_Controls->m_TrackingToolsStatusWidget->SetTextAlignment(Qt::AlignLeft);
213 m_Controls->m_simpleWidget->setVisible(
false);
224 m_Controls->m_AutoDetectTools->setVisible(
false);
225 m_Controls->m_StartStopTrackingButton->setEnabled(
false);
226 m_Controls->m_StartTrackingSimpleMode->setEnabled(
false);
227 m_Controls->m_FreezeUnfreezeTrackingButton->setEnabled(
false);
230 m_Controls->m_RenderWarningLabel->setVisible(
false);
231 m_Controls->m_TrackingFrozenLabel->setVisible(
false);
236 m_Controls->showHideToolAxisCheckBox->setEnabled(
false);
237 m_Controls->showHideToolProjectionCheckBox->setEnabled(
false);
238 m_Controls->m_toolselector->setEnabled(
false);
241 std::vector<mitk::TrackingDeviceData> Compatibles;
243 (
m_Controls->m_ConfigurationWidget ==
nullptr) ||
244 (
m_Controls->m_ConfigurationWidget->GetTrackingDevice().IsNull()))
246 MITK_ERROR <<
"Couldn't get current tracking device or an object is nullptr, something went wrong!";
254 for (std::size_t i = 0; i < Compatibles.size(); i++)
256 m_Controls->m_VolumeSelectionBox->addItem(Compatibles[i].Model.c_str());
260 m_toolStorage = mitk::NavigationToolStorage::New(GetDataStorage());
265 m_Controls->m_LoggingFileName->setText(QDir::toNativeSeparators(QDir::homePath()) + QDir::separator() +
"logfile.csv");
280 for (std::size_t i = 0; i < Compatibles.size(); i++)
282 m_Controls->m_VolumeSelectionBox->addItem(Compatibles[i].Model.c_str());
638 this->
m_Controls->m_MainWidget->setEnabled(
true);
643 MITK_WARN << errorMessage.toStdString();
647 if (!(
m_Controls->m_DisableAllTimers->isChecked()))
649 if (
m_Controls->m_UseDifferentUpdateRates->isChecked())
651 if (
m_Controls->m_RenderUpdateRate->value() != 0)
662 m_Controls->m_TrackingControlLabel->setText(
"Status: tracking");
669 m_Controls->m_TrackingToolsStatusWidget->ShowStatusLabels();
670 if (
m_Controls->m_ShowToolQuaternions->isChecked()) {
m_Controls->m_TrackingToolsStatusWidget->SetShowQuaternions(
true); }
671 else {
m_Controls->m_TrackingToolsStatusWidget->SetShowQuaternions(
false); }
674 if (
m_Controls->m_EnableOpenIGTLinkMicroService->isChecked())
679 QString dataModeSelection = this->
m_Controls->m_OpenIGTLinkDataFormat->currentText();
680 if (dataModeSelection ==
"TDATA")
684 else if (dataModeSelection ==
"TRANSFORM")
688 else if (dataModeSelection ==
"QTDATA")
692 else if (dataModeSelection ==
"POSITION")
708 m_Controls->m_ConnectDisconnectButton->setEnabled(
false);
709 m_Controls->m_StartStopTrackingButton->setText(
"Stop Tracking");
710 m_Controls->m_StartTrackingSimpleMode->setText(
"Stop\nTracking");
711 m_Controls->m_FreezeUnfreezeTrackingButton->setEnabled(
true);
1052 if (
m_Controls->m_UseDifferentUpdateRates->isChecked())
1054 if (
m_Controls->m_RenderUpdateRate->value() == 0)
1055 m_Controls->m_RenderWarningLabel->setVisible(
true);
1057 m_Controls->m_RenderWarningLabel->setVisible(
false);
1060 m_Controls->m_OptionsUpdateRateLabel->setEnabled(
false);
1062 m_Controls->m_RenderUpdateRate->setEnabled(
true);
1063 m_Controls->m_OptionsRenderUpdateRateLabel->setEnabled(
true);
1065 m_Controls->m_LogUpdateRate->setEnabled(
true);
1066 m_Controls->m_OptionsLogUpdateRateLabel->setEnabled(
true);
1071 m_Controls->m_RenderWarningLabel->setVisible(
false);
1074 m_Controls->m_OptionsUpdateRateLabel->setEnabled(
true);
1076 m_Controls->m_RenderUpdateRate->setEnabled(
false);
1077 m_Controls->m_OptionsRenderUpdateRateLabel->setEnabled(
false);
1079 m_Controls->m_LogUpdateRate->setEnabled(
false);
1080 m_Controls->m_OptionsLogUpdateRateLabel->setEnabled(
false);