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