diff --git a/Plugins/org.mitk.gui.qt.igt.app.echotrack/files.cmake b/Plugins/org.mitk.gui.qt.igt.app.echotrack/files.cmake index c7bf3f73ac..c150e04622 100644 --- a/Plugins/org.mitk.gui.qt.igt.app.echotrack/files.cmake +++ b/Plugins/org.mitk.gui.qt.igt.app.echotrack/files.cmake @@ -1,132 +1,135 @@ set(SRC_CPP_FILES ) set(INTERNAL_CPP_FILES org_mbi_gui_qt_usnavigation_Activator.cpp #USNavigation.cpp //not functional anymore. Delete code? QmitkUltrasoundCalibration.cpp QmitkUSNavigationMarkerPlacement.cpp QmitkUSNavigationPerspective.cpp mitkUSTargetPlacementQualityCalculator.cpp QmitkUSZonesDataModel.cpp QmitkUSNavigationCalibrationsDataModel.cpp QmitkUSZoneManagementColorDialogDelegate.cpp QmitkUSNavigationCalibrationRemoveDelegate.cpp QmitkUSNavigationCalibrationUpdateDepthDelegate.cpp Interactors/mitkUSZonesInteractor.cpp Interactors/mitkUSPointMarkInteractor.cpp Widgets/QmitkUSCombinedModalityCreationWidget.cpp Widgets/QmitkUSCombinedModalityEditWidget.cpp Widgets/QmitkUSNavigationFreezeButton.cpp Widgets/QmitkUSNavigationZoneDistancesWidget.cpp Widgets/QmitkUSZoneManagementWidget.cpp Widgets/QmitkZoneProgressBar.cpp NavigationStepWidgets/QmitkUSAbstractNavigationStep.cpp NavigationStepWidgets/QmitkUSNavigationStepCombinedModality.cpp NavigationStepWidgets/QmitkUSNavigationStepTumourSelection.cpp NavigationStepWidgets/QmitkUSNavigationStepZoneMarking.cpp NavigationStepWidgets/QmitkUSNavigationStepPlacementPlanning.cpp NavigationStepWidgets/QmitkUSNavigationStepMarkerIntervention.cpp NavigationStepWidgets/QmitkUSNavigationStepPunctuationIntervention.cpp + NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.cpp SettingsWidgets/QmitkUSNavigationCombinedSettingsWidget.cpp SettingsWidgets/QmitkUSNavigationAbstractSettingsWidget.cpp Filter/mitkUSNavigationTargetOcclusionFilter.cpp Filter/mitkUSNavigationTargetUpdateFilter.cpp Filter/mitkUSNavigationTargetIntersectionFilter.cpp IO/mitkUSNavigationCombinedModalityPersistence.cpp IO/mitkUSNavigationLoggingBackend.cpp IO/mitkUSNavigationExperimentLogging.cpp IO/mitkUSNavigationStepTimer.cpp ) set(UI_FILES #src/internal/USNavigationControls.ui //not functional anymore. Delete code? src/internal/QmitkUltrasoundCalibrationControls.ui src/internal/QmitkUSNavigationMarkerPlacement.ui src/internal/Widgets/QmitkUSCombinedModalityCreationWidget.ui src/internal/Widgets/QmitkUSCombinedModalityEditWidget.ui src/internal/Widgets/QmitkUSZoneManagementWidget.ui src/internal/NavigationStepWidgets/QmitkUSAbstractNavigationStep.ui src/internal/NavigationStepWidgets/QmitkUSNavigationStepCombinedModality.ui src/internal/NavigationStepWidgets/QmitkUSNavigationStepTumourSelection.ui src/internal/NavigationStepWidgets/QmitkUSNavigationStepZoneMarking.ui src/internal/NavigationStepWidgets/QmitkUSNavigationStepPlacementPlanning.ui src/internal/NavigationStepWidgets/QmitkUSNavigationStepMarkerIntervention.ui src/internal/NavigationStepWidgets/QmitkUSNavigationStepPunctuationIntervention.ui + src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.ui src/internal/SettingsWidgets/QmitkUSNavigationCombinedSettingsWidget.ui ) set(MOC_H_FILES src/internal/org_mbi_gui_qt_usnavigation_Activator.h src/internal/QmitkUltrasoundCalibration.h src/internal/QmitkUSNavigationMarkerPlacement.h src/internal/QmitkUSZonesDataModel.h src/internal/QmitkUSNavigationCalibrationsDataModel.h src/internal/QmitkUSZoneManagementColorDialogDelegate.h src/internal/QmitkUSNavigationCalibrationRemoveDelegate.h src/internal/QmitkUSNavigationCalibrationUpdateDepthDelegate.h src/internal/QmitkUSNavigationPerspective.h src/internal/Widgets/QmitkUSCombinedModalityCreationWidget.h src/internal/Widgets/QmitkUSCombinedModalityEditWidget.h src/internal/Widgets/QmitkUSNavigationFreezeButton.h src/internal/Widgets/QmitkUSNavigationZoneDistancesWidget.h src/internal/Widgets/QmitkUSZoneManagementWidget.h src/internal/Widgets/QmitkZoneProgressBar.h src/internal/NavigationStepWidgets/QmitkUSAbstractNavigationStep.h src/internal/NavigationStepWidgets/QmitkUSNavigationStepCombinedModality.h src/internal/NavigationStepWidgets/QmitkUSNavigationStepTumourSelection.h src/internal/NavigationStepWidgets/QmitkUSNavigationStepZoneMarking.h src/internal/NavigationStepWidgets/QmitkUSNavigationStepPlacementPlanning.h src/internal/NavigationStepWidgets/QmitkUSNavigationStepMarkerIntervention.h src/internal/NavigationStepWidgets/QmitkUSNavigationStepPunctuationIntervention.h + src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.h src/internal/SettingsWidgets/QmitkUSNavigationCombinedSettingsWidget.h src/internal/SettingsWidgets/QmitkUSNavigationAbstractSettingsWidget.h ) # list of resource files which can be used by the plug-in # system without loading the plug-ins shared library, # for example the icon used in the menu and tabs for the # plug-in views in the workbench set(CACHED_RESOURCE_FILES resources/icon_US_navigation.svg resources/icon_US_calibration.svg plugin.xml ) # list of Qt .qrc files which contain additional resources # specific to this plugin set(QRC_FILES resources/USNavigation.qrc ) set(CPP_FILES ) foreach(file ${SRC_CPP_FILES}) set(CPP_FILES ${CPP_FILES} src/${file}) endforeach(file ${SRC_CPP_FILES}) foreach(file ${INTERNAL_CPP_FILES}) set(CPP_FILES ${CPP_FILES} src/internal/${file}) endforeach(file ${INTERNAL_CPP_FILES}) set(RESOURCE_FILES Interactions/USPointMarkInteractions.xml Interactions/USZoneInteractions.xml Interactions/USZoneInteractionsHold.xml ) diff --git a/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.cpp b/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.cpp new file mode 100644 index 0000000000..c5d39f3364 --- /dev/null +++ b/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.cpp @@ -0,0 +1,92 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center, +Division of Medical and Biological Informatics. +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + +#include "QmitkUSNavigationStepCtUsRegistration.h" +#include "ui_QmitkUSNavigationStepCtUsRegistration.h" + +#include "mitkNodeDisplacementFilter.h" + +#include "../QmitkUSNavigationMarkerPlacement.h" + +QmitkUSNavigationStepCtUsRegistration::QmitkUSNavigationStepCtUsRegistration(QWidget *parent) : + QmitkUSAbstractNavigationStep(parent), + ui(new Ui::QmitkUSNavigationStepCtUsRegistration) +{ + ui->setupUi(this); +} + + +QmitkUSNavigationStepCtUsRegistration::~QmitkUSNavigationStepCtUsRegistration() +{ + delete ui; +} + +bool QmitkUSNavigationStepCtUsRegistration::OnStartStep() +{ + return true; +} + +bool QmitkUSNavigationStepCtUsRegistration::OnStopStep() +{ + return true; +} + +bool QmitkUSNavigationStepCtUsRegistration::OnFinishStep() +{ + return true; +} + +bool QmitkUSNavigationStepCtUsRegistration::OnActivateStep() +{ + return true; +} + +bool QmitkUSNavigationStepCtUsRegistration::OnDeactivateStep() +{ + return true; +} + +void QmitkUSNavigationStepCtUsRegistration::OnUpdate() +{ + if (m_NavigationDataSource.IsNull()) { return; } + + m_NavigationDataSource->Update(); +} + +void QmitkUSNavigationStepCtUsRegistration::OnSettingsChanged(const itk::SmartPointer settingsNode) +{ + +} + +QString QmitkUSNavigationStepCtUsRegistration::GetTitle() +{ + return "CT-to-US registration"; +} + +QmitkUSAbstractNavigationStep::FilterVector QmitkUSNavigationStepCtUsRegistration::GetFilter() +{ + return FilterVector(); +} + +void QmitkUSNavigationStepCtUsRegistration::OnSetCombinedModality() +{ + mitk::AbstractUltrasoundTrackerDevice::Pointer combinedModality = this->GetCombinedModality(false); + if (combinedModality.IsNotNull()) + { + m_NavigationDataSource = combinedModality->GetNavigationDataSource(); + } + +} diff --git a/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.h b/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.h new file mode 100644 index 0000000000..0180d365fd --- /dev/null +++ b/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.h @@ -0,0 +1,109 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center, +Division of Medical and Biological Informatics. +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + +#ifndef QMITKUSNAVIGATIONSTEPCTUSREGISTRATION_H +#define QMITKUSNAVIGATIONSTEPCTUSREGISTRATION_H + +#include "QmitkUSAbstractNavigationStep.h" + +namespace itk { +template class SmartPointer; +} + +namespace mitk { +class NodeDisplacementFilter; +class NavigationDataSource; +} + +namespace Ui { +class QmitkUSNavigationStepCtUsRegistration; +} + +/** + * \brief Navigation step for marking risk structures. + * The user can add risk structures by interacting with the render windows. The + * risk structures are organized in an embedded table view. + * + * The risk structures are stored under DATANAME_BASENODE -> DATANAME_ZONES. + * + * This step is ready for the next step directly after activating. All actions + * to be done in this step are optional. + */ +class QmitkUSNavigationStepCtUsRegistration : public QmitkUSAbstractNavigationStep +{ + Q_OBJECT + +protected slots: + +public: + explicit QmitkUSNavigationStepCtUsRegistration(QWidget *parent = 0); + ~QmitkUSNavigationStepCtUsRegistration(); + + /** + * \brief Initialization of the data storage nodes. + * \return always true + */ + virtual bool OnStartStep(); + + /** + * \brief Resets widget and filter and removes nodes from the data storage. + * \return always true + */ + virtual bool OnStopStep(); + + /** + * \brief There is nothing to be done. + * \return always true + */ + virtual bool OnFinishStep(); + + /** + * \brief Selects input for the node displacement filter and emits "ReadyForNextStep" signal. + * The input selection cannot be done earlier. + * \return + */ + virtual bool OnActivateStep(); + + virtual bool OnDeactivateStep(); + + /** + * \brief Updates just the tracking validity status. + */ + virtual void OnUpdate(); + + /** + * The property "settings.interaction-concept" is used. + */ + virtual void OnSettingsChanged(const itk::SmartPointer settingsNode); + + virtual QString GetTitle(); + + /** + * @return a node displacement filter for the zone surfaces + */ + virtual FilterVector GetFilter(); + +protected: + virtual void OnSetCombinedModality(); + + itk::SmartPointer m_NavigationDataSource; + + +private: + Ui::QmitkUSNavigationStepCtUsRegistration *ui; +}; + +#endif // QMITKUSNAVIGATIONSTEPCTUSREGISTRATION_H diff --git a/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.ui b/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.ui new file mode 100644 index 0000000000..6273ca532b --- /dev/null +++ b/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.ui @@ -0,0 +1,22 @@ + + + QmitkUSNavigationStepCtUsRegistration + + + + 0 + 0 + 400 + 395 + + + + Form + + + + + + + + diff --git a/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/QmitkUSNavigationMarkerPlacement.ui b/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/QmitkUSNavigationMarkerPlacement.ui index 953bcaad53..56a32cf0f1 100644 --- a/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/QmitkUSNavigationMarkerPlacement.ui +++ b/Plugins/org.mitk.gui.qt.igt.app.echotrack/src/internal/QmitkUSNavigationMarkerPlacement.ui @@ -1,251 +1,275 @@ QmitkUSNavigationMarkerPlacement 0 0 562 446 Form true - 0 + 1 Initialization Navigation Control 0 + + + + 0 + 0 + 520 + 257 + + + + CT-to-US Registration + + + + + + + 0 0 - 93 - 57 + 520 + 257 Target Initialize 0 0 - 93 + 98 57 Critical Structures Initialize 0 0 - 93 + 98 57 Needle Insertion Initialize Settings Qt::Horizontal Enable Navigation Render Window Layout with RenderWindow true 1 3 Refresh view Qt::Horizontal false Finish Experiment Start New Experiment 20 20 QmitkUSNavigationStepCombinedModality QWidget
src/internal/NavigationStepWidgets/QmitkUSNavigationStepCombinedModality.h
1
QmitkUSNavigationStepTumourSelection QWidget
src/internal/NavigationStepWidgets/QmitkUSNavigationStepTumourSelection.h
1
QmitkUSNavigationStepZoneMarking QWidget
src/internal/NavigationStepWidgets/QmitkUSNavigationStepZoneMarking.h
1
QmitkUSNavigationStepPunctuationIntervention QWidget
src/internal/NavigationStepWidgets/QmitkUSNavigationStepPunctuationIntervention.h
1
QmitkUSNavigationCombinedSettingsWidget QWidget
src/internal/SettingsWidgets/QmitkUSNavigationCombinedSettingsWidget.h
1
+ + QmitkUSNavigationStepCtUsRegistration + QWidget +
src/internal/NavigationStepWidgets/QmitkUSNavigationStepCtUsRegistration.h
+ 1 +
OnStartExperiment() OnFinishExperiment()