diff --git a/Modules/SurfaceRegistration/src/DataManagement/MitkShortestDistanceCalculator.cpp b/Modules/SurfaceRegistration/src/DataManagement/MitkShortestDistanceCalculator.cpp index 4d4be4079a..31f12ea25a 100644 --- a/Modules/SurfaceRegistration/src/DataManagement/MitkShortestDistanceCalculator.cpp +++ b/Modules/SurfaceRegistration/src/DataManagement/MitkShortestDistanceCalculator.cpp @@ -1,71 +1,69 @@ /*=================================================================== 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 "mitkShortestDistanceCalculator.h" #include "vtkCellLocator.h" #include "vtkPointData.h" #include "vtkImplicitPolyDataDistance.h" #include "vtkDoubleArray.h" #include // std::abs - - mitk::ShortestDistanceCalculator::ShortestDistanceCalculator() { } mitk::ShortestDistanceCalculator::~ShortestDistanceCalculator() { } vtkSmartPointer mitk::ShortestDistanceCalculator::calculateShortestDistance(vtkSmartPointer moving, vtkSmartPointer target) { MITK_INFO << "calculate shortest distance ..."; vtkSmartPointer distances = vtkSmartPointer::New(); double fromPoint[3] = { 0, 0, 0 }; int pointNumber = moving->GetPoints()->GetNumberOfPoints(); vtkSmartPointer implicitPolyDataDistance = vtkSmartPointer::New(); implicitPolyDataDistance->SetInput(target); //test double mean = 0; double min = 0; double max = 0; for (int i = 0; i < pointNumber; ++i) { moving->GetPoints()->GetPoint(i, fromPoint); double distance = implicitPolyDataDistance->FunctionValue(fromPoint[0], fromPoint[1], fromPoint[2]); // MITK_INFO << distance; distances->InsertNextValue(distance); mean += std::abs(distance); if (distance < min) { min = distance; } else if (distance > max) { max = distance; } } mean = mean / pointNumber; MITK_INFO << "The mean is: " << mean; MITK_INFO << "Min Value is: " << min; MITK_INFO << "Max Value is: " << max; return distances; } \ No newline at end of file diff --git a/Modules/SurfaceRegistration/src/mitkShapeComparisonManager.cpp b/Modules/SurfaceRegistration/src/mitkShapeComparisonManager.cpp index bec5415d8e..fa2d911350 100644 --- a/Modules/SurfaceRegistration/src/mitkShapeComparisonManager.cpp +++ b/Modules/SurfaceRegistration/src/mitkShapeComparisonManager.cpp @@ -1,159 +1,158 @@ /*=================================================================== 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 #include #include #include #include #include #include #include #include #include #include #include #include mitk::ShapeComparisonManager::ShapeComparisonManager(mitk::Surface::Pointer moving, mitk::Surface::Pointer target) { this->m_MovingSurface = moving; this->m_TargetSurface = target; createLookUpTable(); } mitk::ShapeComparisonManager::~ShapeComparisonManager() { m_MovingSurface->Delete(); m_TargetSurface->Delete(); m_registeredSurface->Delete(); m_distances->Delete(); m_LookupTable->Delete(); } mitk::Surface::Pointer mitk::ShapeComparisonManager::getRegisteredSurface() { return m_registeredSurface; } void mitk::ShapeComparisonManager::execute() { // printPoints(); manageICPCalculation(); manageCalculateDistances(); } vtkSmartPointer mitk::ShapeComparisonManager::getTable() { return m_LookupTable; } mitk::DataNode::Pointer mitk::ShapeComparisonManager::getColourTransformedDataNode() { mitk::Surface::Pointer currentSurface; if (m_registeredSurface == nullptr) { currentSurface = m_MovingSurface; } else { currentSurface = m_registeredSurface; } currentSurface->GetVtkPolyData()->GetPointData()->SetScalars(m_distances); currentSurface->GetVtkPolyData()->GetPointData()->Update(); mitk::LookupTable::Pointer lut = mitk::LookupTable::New(); lut->SetVtkLookupTable(m_LookupTable); mitk::LookupTableProperty::Pointer prop = mitk::LookupTableProperty::New(lut); currentSurface->GetVtkPolyData()->GetPointData()->Update(); mitk::DataNode::Pointer planeNodeTrans = mitk::DataNode::New(); planeNodeTrans->SetProperty("LookupTable", prop); planeNodeTrans->SetBoolProperty("scalar visibility", true); planeNodeTrans->SetBoolProperty("color mode", true); planeNodeTrans->SetFloatProperty("ScalarsRangeMinimum", -5.0); planeNodeTrans->SetFloatProperty("ScalarsRangeMaximum", 5.0); // Configure material so that only scalar colors are shown planeNodeTrans->SetColor(0.0f, 0.0f, 0.0f); planeNodeTrans->SetOpacity(1.0f); planeNodeTrans->SetFloatProperty("material.wireframeLineWidth", 2.0f); //Set view of plane to VTK_SURFACE planeNodeTrans->SetProperty("material.representation", mitk::VtkRepresentationProperty::New());//VTK_SURFACE currently default // save colored surface node planeNodeTrans->SetData(currentSurface); - planeNodeTrans->SetName("ColouredNode"); return planeNodeTrans; } void mitk::ShapeComparisonManager::manageICPCalculation() { m_registeredSurface = mitk::Surface::New(); mitk::SurfaceRegistrationICP *registrationHelper = new SurfaceRegistrationICP(); m_registeredSurface = registrationHelper->CalculateICP(m_MovingSurface, m_TargetSurface); } void mitk::ShapeComparisonManager::manageCalculateDistances() { mitk::ShortestDistanceCalculator *distanceCalculator = new ShortestDistanceCalculator(); if (m_registeredSurface) { m_distances = distanceCalculator->calculateShortestDistance(m_registeredSurface->GetVtkPolyData(), m_TargetSurface->GetVtkPolyData()); } else { m_distances = distanceCalculator->calculateShortestDistance(m_MovingSurface->GetVtkPolyData(), m_TargetSurface->GetVtkPolyData()); } } void mitk::ShapeComparisonManager::createLookUpTable() { m_LookupTable = vtkSmartPointer::New(); m_LookupTable->SetNumberOfTableValues(25); m_LookupTable->SetTableRange(-5.0, 5.0); m_LookupTable->Build(); } void mitk::ShapeComparisonManager::printPoints() { MITK_INFO << "printing"; std::ofstream OutputFileMoving; OutputFileMoving.open("movingPoints.txt"); int pointNumber = m_MovingSurface->GetVtkPolyData()->GetPoints()->GetNumberOfPoints(); double printPoint[3] = { 0,0,0 }; for (int i = 0; i < pointNumber; ++i) { m_MovingSurface->GetVtkPolyData()->GetPoints()->GetPoint(i, printPoint); OutputFileMoving << printPoint[0]<<" " << printPoint[1] << " " << printPoint[2] <GetVtkPolyData()->GetPoints()->GetNumberOfPoints(); double printPoint2[3] = { 0,0,0 }; for (int i = 0; i < pointNumber2; ++i) { m_TargetSurface->GetVtkPolyData()->GetPoints()->GetPoint(i, printPoint2); OutputFileTarget << printPoint2[0] << " " << printPoint2[1] << " " << printPoint2[2] << std::endl; } OutputFileTarget.close(); } diff --git a/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/QmitkSurfaceRegistration.cpp b/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/QmitkSurfaceRegistration.cpp index 66e28d2ff9..fdc4c96f7b 100644 --- a/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/QmitkSurfaceRegistration.cpp +++ b/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/QmitkSurfaceRegistration.cpp @@ -1,228 +1,167 @@ /*========================================================================= Program: Medical Imaging & Interaction Toolkit Language: C++ Date: $Date$ Version: $Revision$ Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. See MITKCopyright.txt or http://www.mitk.org/copyright.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #include "QmitkSurfaceRegistration.h" +#include +#include #include #include #include #include -#include -#include - -#include -#include - #include #include #include #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include const std::string QmitkSurfaceRegistration::VIEW_ID = "org.mitk.views.qmitksurfaceregistration"; QmitkSurfaceRegistration::QmitkSurfaceRegistration(QObject *parent) - : m_ParentWidget(0), m_movingSurfaceNode(nullptr), m_targetSurfaceNode(nullptr) + : m_ParentWidget(0) { } QmitkSurfaceRegistration::~QmitkSurfaceRegistration() { - m_movingSurfaceNode = nullptr; - m_targetSurfaceNode = nullptr; + m_movingSurface = nullptr; + m_targetSurface = nullptr; } void QmitkSurfaceRegistration::SetFocus() { - m_Controls.groupBoxMoving->setFocus(); + m_Controls.movingGroupBox->setFocus(); } QWidget * QmitkSurfaceRegistration::GetControls() { return nullptr; } + void QmitkSurfaceRegistration::CreateQtPartControl(QWidget *parent) { // create GUI widgets from the Qt Designer's .ui file m_Controls.setupUi(parent); - connect(m_Controls.pushButtonExecute, SIGNAL(clicked()), this, SLOT(doExecute())); + + m_Controls.movingSurfaceNameComboBox->SetDataStorage(this->GetDataStorage()); + m_Controls.movingSurfaceNameComboBox->SetPredicate(mitk::NodePredicateAnd::New( + mitk::TNodePredicateDataType::New(), + mitk::NodePredicateNot::New(mitk::NodePredicateProperty::New("helper object")))); + m_Controls.targetSurfaceNameComboBox->SetDataStorage(this->GetDataStorage()); + m_Controls.targetSurfaceNameComboBox->SetPredicate(mitk::NodePredicateAnd::New( + mitk::TNodePredicateDataType::New(), + mitk::NodePredicateNot::New(mitk::NodePredicateProperty::New("helper object")))); + + connect(m_Controls.executePushButton, SIGNAL(clicked()), this, SLOT(doExecute())); + connect(m_Controls.movingSurfaceNameComboBox, SIGNAL(OnSelectionChanged(const mitk::DataNode *)), this, SLOT(OnSelectedMovingSurfaceChanged(const mitk::DataNode *))); + connect(m_Controls.targetSurfaceNameComboBox, SIGNAL(OnSelectionChanged(const mitk::DataNode *)), this, SLOT(OnSelectedTargetSurfaceChanged(const mitk::DataNode *))); + connect(m_Controls.mirroringCheckBox, SIGNAL(isChecked()), this, SLOT(doMirroring())); mitk::RenderingManager::GetInstance()->SetDataStorage(this->GetDataStorageReference()->GetDataStorage()); mitk::RenderingManager::GetInstance()->InitializeViews(); m_ParentWidget = parent; } -void QmitkSurfaceRegistration::OnSelectionChanged(berry::IWorkbenchPart::Pointer /*part*/, - const QList &nodes) +void QmitkSurfaceRegistration::OnSelectedMovingSurfaceChanged(const mitk::DataNode *node) { - bool rotationEnabled = false; + if (node != nullptr) + { + m_movingSurface = dynamic_cast(node->GetData()); + m_Controls.selectMovingSurfaceLabel->setText("Selected moving surface:"); + m_Controls.selectMovingSurfaceLabel->setStyleSheet(" QLabel { color: rgb(0, 0, 0) }"); + m_Controls.mirroringCheckBox->setEnabled(true); + mitk::RenderingManager::GetInstance()->RequestUpdateAll(); + if (m_targetSurface != nullptr && m_targetSurface.GetPointer() != m_movingSurface.GetPointer()) + { + m_Controls.executePushButton->setEnabled(true); + } + } +} - if (nodes.empty()) +void QmitkSurfaceRegistration::OnSelectedTargetSurfaceChanged(const mitk::DataNode *node) +{ + if (node != nullptr) { - m_Controls.labelSelectMovingSurface->setStyleSheet(" QLabel { color: rgb(255, 0, 0) }"); - m_Controls.labelSelectTargetSurface->setStyleSheet(" QLabel { color: rgb(255, 0, 0) }"); - m_Controls.labelMovingSurfaceName->setText(QString::fromStdString("No moving surface selected")); - m_Controls.labelTargetSurfaceName->setText(QString::fromStdString("No target surface selected")); - m_Controls.groupBoxMoving->setEnabled(true); - m_Controls.groupBoxMappedData->setEnabled(false); - if (m_useTestConfig) + m_targetSurface = dynamic_cast(node->GetData()); + m_Controls.selectTargetSurfaceLabel->setText("Selected moving surface:"); + m_Controls.selectTargetSurfaceLabel->setStyleSheet(" QLabel { color: rgb(0, 0, 0) }"); + m_Controls.mappedDataGroupBox->setEnabled(true); + mitk::RenderingManager::GetInstance()->RequestUpdateAll(); + if (m_movingSurface != nullptr && m_targetSurface.GetPointer() != m_movingSurface.GetPointer()) { - m_Controls.pushButtonExecute->setEnabled(true); - } - else{ - m_Controls.pushButtonExecute->setEnabled(false); - } - m_Controls.radioButtonMirroring->setEnabled(false); - return; - } - else - { - if (nodes.size() == 1) - { - if (nodes[0].IsNotNull() && dynamic_cast(nodes[0]->GetData())) - { - MITK_INFO << "There is exactly one image selected"; - m_movingSurfaceNode = nodes[0]; - m_Controls.labelSelectMovingSurface->setText("Selected moving surface:"); - m_Controls.labelSelectMovingSurface->setStyleSheet(" QLabel { color: rgb(0, 0, 0) }"); - m_Controls.labelMovingSurfaceName->setText( - QString::fromStdString("File name: " + m_movingSurfaceNode->GetName())); - m_Controls.radioButtonMirroring->setEnabled(true); - m_Controls.groupBoxTarget->setEnabled(true); - m_Controls.groupBoxMappedData->setEnabled(true); - m_Controls.groupBoxTarget->setEnabled(true); - mitk::RenderingManager::GetInstance()->RequestUpdateAll(); - } - else - { - QMessageBox::information(nullptr, "Warning", "Are you sure? - I dont think this is a Surface! Try again!"); - } - } - else if (nodes.size() == 2) - { - if (nodes[1].IsNotNull() && dynamic_cast(nodes[1]->GetData())) - { - MITK_INFO << "There are two images selected"; - m_targetSurfaceNode = nodes[1]; - m_Controls.labelSelectTargetSurface->setText("Selected target surface:"); - m_Controls.labelSelectTargetSurface->setStyleSheet(" QLabel { color: rgb(0, 0, 0) }"); - m_Controls.labelTargetSurfaceName->setText( - QString::fromStdString("File name: " + m_targetSurfaceNode->GetName())); - m_Controls.textMappedDataName->setEnabled(true); - m_Controls.pushButtonExecute->setEnabled(true); - mitk::RenderingManager::GetInstance()->RequestUpdateAll(); - m_useTestConfig = false; - } - else - { - QMessageBox::information(nullptr, "Warning", "Are you sure? - I dont think this is a Surface!"); - } - } - else - { - QMessageBox::information(nullptr, "Warning", "You do know that it only works with two surfaces, right? If you continue to click execute, this might crash one day!"); - //wie kann ich die Auswahl zurueck setzen? + m_Controls.executePushButton->setEnabled(true); } } } -void QmitkSurfaceRegistration::doExecute() + +void QmitkSurfaceRegistration::doMirroring() { - if (m_useTestConfig) - { - setUpTestConfig(); - } - MITK_INFO << "push Button execute clicked..."; +} - mitk::Surface::Pointer movingSurface = dynamic_cast (m_movingSurfaceNode->GetData()); - mitk::Surface::Pointer targetSurface = dynamic_cast (m_targetSurfaceNode->GetData()); +void QmitkSurfaceRegistration::doExecute() +{ + MITK_INFO << "execute clicked..."; - mitk::ShapeComparisonManager *manager = new mitk::ShapeComparisonManager(movingSurface, targetSurface); + mitk::ShapeComparisonManager *manager = new mitk::ShapeComparisonManager(m_movingSurface, m_targetSurface); manager->execute(); - mitk::DataNode::Pointer registeredNode = mitk::DataNode::New(); - registeredNode->SetData(manager->getRegisteredSurface()); - this->GetDataStorageReference()->GetDataStorage()->Add(registeredNode, m_movingSurfaceNode); - MITK_INFO << "registration done"; - - mitk::DataNode::Pointer colouredData = manager->getColourTransformedDataNode(); + mitk::DataNode::Pointer colouredData = mitk::DataNode::New(); + colouredData = manager->getColourTransformedDataNode(); + colouredData->SetName(m_Controls.mappedDataNameLineEdit->text().toStdString()); this->GetDataStorage()->Add(colouredData); this->GetDataStorageReference()->GetDataStorage()->Modified(); - registeredNode->SetName("defaultMappedDataName"); mitk::RenderingManager::GetInstance()->InitializeViews(); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); vtkSmartPointer lut = manager->getTable(); showLookUpTable(lut); } -void QmitkSurfaceRegistration::setUpTestConfig() -{ - mitk::StandaloneDataStorage::Pointer ds = mitk::StandaloneDataStorage::New(); - mitk::IOUtil::Load("//ad/fs/E130-Projekte/BGLU/Fibula/Python/DataGAN/Registered/Surface/Tibia/tibia01_q0.stl", *ds); - mitk::IOUtil::Load("//ad/fs/E130-Projekte/BGLU/Fibula/Python/DataGAN/Registered/Surface/Tibia/tibia02_q0.stl", *ds); - - m_movingSurfaceNode = ds->GetAll()->at(0); - m_targetSurfaceNode = ds->GetAll()->at(1); - this->GetDataStorageReference()->GetDataStorage()->Add(mitk::DataNode::Pointer(ds->GetAll()->at(0))); - this->GetDataStorageReference()->GetDataStorage()->Add(mitk::DataNode::Pointer(ds->GetAll()->at(1))); - this->GetDataStorageReference()->GetDataStorage()->Modified(); - - mitk::RenderingManager::GetInstance()->SetDataStorage(this->GetDataStorageReference()->GetDataStorage()); - mitk::RenderingManager::GetInstance()->InitializeViews(); - mitk::RenderingManager::GetInstance()->RequestUpdateAll(); - - m_Controls.pushButtonExecute->setEnabled(true); - m_Controls.labelMovingSurfaceName->setText("tibia01_q0"); - m_Controls.labelTargetSurfaceName->setText("tibia02_q0"); - m_Controls.labelSelectMovingSurface->setText("Selected moving surface:"); - m_Controls.labelSelectMovingSurface->setStyleSheet(" QLabel { color: rgb(0, 0, 0) }"); - m_Controls.labelSelectTargetSurface->setText("Selected target surface:"); - m_Controls.labelSelectTargetSurface->setStyleSheet(" QLabel { color: rgb(0, 0, 0) }"); - - this->GetDataStorageReference()->GetDataStorage()->Modified(); - mitk::RenderingManager::GetInstance()->InitializeViews(); - mitk::RenderingManager::GetInstance()->RequestUpdateAll(); -} - void QmitkSurfaceRegistration::showLookUpTable(vtkSmartPointer lut) { mitk::BaseRenderer::Pointer renderer = mitk::BaseRenderer::GetInstance(mitk::BaseRenderer::GetRenderWindowByName("stdmulti.widget4")); m_colorBarAnnotation = mitk::ColorBarAnnotation::New(); mitk::LookupTable::Pointer mitkTable = mitk::LookupTable::New(); mitkTable->SetVtkLookupTable(lut); mitk::LookupTableProperty::Pointer prop = mitk::LookupTableProperty::New(mitkTable); m_colorBarAnnotation->SetProperty("ColorBarAnnotation.LookupTable", prop.GetPointer()); MITK_INFO<GetPropertyList(); m_colorBarAnnotation->SetNumberOfLabels(9); m_colorBarAnnotation->SetAnnotationTextScaling(true); m_colorBarAnnotation->SetDrawAnnotations(true); m_colorBarAnnotation->SetDrawTickLabels(true); mitk::LayoutAnnotationRenderer::AddAnnotation( m_colorBarAnnotation, renderer, mitk::LayoutAnnotationRenderer::Right, 10, 10, 10); } \ No newline at end of file diff --git a/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/QmitkSurfaceRegistration.h b/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/QmitkSurfaceRegistration.h index 4739d26374..c0c3d3ae3a 100644 --- a/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/QmitkSurfaceRegistration.h +++ b/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/QmitkSurfaceRegistration.h @@ -1,115 +1,118 @@ /*========================================================================= Program: Medical Imaging & Interaction Toolkit Language: C++ Date: $Date$ Version: $Revision$ Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. See MITKCopyright.txt or http://www.mitk.org/copyright.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #ifndef QmitkSurfaceRegistration_h #define QmitkSurfaceRegistration_h #include #ifdef WIN32 #pragma warning( disable : 4250 ) #endif #include "QVTKWidget.h" #include "QmitkRegisterClasses.h" #include #include "ui_SurfaceRegistrationControls.h" #include "usServiceRegistration.h" #include "mitkAnnotation.h" #include "mitkColorBarAnnotation.h" #include #include +#include /*! @brief QmitkSurfaceRegistrationView \warning This class is not yet documented. Use "git blame" and ask the author to provide basic documentation. \sa QmitkFunctionality \ingroup ${plugin_target}_internal */ class QmitkSurfaceRegistration : public QmitkAbstractView { // this is needed for all Qt objects that should have a Qt meta-object // (everything that derives from QObject and wants to have signal/slots) private: Q_OBJECT public: /*! @brief Constructor. Called by SampleApp (or other apps that use functionalities) */ QmitkSurfaceRegistration(QObject *parent = 0); virtual ~QmitkSurfaceRegistration(); static const std::string VIEW_ID; virtual void CreateQtPartControl(QWidget *parent); virtual void SetFocus() override; ///*! //@brief Creates the Qt connections needed //*/ QWidget* GetControls(); /// @brief Called when the user clicks the GUI button protected slots: void doExecute(); + void OnSelectedMovingSurfaceChanged(const mitk::DataNode *); + + void OnSelectedTargetSurfaceChanged(const mitk::DataNode *); + + void doMirroring(); + protected: // /*! //@brief called by QmitkFunctionality when DataManager's selection has changed // */ - void OnSelectionChanged(berry::IWorkbenchPart::Pointer part, const QList& nodes) override; + //void OnSelectionChanged(berry::IWorkbenchPart::Pointer part, const QList& nodes) override; private: /*! * The parent QWidget */ QWidget* m_ParentWidget; mitk::BaseRenderer *m_Renderer; /*! * @brief A pointer to the node of the moving surface. */ - mitk::DataNode::Pointer m_movingSurfaceNode; + mitk::Surface::Pointer m_movingSurface; /*! * @brief A pointer to the node of the target surface. */ - mitk::DataNode::Pointer m_targetSurfaceNode; + mitk::Surface::Pointer m_targetSurface; Ui::SurfaceRegistrationControls m_Controls; mitk::ColorBarAnnotation::Pointer m_colorBarAnnotation; - bool m_useTestConfig = false; - - void setUpTestConfig(); - void showLookUpTable(vtkSmartPointer lut); }; #endif // QmitkSurfaceRegistration_h \ No newline at end of file diff --git a/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/SurfaceRegistrationControls.ui b/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/SurfaceRegistrationControls.ui index 588e537e2e..e9bb0b6845 100644 --- a/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/SurfaceRegistrationControls.ui +++ b/Plugins/org.mitk.gui.qt.surfaceregistration/src/internal/SurfaceRegistrationControls.ui @@ -1,456 +1,354 @@ SurfaceRegistrationControls Qt::WindowModal true 0 0 - 271 - 863 + 434 + 395 0 0 100 100 16777215 16777215 QmitkTemplate - + true 0 0 0 95 Moving false - - - - 10 - 20 - 347 - 13 - - - - - 0 - 0 - - - - QLabel { color: rgb(255, 0, 0) } - - - Select moving surface - - - - - - 10 - 40 - 171 - 20 - - - - - 0 - 0 - - - - - 50 - 20 - - - - - 16777215 - 16777215 - - - - QFrame::Box - - - No moving surface selected - - - - - false - - - - 10 - 70 - 82 - 17 - - - - Mirroring - - + + + + + + 0 + 0 + + + + QLabel { color: rgb(0, 0, 0) } + + + Select moving surface + + + + + + + + + + false + + + Mirroring + + + + - + - false + true 0 0 0 75 Target false - - - - 10 - 20 - 331 - 16 - - - - - - - - - 255 - 0 - 0 - - - - - - - 255 - 0 - 0 - - - - - - - 255 - 0 - 0 - - - - - - - - - 255 - 0 - 0 - - - - - - - 255 - 0 - 0 - - - - - - - 255 - 0 - 0 - - - - - - - - - 255 - 0 - 0 - - - - - - - 255 - 0 - 0 - - - - - - - 255 - 0 - 0 - - - - - - - - QLabel { color: rgb(255, 0, 0) } - - - Select target surface - - - - - - 10 - 40 - 171 - 20 - - - - - 0 - 0 - - - - - 50 - 20 - - - - - 16777215 - 16777215 - - - - QFrame::Box - - - No target surface selected - - + + + + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + -1 + + + QLabel { color: rgb(0, 0, 0) } + + + Select target surface + + + + + + + true + + + + - + false 0 0 0 75 0 75 Mapped Data - - - - 10 - 20 - 331 - 16 - - - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - - - 120 - 120 - 120 - - - - - - - - Type mapped data name: - - - - - - 10 - 40 - 171 - 20 - - - - - 0 - 0 - - - - - 50 - 20 - - - - true - - - false - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractScrollArea::AdjustIgnored - - - true - - - defaultMappedDataName - - - Qt::TextEditable - - + + + + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + + + 120 + 120 + 120 + + + + + + + + Type mapped data name: + + + + + + + defaultMappedData + + + + + + + - + - true + false Execute Qt::Vertical 20 40 + + + QmitkDataStorageComboBox + QComboBox +
QmitkDataStorageComboBox.h
+
+