diff --git a/Plugins/org.mitk.gui.qt.volumevisualization/files.cmake b/Plugins/org.mitk.gui.qt.volumevisualization/files.cmake index 79fc343d0d..9e8ccb395d 100755 --- a/Plugins/org.mitk.gui.qt.volumevisualization/files.cmake +++ b/Plugins/org.mitk.gui.qt.volumevisualization/files.cmake @@ -1,37 +1,22 @@ -set(SRC_CPP_FILES - -) - set(INTERNAL_CPP_FILES mitkPluginActivator.cpp QmitkVolumeVisualizationView.cpp ) set(UI_FILES src/internal/QmitkVolumeVisualizationViewControls.ui ) set(MOC_H_FILES src/internal/mitkPluginActivator.h src/internal/QmitkVolumeVisualizationView.h ) set(CACHED_RESOURCE_FILES plugin.xml resources/volume_visualization.svg ) -set(QRC_FILES - -) - - -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}) diff --git a/Plugins/org.mitk.gui.qt.volumevisualization/plugin.xml b/Plugins/org.mitk.gui.qt.volumevisualization/plugin.xml index 3766778b5f..8a25a0a5b5 100755 --- a/Plugins/org.mitk.gui.qt.volumevisualization/plugin.xml +++ b/Plugins/org.mitk.gui.qt.volumevisualization/plugin.xml @@ -1,38 +1,35 @@ - - + Configure the 3D-Visualization of images. - - - - + + + + diff --git a/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationView.cpp b/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationView.cpp index 64503e75b9..51d291a500 100755 --- a/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationView.cpp +++ b/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationView.cpp @@ -1,345 +1,291 @@ /*============================================================================ The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center (DKFZ) All rights reserved. Use of this source code is governed by a 3-clause BSD license that can be found in the LICENSE file. ============================================================================*/ #include "QmitkVolumeVisualizationView.h" -#include - -#include #include -#include -#include -#include -//#include -#include - -#include -#include +#include #include -#include #include -#include "mitkHistogramGenerator.h" -#include "QmitkPiecewiseFunctionCanvas.h" -#include "QmitkColorTransferFunctionCanvas.h" - -#include "mitkBaseRenderer.h" - -#include "mitkVtkVolumeRenderingProperty.h" +#include -#include +#include +#include +#include +#include +#include +#include -#include +#include -const std::string QmitkVolumeVisualizationView::VIEW_ID = -"org.mitk.views.volumevisualization"; +const std::string QmitkVolumeVisualizationView::VIEW_ID = "org.mitk.views.volumevisualization"; -enum {DEFAULT_RENDERMODE = 0, RAYCAST_RENDERMODE = 1, GPU_RENDERMODE = 2}; +enum +{ + DEFAULT_RENDERMODE = 0, + RAYCAST_RENDERMODE = 1, + GPU_RENDERMODE = 2 +}; QmitkVolumeVisualizationView::QmitkVolumeVisualizationView() -: QmitkAbstractView(), - m_Controls(nullptr) + : QmitkAbstractView() + , m_Controls(nullptr) { } -QmitkVolumeVisualizationView::~QmitkVolumeVisualizationView() +void QmitkVolumeVisualizationView::SetFocus() { } void QmitkVolumeVisualizationView::CreateQtPartControl(QWidget* parent) { - - if (!m_Controls) + m_Controls = new Ui::QmitkVolumeVisualizationViewControls; + m_Controls->setupUi(parent); + + m_Controls->volumeSelectionWidget->SetDataStorage(GetDataStorage()); + m_Controls->volumeSelectionWidget->SetNodePredicate(mitk::NodePredicateAnd::New( + mitk::TNodePredicateDataType::New(), + mitk::NodePredicateOr::New(mitk::NodePredicateDimension::New(3), mitk::NodePredicateDimension::New(4)), + mitk::NodePredicateNot::New(mitk::NodePredicateProperty::New("helper object")))); + + m_Controls->volumeSelectionWidget->SetSelectionIsOptional(true); + m_Controls->volumeSelectionWidget->SetEmptyInfo(QString("Please select a 3D / 4D image volume")); + m_Controls->volumeSelectionWidget->SetPopUpTitel(QString("Select image volume")); + + // Fill the transfer function presets in the generator widget + std::vector names; + mitk::TransferFunctionInitializer::GetPresetNames(names); + for (const auto& name : names) { - m_Controls = new Ui::QmitkVolumeVisualizationViewControls; - m_Controls->setupUi(parent); - - // Fill the tf presets in the generator widget - std::vector names; - mitk::TransferFunctionInitializer::GetPresetNames(names); - for (std::vector::const_iterator it = names.begin(); - it != names.end(); ++it) - { - m_Controls->m_TransferFunctionGeneratorWidget->AddPreset(QString::fromStdString(*it)); - } - - // see enum in vtkSmartVolumeMapper - m_Controls->m_RenderMode->addItem("Default"); - m_Controls->m_RenderMode->addItem("RayCast"); - m_Controls->m_RenderMode->addItem("GPU"); - - // see vtkVolumeMapper::BlendModes - m_Controls->m_BlendMode->addItem("Comp"); - m_Controls->m_BlendMode->addItem("Max"); - m_Controls->m_BlendMode->addItem("Min"); - m_Controls->m_BlendMode->addItem("Avg"); - m_Controls->m_BlendMode->addItem("Add"); - - connect( m_Controls->m_EnableRenderingCB, SIGNAL( toggled(bool) ),this, SLOT( OnEnableRendering(bool) )); - connect(m_Controls->m_RenderMode, SIGNAL(activated(int)), this, SLOT(OnRenderMode(int))); - connect(m_Controls->m_BlendMode, SIGNAL(activated(int)), this, SLOT(OnBlendMode(int))); - - connect( m_Controls->m_TransferFunctionGeneratorWidget, SIGNAL( SignalUpdateCanvas( ) ), m_Controls->m_TransferFunctionWidget, SLOT( OnUpdateCanvas( ) ) ); - connect( m_Controls->m_TransferFunctionGeneratorWidget, SIGNAL(SignalTransferFunctionModeChanged(int)), SLOT(OnMitkInternalPreset(int))); - - m_Controls->m_EnableRenderingCB->setEnabled(false); - m_Controls->m_BlendMode->setEnabled(false); - m_Controls->m_RenderMode->setEnabled(false); - m_Controls->m_TransferFunctionWidget->setEnabled(false); - m_Controls->m_TransferFunctionGeneratorWidget->setEnabled(false); - - m_Controls->m_SelectedImageLabel->hide(); - m_Controls->m_ErrorImageLabel->hide(); + m_Controls->transferFunctionGeneratorWidget->AddPreset(QString::fromStdString(name)); } + + // see enum in vtkSmartVolumeMapper + m_Controls->renderMode->addItem("Default"); + m_Controls->renderMode->addItem("RayCast"); + m_Controls->renderMode->addItem("GPU"); + + // see vtkVolumeMapper::BlendModes + m_Controls->blendMode->addItem("Comp"); + m_Controls->blendMode->addItem("Max"); + m_Controls->blendMode->addItem("Min"); + m_Controls->blendMode->addItem("Avg"); + m_Controls->blendMode->addItem("Add"); + + connect(m_Controls->volumeSelectionWidget, &QmitkSingleNodeSelectionWidget::CurrentSelectionChanged, + this, &QmitkVolumeVisualizationView::OnCurrentSelectionChanged); + connect(m_Controls->enableRenderingCB, SIGNAL(toggled(bool)), this, SLOT(OnEnableRendering(bool))); + connect(m_Controls->renderMode, SIGNAL(activated(int)), this, SLOT(OnRenderMode(int))); + connect(m_Controls->blendMode, SIGNAL(activated(int)), this, SLOT(OnBlendMode(int))); + + connect(m_Controls->transferFunctionGeneratorWidget, SIGNAL(SignalUpdateCanvas()), + m_Controls->transferFunctionWidget, SLOT(OnUpdateCanvas())); + connect(m_Controls->transferFunctionGeneratorWidget, SIGNAL(SignalTransferFunctionModeChanged(int)), + SLOT(OnMitkInternalPreset(int))); + + m_Controls->enableRenderingCB->setEnabled(false); + m_Controls->blendMode->setEnabled(false); + m_Controls->renderMode->setEnabled(false); + m_Controls->transferFunctionWidget->setEnabled(false); + m_Controls->transferFunctionGeneratorWidget->setEnabled(false); } -void QmitkVolumeVisualizationView::OnMitkInternalPreset( int mode ) +void QmitkVolumeVisualizationView::OnMitkInternalPreset(int mode) { - if (m_SelectedNode.IsExpired()) return; + if (m_SelectedNode.IsExpired()) + { + return; + } auto node = m_SelectedNode.Lock(); mitk::TransferFunctionProperty::Pointer transferFuncProp; if (node->GetProperty(transferFuncProp, "TransferFunction")) { - //first item is only information - if( --mode == -1 ) + // first item is only information + if (--mode == -1) return; // -- Creat new TransferFunction mitk::TransferFunctionInitializer::Pointer tfInit = mitk::TransferFunctionInitializer::New(transferFuncProp->GetValue()); tfInit->SetTransferFunctionMode(mode); RequestRenderWindowUpdate(); - m_Controls->m_TransferFunctionWidget->OnUpdateCanvas(); + m_Controls->transferFunctionWidget->OnUpdateCanvas(); } } - -void QmitkVolumeVisualizationView::OnSelectionChanged(berry::IWorkbenchPart::Pointer /*part*/, const QList& nodes) +void QmitkVolumeVisualizationView::OnCurrentSelectionChanged(QList nodes) { - bool weHadAnImageButItsNotThreeDeeOrFourDee = false; + m_SelectedNode = nullptr; - mitk::DataNode::Pointer node; - - for (mitk::DataNode::Pointer currentNode: nodes) + if (nodes.empty() || nodes.front().IsNull()) { - if( currentNode.IsNotNull() && dynamic_cast(currentNode->GetData()) ) - { - if( dynamic_cast(currentNode->GetData())->GetDimension()>=3 ) - { - if (node.IsNull()) - { - node = currentNode; - } - } - else - { - weHadAnImageButItsNotThreeDeeOrFourDee = true; - } - } + UpdateInterface(); + return; } - if( node.IsNotNull() ) + auto selectedNode = nodes.front(); + auto image = dynamic_cast(selectedNode->GetData()); + if (nullptr != image) { - m_Controls->m_NoSelectedImageLabel->hide(); - m_Controls->m_ErrorImageLabel->hide(); - m_Controls->m_SelectedImageLabel->show(); - - std::string infoText; - - if (node->GetName().empty()) - infoText = std::string("Selected Image: [currently selected image has no name]"); - else - infoText = std::string("Selected Image: ") + node->GetName(); + m_SelectedNode = selectedNode; + } - m_Controls->m_SelectedImageLabel->setText( QString( infoText.c_str() ) ); + UpdateInterface(); +} - m_SelectedNode = node; - } - else +void QmitkVolumeVisualizationView::OnEnableRendering(bool state) +{ + if (m_SelectedNode.IsExpired()) { - if(weHadAnImageButItsNotThreeDeeOrFourDee) - { - m_Controls->m_NoSelectedImageLabel->hide(); - m_Controls->m_ErrorImageLabel->show(); - std::string infoText; - infoText = std::string("only 3D or 4D images are supported"); - m_Controls->m_ErrorImageLabel->setText( QString( infoText.c_str() ) ); - } - else - { - m_Controls->m_SelectedImageLabel->hide(); - m_Controls->m_ErrorImageLabel->hide(); - m_Controls->m_NoSelectedImageLabel->show(); - } - - m_SelectedNode = nullptr; + return; } + m_SelectedNode.Lock()->SetProperty("volumerendering", mitk::BoolProperty::New(state)); UpdateInterface(); + RequestRenderWindowUpdate(); } - -void QmitkVolumeVisualizationView::UpdateInterface() +void QmitkVolumeVisualizationView::OnRenderMode(int mode) { - if(m_SelectedNode.IsExpired()) + if (m_SelectedNode.IsExpired()) { - // turnoff all - m_Controls->m_EnableRenderingCB->setChecked(false); - m_Controls->m_EnableRenderingCB->setEnabled(false); - - m_Controls->m_BlendMode->setCurrentIndex(0); - m_Controls->m_BlendMode->setEnabled(false); - - m_Controls->m_RenderMode->setCurrentIndex(0); - m_Controls->m_RenderMode->setEnabled(false); - - m_Controls->m_TransferFunctionWidget->SetDataNode(nullptr); - m_Controls->m_TransferFunctionWidget->setEnabled(false); - - m_Controls->m_TransferFunctionGeneratorWidget->SetDataNode(nullptr); - m_Controls->m_TransferFunctionGeneratorWidget->setEnabled(false); return; } - bool enabled = false; auto selectedNode = m_SelectedNode.Lock(); - selectedNode->GetBoolProperty("volumerendering",enabled); - m_Controls->m_EnableRenderingCB->setEnabled(true); - m_Controls->m_EnableRenderingCB->setChecked(enabled); - - if(!enabled) + bool usegpu = false; + bool useray = false; + if (DEFAULT_RENDERMODE == mode) { - // turnoff all except volumerendering checkbox - m_Controls->m_BlendMode->setCurrentIndex(0); - m_Controls->m_BlendMode->setEnabled(false); - - m_Controls->m_RenderMode->setCurrentIndex(0); - m_Controls->m_RenderMode->setEnabled(false); - - m_Controls->m_TransferFunctionWidget->SetDataNode(nullptr); - m_Controls->m_TransferFunctionWidget->setEnabled(false); - - m_Controls->m_TransferFunctionGeneratorWidget->SetDataNode(nullptr); - m_Controls->m_TransferFunctionGeneratorWidget->setEnabled(false); - return; + useray = true; + usegpu = true; } - - // otherwise we can activate em all - m_Controls->m_BlendMode->setEnabled(true); - m_Controls->m_RenderMode->setEnabled(true); - - // Determine Combo Box mode + else if (GPU_RENDERMODE == mode) { - bool usegpu=false; - bool useray=false; - bool usemip=false; - selectedNode->GetBoolProperty("volumerendering.usegpu",usegpu); - selectedNode->GetBoolProperty("volumerendering.useray",useray); - selectedNode->GetBoolProperty("volumerendering.usemip",usemip); - - int blendMode; - if (selectedNode->GetIntProperty("volumerendering.blendmode", blendMode)) - m_Controls->m_BlendMode->setCurrentIndex(blendMode); - - if (usemip) - m_Controls->m_BlendMode->setCurrentIndex(vtkVolumeMapper::MAXIMUM_INTENSITY_BLEND); - - int mode = DEFAULT_RENDERMODE; - - if (useray) - mode = RAYCAST_RENDERMODE; - else if(usegpu) - mode = GPU_RENDERMODE; - - m_Controls->m_RenderMode->setCurrentIndex(mode); - + usegpu = true; + } + else if (RAYCAST_RENDERMODE == mode) + { + useray = true; } - m_Controls->m_TransferFunctionWidget->SetDataNode(selectedNode); - m_Controls->m_TransferFunctionWidget->setEnabled(true); - m_Controls->m_TransferFunctionGeneratorWidget->SetDataNode(selectedNode); - m_Controls->m_TransferFunctionGeneratorWidget->setEnabled(true); -} - - -void QmitkVolumeVisualizationView::OnEnableRendering(bool state) -{ - if(m_SelectedNode.IsExpired()) - return; + selectedNode->SetProperty("volumerendering.usegpu", mitk::BoolProperty::New(usegpu)); + selectedNode->SetProperty("volumerendering.useray", mitk::BoolProperty::New(useray)); - m_SelectedNode.Lock()->SetProperty("volumerendering",mitk::BoolProperty::New(state)); - UpdateInterface(); RequestRenderWindowUpdate(); } void QmitkVolumeVisualizationView::OnBlendMode(int mode) { if (m_SelectedNode.IsExpired()) + { return; + } auto selectedNode = m_SelectedNode.Lock(); bool usemip = false; - if (mode == vtkVolumeMapper::MAXIMUM_INTENSITY_BLEND) + if (vtkVolumeMapper::MAXIMUM_INTENSITY_BLEND == mode) + { usemip = true; + } selectedNode->SetProperty("volumerendering.usemip", mitk::BoolProperty::New(usemip)); selectedNode->SetProperty("volumerendering.blendmode", mitk::IntProperty::New(mode)); RequestRenderWindowUpdate(); } -void QmitkVolumeVisualizationView::OnRenderMode(int mode) +void QmitkVolumeVisualizationView::UpdateInterface() { - if(m_SelectedNode.IsExpired()) + if (m_SelectedNode.IsExpired()) + { + // turnoff all + m_Controls->enableRenderingCB->setChecked(false); + m_Controls->enableRenderingCB->setEnabled(false); + + m_Controls->blendMode->setCurrentIndex(0); + m_Controls->blendMode->setEnabled(false); + + m_Controls->renderMode->setCurrentIndex(0); + m_Controls->renderMode->setEnabled(false); + + m_Controls->transferFunctionWidget->SetDataNode(nullptr); + m_Controls->transferFunctionWidget->setEnabled(false); + + m_Controls->transferFunctionGeneratorWidget->SetDataNode(nullptr); + m_Controls->transferFunctionGeneratorWidget->setEnabled(false); return; + } + bool enabled = false; auto selectedNode = m_SelectedNode.Lock(); - bool usegpu = false; - if (mode == GPU_RENDERMODE) - usegpu = true; - - bool useray = false; - if (mode == RAYCAST_RENDERMODE) - useray = true; + selectedNode->GetBoolProperty("volumerendering", enabled); + m_Controls->enableRenderingCB->setEnabled(true); + m_Controls->enableRenderingCB->setChecked(enabled); - if (mode == DEFAULT_RENDERMODE) + if (!enabled) { - useray = true; - usegpu = true; - } + // turnoff all except volumerendering checkbox + m_Controls->blendMode->setCurrentIndex(0); + m_Controls->blendMode->setEnabled(false); - selectedNode->SetProperty("volumerendering.usegpu",mitk::BoolProperty::New(usegpu)); - selectedNode->SetProperty("volumerendering.useray",mitk::BoolProperty::New(useray)); + m_Controls->renderMode->setCurrentIndex(0); + m_Controls->renderMode->setEnabled(false); - RequestRenderWindowUpdate(); -} + m_Controls->transferFunctionWidget->SetDataNode(nullptr); + m_Controls->transferFunctionWidget->setEnabled(false); -void QmitkVolumeVisualizationView::SetFocus() -{ + m_Controls->transferFunctionGeneratorWidget->SetDataNode(nullptr); + m_Controls->transferFunctionGeneratorWidget->setEnabled(false); + return; + } -} + // otherwise we can activate em all + m_Controls->blendMode->setEnabled(true); + m_Controls->renderMode->setEnabled(true); -void QmitkVolumeVisualizationView::NodeRemoved(const mitk::DataNode* node) -{ - if(m_SelectedNode == node) + // Determine Combo Box mode { - m_SelectedNode = nullptr; - m_Controls->m_SelectedImageLabel->hide(); - m_Controls->m_ErrorImageLabel->hide(); - m_Controls->m_NoSelectedImageLabel->show(); - UpdateInterface(); + bool usegpu = false; + bool useray = false; + bool usemip = false; + selectedNode->GetBoolProperty("volumerendering.usegpu", usegpu); + selectedNode->GetBoolProperty("volumerendering.useray", useray); + selectedNode->GetBoolProperty("volumerendering.usemip", usemip); + + int blendMode; + if (selectedNode->GetIntProperty("volumerendering.blendmode", blendMode)) + m_Controls->blendMode->setCurrentIndex(blendMode); + + if (usemip) + m_Controls->blendMode->setCurrentIndex(vtkVolumeMapper::MAXIMUM_INTENSITY_BLEND); + + int mode = DEFAULT_RENDERMODE; + + if (useray) + mode = RAYCAST_RENDERMODE; + else if (usegpu) + mode = GPU_RENDERMODE; + + m_Controls->renderMode->setCurrentIndex(mode); } + + m_Controls->transferFunctionWidget->SetDataNode(selectedNode); + m_Controls->transferFunctionWidget->setEnabled(true); + m_Controls->transferFunctionGeneratorWidget->SetDataNode(selectedNode); + m_Controls->transferFunctionGeneratorWidget->setEnabled(true); } diff --git a/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationView.h b/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationView.h index 2041f1ddc3..5d413576f2 100755 --- a/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationView.h +++ b/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationView.h @@ -1,78 +1,61 @@ /*============================================================================ The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center (DKFZ) All rights reserved. Use of this source code is governed by a 3-clause BSD license that can be found in the LICENSE file. ============================================================================*/ -#ifndef QMITKVOLUMEVISUALIZATIONVIEW_H_ -#define QMITKVOLUMEVISUALIZATIONVIEW_H_ +#ifndef QMITKVOLUMEVISUALIZATIONVIEW_H +#define QMITKVOLUMEVISUALIZATIONVIEW_H -#include - -#include +#include "ui_QmitkVolumeVisualizationViewControls.h" +// mitk core +#include #include -#include - -#include "mitkDataStorage.h" - -#include -#include -#include - -#include "ui_QmitkVolumeVisualizationViewControls.h" +#include /** - * \ingroup org_mitk_gui_qt_volumevisualization_internal + * @brief */ class QmitkVolumeVisualizationView : public QmitkAbstractView { Q_OBJECT public: - void SetFocus() override; + static const std::string VIEW_ID; QmitkVolumeVisualizationView(); - ~QmitkVolumeVisualizationView() override; - - void CreateQtPartControl(QWidget *parent) override; - - /// - /// Invoked when the DataManager selection changed - /// - void OnSelectionChanged(berry::IWorkbenchPart::Pointer, const QList& nodes) override; - - static const std::string VIEW_ID; + ~QmitkVolumeVisualizationView() override = default; + void SetFocus() override; -protected slots: +private Q_SLOTS: - void OnMitkInternalPreset( int mode ); + void OnCurrentSelectionChanged(QList nodes); - void OnEnableRendering( bool state ); - void OnRenderMode( int mode ); + void OnMitkInternalPreset(int mode); + void OnEnableRendering(bool state); + void OnRenderMode(int mode); void OnBlendMode(int mode); -protected: - - Ui::QmitkVolumeVisualizationViewControls* m_Controls; - private: - mitk::WeakPointer m_SelectedNode; + void CreateQtPartControl(QWidget* parent) override; void UpdateInterface(); - void NodeRemoved(const mitk::DataNode* node) override; + + Ui::QmitkVolumeVisualizationViewControls* m_Controls; + mitk::WeakPointer m_SelectedNode; }; -#endif /*QMITKVOLUMEVISUALIZATIONVIEW_H_*/ +#endif // QMITKVOLUMEVISUALIZATIONVIEW_H diff --git a/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationViewControls.ui b/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationViewControls.ui index 2a0476f821..94fd15064f 100644 --- a/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationViewControls.ui +++ b/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/QmitkVolumeVisualizationViewControls.ui @@ -1,327 +1,128 @@ QmitkVolumeVisualizationViewControls 0 0 - 324 - 679 + 300 + 600 0 0 - - - 16777215 - 16777215 - - - QmitkTemplate + Volume visualization - - - - - - 0 - 0 - - - - - - - - - 191 - 0 - 0 - - - - - - - 191 - 0 - 0 - - - - - - - 191 - 0 - 0 - - - - - - - - - 191 - 0 - 0 - - - - - - - 191 - 0 - 0 - - - - - - - 191 - 0 - 0 - - - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - - - - - - - - - - 0 - 0 - - - - - - - - - 197 - 0 - 0 - - - - - - - 191 - 0 - 0 - - - - - - - 189 - 0 - 0 - - - - - - - - - 197 - 0 - 0 - - - - - - - 191 - 0 - 0 - - - - - - - 189 - 0 - 0 - - - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - - Please select a volume image! - - - + - - - - 0 - 0 - - - - - - + + + + + Selected image: + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + + - + - Click this checkbox to enable volumerendering in the 3D view of the selected image. + Click this checkbox to enable volumerendering in the 3D view of the selected image Volumerendering - + 0 1 Select render mode - + - + 0 0 0 0 - + 0 1 - + + QmitkSingleNodeSelectionWidget + QWidget +
QmitkSingleNodeSelectionWidget.h
+
QmitkTransferFunctionWidget QWidget
QmitkTransferFunctionWidget.h
QmitkTransferFunctionGeneratorWidget QWidget
QmitkTransferFunctionGeneratorWidget.h
1
- - QmitkDataStorageComboBox.h -
diff --git a/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/mitkPluginActivator.cpp b/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/mitkPluginActivator.cpp index 8e814351be..b6a3dddb5c 100644 --- a/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/mitkPluginActivator.cpp +++ b/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/mitkPluginActivator.cpp @@ -1,28 +1,27 @@ /*============================================================================ The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center (DKFZ) All rights reserved. Use of this source code is governed by a 3-clause BSD license that can be found in the LICENSE file. ============================================================================*/ #include "mitkPluginActivator.h" #include "QmitkVolumeVisualizationView.h" -namespace mitk { - -void PluginActivator::start(ctkPluginContext* context) -{ - BERRY_REGISTER_EXTENSION_CLASS(QmitkVolumeVisualizationView, context) -} - -void PluginActivator::stop(ctkPluginContext* context) +namespace mitk { - Q_UNUSED(context) -} - + void PluginActivator::start(ctkPluginContext* context) + { + BERRY_REGISTER_EXTENSION_CLASS(QmitkVolumeVisualizationView, context) + } + + void PluginActivator::stop(ctkPluginContext* context) + { + Q_UNUSED(context) + } } diff --git a/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/mitkPluginActivator.h b/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/mitkPluginActivator.h index 15a70aa6fc..c0eb58c5f8 100644 --- a/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/mitkPluginActivator.h +++ b/Plugins/org.mitk.gui.qt.volumevisualization/src/internal/mitkPluginActivator.h @@ -1,35 +1,34 @@ /*============================================================================ The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center (DKFZ) All rights reserved. Use of this source code is governed by a 3-clause BSD license that can be found in the LICENSE file. ============================================================================*/ + #ifndef MITKPLUGINACTIVATOR_H #define MITKPLUGINACTIVATOR_H #include -namespace mitk { - -class PluginActivator : - public QObject, public ctkPluginActivator +namespace mitk { - Q_OBJECT - Q_PLUGIN_METADATA(IID "org_mitk_gui_qt_volumevisualization") - Q_INTERFACES(ctkPluginActivator) - -public: + class PluginActivator : public QObject, public ctkPluginActivator + { + Q_OBJECT + Q_PLUGIN_METADATA(IID "org_mitk_gui_qt_volumevisualization") + Q_INTERFACES(ctkPluginActivator) - void start(ctkPluginContext* context) override; - void stop(ctkPluginContext* context) override; + public: -}; // PluginActivator + void start(ctkPluginContext* context) override; + void stop(ctkPluginContext* context) override; + }; } #endif // MITKPLUGINACTIVATOR_H