diff --git a/Plugins/PluginList.cmake b/Plugins/PluginList.cmake
index 4cdec681c8..5a430f1d1e 100644
--- a/Plugins/PluginList.cmake
+++ b/Plugins/PluginList.cmake
@@ -1,85 +1,86 @@
# Plug-ins must be ordered according to their dependencies
set(MITK_PLUGINS
org.blueberry.core.runtime:ON
org.blueberry.core.expressions:OFF
org.blueberry.core.commands:OFF
org.blueberry.core.jobs:OFF
org.blueberry.ui.qt:OFF
org.blueberry.ui.qt.help:OFF
org.blueberry.ui.qt.log:ON
org.blueberry.ui.qt.objectinspector:OFF
#org.blueberry.test:ON
#org.blueberry.uitest:ON
#Testing/org.blueberry.core.runtime.tests:ON
#Testing/org.blueberry.osgi.tests:ON
org.mitk.core.services:ON
org.mitk.gui.common:ON
org.mitk.planarfigure:ON
org.mitk.core.ext:OFF
org.mitk.core.jobs:OFF
org.mitk.diffusionimaging:OFF
org.mitk.simulation:OFF
org.mitk.gui.qt.application:ON
org.mitk.gui.qt.coreapplication:OFF
org.mitk.gui.qt.ext:OFF
org.mitk.gui.qt.extapplication:OFF
org.mitk.gui.qt.common:ON
org.mitk.gui.qt.stdmultiwidgeteditor:ON
org.mitk.gui.qt.common.legacy:OFF
org.mitk.gui.qt.cmdlinemodules:OFF
org.mitk.gui.qt.diffusionimagingapp:OFF
org.mitk.gui.qt.datamanager:ON
org.mitk.gui.qt.datamanagerlight:OFF
org.mitk.gui.qt.properties:ON
org.mitk.gui.qt.basicimageprocessing:OFF
org.mitk.gui.qt.dicom:OFF
org.mitk.gui.qt.dicominspector:OFF
org.mitk.gui.qt.diffusionimaging:OFF
org.mitk.gui.qt.dosevisualization:OFF
org.mitk.gui.qt.geometrytools:OFF
org.mitk.gui.qt.igtexamples:OFF
org.mitk.gui.qt.igttracking:OFF
org.mitk.gui.qt.openigtlink:OFF
org.mitk.gui.qt.imagecropper:OFF
org.mitk.gui.qt.imagenavigator:ON
org.mitk.gui.qt.viewnavigator:OFF
org.mitk.gui.qt.materialeditor:OFF
org.mitk.gui.qt.measurementtoolbox:OFF
org.mitk.gui.qt.moviemaker:OFF
org.mitk.gui.qt.pointsetinteraction:OFF
org.mitk.gui.qt.pointsetinteractionmultispectrum:OFF
org.mitk.gui.qt.python:OFF
org.mitk.gui.qt.registration:OFF
org.mitk.gui.qt.remeshing:OFF
org.mitk.gui.qt.segmentation:OFF
org.mitk.gui.qt.simulation:OFF
org.mitk.gui.qt.aicpregistration:OFF
org.mitk.gui.qt.toftutorial:OFF
org.mitk.gui.qt.tofutil:OFF
org.mitk.gui.qt.tubegraph:OFF
org.mitk.gui.qt.ugvisualization:OFF
org.mitk.gui.qt.ultrasound:OFF
org.mitk.gui.qt.volumevisualization:OFF
org.mitk.gui.qt.eventrecorder:OFF
org.mitk.gui.qt.xnat:OFF
org.mitk.gui.qt.igt.app.echotrack:OFF
org.mitk.gui.qt.spectrocamrecorder:OFF
org.mitk.gui.qt.classificationsegmentation:OFF
org.mitk.gui.qt.overlaymanager:OFF
org.mitk.gui.qt.multilabelsegmentation:ON
org.mitk.matchpoint.core.helper:OFF
org.mitk.gui.qt.matchpoint.algorithm.browser:OFF
org.mitk.gui.qt.matchpoint.algorithm.control:OFF
org.mitk.gui.qt.matchpoint.algorithm.batch:OFF
org.mitk.gui.qt.matchpoint.mapper:OFF
org.mitk.gui.qt.matchpoint.framereg:OFF
org.mitk.gui.qt.matchpoint.visualizer:OFF
org.mitk.gui.qt.matchpoint.evaluator:OFF
org.mitk.gui.qt.matchpoint.manipulator:OFF
+ org.mitk.gui.qt.regiongrowing:OFF
)
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/CMakeLists.txt b/Plugins/org.mitk.gui.qt.regiongrowing/CMakeLists.txt
new file mode 100644
index 0000000000..9601aedda5
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.regiongrowing/CMakeLists.txt
@@ -0,0 +1,9 @@
+project(org_mitk_gui_qt_regiongrowing)
+
+mitk_create_plugin(
+ EXPORT_DIRECTIVE REGIONGROWING_EXPORT
+ EXPORTED_INCLUDE_SUFFIXES src
+ MODULE_DEPENDS MitkQtWidgetsExt
+ PACKAGE_DEPENDS ITK|ITKRegionGrowing
+ NO_INSTALL
+)
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/documentation/doxygen/modules.dox b/Plugins/org.mitk.gui.qt.regiongrowing/documentation/doxygen/modules.dox
new file mode 100644
index 0000000000..fd239e49c5
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.regiongrowing/documentation/doxygen/modules.dox
@@ -0,0 +1,16 @@
+/**
+ \defgroup org_mitk_example_gui_regiongrowing org.mitk.example.gui.regiongrowing
+ \ingroup MITKExamplePlugins
+
+ \brief Describe your plugin here.
+
+*/
+
+/**
+ \defgroup org_mitk_example_gui_regiongrowing_internal Internal
+ \ingroup org_mitk_example_gui_regiongrowing
+
+ \brief This subcategory includes the internal classes of the org.mitk.example.gui.regiongrowing plugin. Other
+ plugins must not rely on these classes. They contain implementation details and their interface
+ may change at any time. We mean it.
+*/
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/files.cmake b/Plugins/org.mitk.gui.qt.regiongrowing/files.cmake
new file mode 100644
index 0000000000..958140b28d
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.regiongrowing/files.cmake
@@ -0,0 +1,35 @@
+set(SRC_CPP_FILES
+
+)
+
+set(INTERNAL_CPP_FILES
+ org_mitk_gui_qt_regiongrowing_Activator.cpp
+ QmitkRegionGrowingView.cpp
+)
+
+set(UI_FILES
+ src/internal/QmitkRegionGrowingViewControls.ui
+)
+
+set(MOC_H_FILES
+ src/internal/org_mitk_gui_qt_regiongrowing_Activator.h
+ src/internal/QmitkRegionGrowingView.h
+)
+
+set(CACHED_RESOURCE_FILES
+ resources/icon.png
+ plugin.xml
+)
+
+set(QRC_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.regiongrowing/manifest_headers.cmake b/Plugins/org.mitk.gui.qt.regiongrowing/manifest_headers.cmake
new file mode 100644
index 0000000000..fd27338a7c
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.regiongrowing/manifest_headers.cmake
@@ -0,0 +1,5 @@
+set(Plugin-Name "Region Grower Example")
+set(Plugin-Version "0.1")
+set(Plugin-Vendor "DKFZ, Medical and Biological Informatics")
+set(Plugin-ContactAddress "")
+set(Require-Plugin org.mitk.gui.qt.common.legacy)
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/plugin.xml b/Plugins/org.mitk.gui.qt.regiongrowing/plugin.xml
new file mode 100644
index 0000000000..6af0719846
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.regiongrowing/plugin.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/resources/icon.png b/Plugins/org.mitk.gui.qt.regiongrowing/resources/icon.png
new file mode 100644
index 0000000000..a7781497a3
Binary files /dev/null and b/Plugins/org.mitk.gui.qt.regiongrowing/resources/icon.png differ
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/resources/regiongrowing.png b/Plugins/org.mitk.gui.qt.regiongrowing/resources/regiongrowing.png
new file mode 100644
index 0000000000..00331e374d
Binary files /dev/null and b/Plugins/org.mitk.gui.qt.regiongrowing/resources/regiongrowing.png differ
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/QmitkRegionGrowingView.cpp b/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/QmitkRegionGrowingView.cpp
new file mode 100644
index 0000000000..5b750cf120
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/QmitkRegionGrowingView.cpp
@@ -0,0 +1,277 @@
+/*===================================================================
+
+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.
+
+===================================================================*/
+
+// Blueberry
+#include
+#include
+
+// Qmitk
+#include "QmitkRegionGrowingView.h"
+
+//! [cpp-includes]
+// Qmitk
+#include "QmitkPointListWidget.h"
+#include "QmitkRenderWindow.h"
+
+// MITK
+#include "mitkColorProperty.h"
+#include "mitkITKImageImport.h"
+#include "mitkImageAccessByItk.h"
+#include "mitkImageCast.h"
+#include "mitkProperties.h"
+
+// ITK
+#include
+//! [cpp-includes]
+
+// Qt
+#include
+
+const std::string QmitkRegionGrowingView::VIEW_ID = "org.mitk.views.example.regiongrowing";
+
+QmitkRegionGrowingView::QmitkRegionGrowingView() : m_PointListWidget(NULL)
+{
+}
+
+void QmitkRegionGrowingView::SetFocus()
+{
+ m_Controls.buttonPerformImageProcessing->setFocus();
+}
+
+void QmitkRegionGrowingView::CreateQtPartControl(QWidget *parent)
+{
+ // create GUI widgets from the Qt Designer's .ui file
+ m_Controls.setupUi(parent);
+ connect(m_Controls.buttonPerformImageProcessing, SIGNAL(clicked()), this, SLOT(DoImageProcessing()));
+ connect(m_Controls.checkBoxCustomRange, SIGNAL(clicked(bool)), this, SLOT(UseCustomRange(bool)));
+
+ //! [cpp-createqtpartcontrol]
+ // create a QmitkPointListWidget and add it to the widget created from .ui file
+ m_PointListWidget = new QmitkPointListWidget();
+ m_Controls.verticalLayout->addWidget(m_PointListWidget, 1);
+
+ // retrieve a possibly existing IRenderWindowPart
+ if (mitk::IRenderWindowPart *renderWindowPart = GetRenderWindowPart())
+ {
+ // let the point set widget know about the render window part (crosshair updates)
+ RenderWindowPartActivated(renderWindowPart);
+ }
+
+ // create a new DataNode containing a PointSet with some interaction
+ m_PointSet = mitk::PointSet::New();
+ mitk::DataNode::Pointer pointSetNode = mitk::DataNode::New();
+ pointSetNode->SetData(m_PointSet);
+ pointSetNode->SetName("seed points for region growing");
+ pointSetNode->SetProperty("helper object", mitk::BoolProperty::New(true));
+ pointSetNode->SetProperty("layer", mitk::IntProperty::New(1024));
+
+ // add the pointset to the data storage (for rendering and access by other modules)
+ GetDataStorage()->Add(pointSetNode);
+
+ // tell the GUI widget about the point set
+ m_PointListWidget->SetPointSetNode(pointSetNode);
+ //! [cpp-createqtpartcontrol]
+
+ connect(m_PointListWidget, SIGNAL(PointListChanged()), this, SLOT(UpdatePointSet()));
+}
+
+void QmitkRegionGrowingView::OnSelectionChanged(berry::IWorkbenchPart::Pointer /*source*/,
+ const QList &nodes)
+{
+ // iterate all selected objects, adjust warning visibility
+ foreach (mitk::DataNode::Pointer node, nodes)
+ {
+ if (node.IsNotNull() && dynamic_cast(node->GetData()))
+ {
+ m_Controls.labelWarning->setVisible(false);
+ m_Controls.buttonPerformImageProcessing->setEnabled(true);
+ return;
+ }
+ }
+
+ m_Controls.labelWarning->setVisible(true);
+ m_Controls.buttonPerformImageProcessing->setEnabled(false);
+}
+
+void QmitkRegionGrowingView::RenderWindowPartActivated(mitk::IRenderWindowPart *renderWindowPart)
+{
+ // let the point set widget know about the slice navigation controllers
+ // in the active render window part (crosshair updates)
+ foreach (QmitkRenderWindow *renderWindow, renderWindowPart->GetQmitkRenderWindows().values())
+ {
+ m_PointListWidget->AddSliceNavigationController(renderWindow->GetSliceNavigationController());
+ }
+}
+
+void QmitkRegionGrowingView::RenderWindowPartDeactivated(mitk::IRenderWindowPart *renderWindowPart)
+{
+ foreach (QmitkRenderWindow *renderWindow, renderWindowPart->GetQmitkRenderWindows().values())
+ {
+ m_PointListWidget->RemoveSliceNavigationController(renderWindow->GetSliceNavigationController());
+ }
+}
+
+void QmitkRegionGrowingView::DoImageProcessing()
+{
+ QList nodes = this->GetDataManagerSelection();
+ if (nodes.empty())
+ return;
+
+ mitk::DataNode *node = nodes.front();
+
+ if (!node)
+ {
+ // Nothing selected. Inform the user and return
+ QMessageBox::information(NULL, "Template", "Please load and select an image before starting image processing.");
+ return;
+ }
+
+ // here we have a valid mitk::DataNode
+
+ // a node itself is not very useful, we need its data item (the image)
+ mitk::BaseData *data = node->GetData();
+ if (data)
+ {
+ // test if this data item is an image or not (could also be a surface or something totally different)
+ mitk::Image *image = dynamic_cast(data);
+ if (image)
+ {
+ //! [cpp-doimageprocessing]
+ // So we have an image. Let's see if the user has set some seed points already
+ if (m_PointSet->GetSize() == 0)
+ {
+ // no points there. Not good for region growing
+ QMessageBox::information(NULL,
+ "Region growing functionality",
+ "Please set some seed points inside the image first.\n"
+ "(hold Shift key and click left mouse button inside the image.)");
+ return;
+ }
+
+ // actually perform region growing. Here we have both an image and some seed points
+ AccessByItk_1(
+ image, ItkImageProcessing, image->GetGeometry()) // some magic to call the correctly templated function
+ //! [cpp-doimageprocessing]
+ }
+ }
+}
+
+void QmitkRegionGrowingView::UseCustomRange(bool useCustomRange)
+{
+ m_Controls.spinBoxMax->setEnabled(useCustomRange);
+ m_Controls.spinBoxMin->setEnabled(useCustomRange);
+}
+
+void QmitkRegionGrowingView::UpdatePointSet()
+{
+ m_PointSet = m_PointListWidget->GetPointSet();
+}
+
+//! [cpp-itkimageaccess]
+template
+void QmitkRegionGrowingView::ItkImageProcessing(itk::Image *itkImage,
+ mitk::BaseGeometry *imageGeometry)
+{
+ typedef itk::Image InputImageType;
+ typedef typename InputImageType::IndexType IndexType;
+
+ // instantiate an ITK region growing filter, set its parameters
+ typedef itk::ConnectedThresholdImageFilter RegionGrowingFilterType;
+ typename RegionGrowingFilterType::Pointer regionGrower = RegionGrowingFilterType::New();
+ regionGrower->SetInput(itkImage); // don't forget this
+
+ // determine a thresholding interval
+ IndexType seedIndex;
+
+ mitk::PointSet::PointsContainer *points = m_PointSet->GetPointSet()->GetPoints();
+ for (mitk::PointSet::PointsConstIterator pointsIterator = points->Begin(); pointsIterator != points->End();
+ ++pointsIterator)
+ {
+ // first test if this point is inside the image at all
+ if (!imageGeometry->IsInside(pointsIterator.Value()))
+ {
+ continue;
+ }
+
+ TPixel min(std::numeric_limits::max());
+ TPixel max(std::numeric_limits::min());
+
+
+ if (m_Controls.checkBoxCustomRange->isChecked())
+ {
+ max = m_Controls.spinBoxMax->value();
+ min = m_Controls.spinBoxMin->value();
+ }
+
+ // convert world coordinates to image indices
+ imageGeometry->WorldToIndex(pointsIterator.Value(), seedIndex);
+
+ // get the pixel value at this point
+ TPixel currentPixelValue = itkImage->GetPixel(seedIndex);
+
+ if (!m_Controls.checkBoxCustomRange->isChecked())
+ {
+ // adjust minimum and maximum values
+ if (currentPixelValue > max)
+ max = currentPixelValue;
+
+ if (currentPixelValue < min)
+ min = currentPixelValue;
+ }
+
+ regionGrower->AddSeed(seedIndex);
+ MITK_INFO << "Values between " << min << " and " << max;
+
+ if (!m_Controls.checkBoxCustomRange->isChecked())
+ {
+ min -= 130;
+ max += 130;
+ }
+
+ m_Controls.spinBoxMin->setValue(min);
+ m_Controls.spinBoxMax->setValue(max);
+
+ // set thresholds and execute filter
+ regionGrower->SetLower(min);
+ regionGrower->SetUpper(max);
+
+ regionGrower->Update();
+
+ mitk::Image::Pointer resultImage;
+ mitk::CastToMitkImage(regionGrower->GetOutput(), resultImage);
+ mitk::DataNode::Pointer newNode = mitk::DataNode::New();
+ newNode->SetData(resultImage);
+
+ // set some properties
+ newNode->SetProperty("binary", mitk::BoolProperty::New(true));
+ newNode->SetProperty("name", mitk::StringProperty::New("dumb segmentation"));
+ newNode->SetProperty("color", mitk::ColorProperty::New(1.0, 0.0, 0.0));
+ newNode->SetProperty("volumerendering", mitk::BoolProperty::New(true));
+ newNode->SetProperty("layer", mitk::IntProperty::New(1));
+ newNode->SetProperty("opacity", mitk::FloatProperty::New(0.5));
+
+ // add result to data tree
+ this->GetDataStorage()->Add(newNode);
+ mitk::RenderingManager::GetInstance()->RequestUpdateAll();
+
+ regionGrower->ClearSeeds();
+ }
+
+
+}
+//! [cpp-itkimageaccess]
+
+
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/QmitkRegionGrowingView.h b/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/QmitkRegionGrowingView.h
new file mode 100644
index 0000000000..ca99972e3d
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/QmitkRegionGrowingView.h
@@ -0,0 +1,97 @@
+/*===================================================================
+
+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 QmitkRegionGrowingView_h
+#define QmitkRegionGrowingView_h
+
+#include
+
+#include
+
+#include "ui_QmitkRegionGrowingViewControls.h"
+
+//! [includes]
+#include "mitkIRenderWindowPartListener.h"
+#include "mitkPointSet.h"
+#include
+
+class QmitkPointListWidget;
+//! [includes]
+
+/**
+ \brief QmitkRegionGrowingView
+
+ \warning This class is not yet documented. Use "git blame" and ask the author to provide basic documentation.
+
+ \sa QmitkAbstractView
+ \ingroup ${plugin_target}_internal
+*/
+class QmitkRegionGrowingView : public QmitkAbstractView, public mitk::IRenderWindowPartListener
+{
+ // 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)
+ Q_OBJECT
+
+public:
+ static const std::string VIEW_ID;
+
+ QmitkRegionGrowingView();
+
+protected slots:
+
+ /// \brief Called when the user clicks the GUI button
+ void DoImageProcessing();
+
+ void UseCustomRange(bool useCustomRange);
+
+ void UpdatePointSet();
+
+protected:
+ virtual void CreateQtPartControl(QWidget *parent) override;
+
+ virtual void SetFocus() override;
+
+ virtual void OnSelectionChanged(berry::IWorkbenchPart::Pointer source,
+ const QList &nodes) override;
+
+ //! [render-window-part-listener]
+ void RenderWindowPartActivated(mitk::IRenderWindowPart *renderWindowPart) override;
+ void RenderWindowPartDeactivated(mitk::IRenderWindowPart *renderWindowPart) override;
+ //! [render-window-part-listener]
+
+ Ui::QmitkRegionGrowingViewControls m_Controls;
+
+private:
+ //! [itkimageprocessing]
+ /**
+ \brief ITK image processing function
+ This function is templated like an ITK image. The MITK-Macro AccessByItk determines the actual pixel type and
+ dimensionality of
+ a given MITK image and calls this function for further processing (in our case region growing)
+ */
+ template
+ void ItkImageProcessing(itk::Image *itkImage, mitk::BaseGeometry *imageGeometry);
+ //! [itkimageprocessing]
+
+ //! [members]
+ /// \brief This is the actual seed point data object
+ mitk::PointSet::Pointer m_PointSet;
+
+ QmitkPointListWidget *m_PointListWidget;
+ //! [members]
+};
+
+#endif // QmitkRegionGrowingView_h
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/QmitkRegionGrowingViewControls.ui b/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/QmitkRegionGrowingViewControls.ui
new file mode 100644
index 0000000000..0ef63f6363
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/QmitkRegionGrowingViewControls.ui
@@ -0,0 +1,97 @@
+
+
+ QmitkRegionGrowingViewControls
+
+
+
+ 0
+ 0
+ 222
+ 161
+
+
+
+
+ 0
+ 0
+
+
+
+ QmitkTemplate
+
+
+ -
+
+
+ QLabel { color: rgb(255, 0, 0) }
+
+
+ Please select an image!
+
+
+
+ -
+
+
+ Customize Range
+
+
+
+ -
+
+
-
+
+
+ Min
+
+
+
+ -
+
+
+ false
+
+
+ 99999
+
+
+
+
+
+ -
+
+
-
+
+
+ Max
+
+
+
+ -
+
+
+ false
+
+
+ 99999
+
+
+
+
+
+ -
+
+
+ Do image processing
+
+
+ Start Region Growing!
+
+
+
+
+
+
+
+
+
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/org_mitk_gui_qt_regiongrowing_Activator.cpp b/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/org_mitk_gui_qt_regiongrowing_Activator.cpp
new file mode 100644
index 0000000000..d94c2d172a
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/org_mitk_gui_qt_regiongrowing_Activator.cpp
@@ -0,0 +1,28 @@
+/*===================================================================
+
+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 "org_mitk_gui_qt_regiongrowing_Activator.h"
+#include "QmitkRegionGrowingView.h"
+
+namespace mitk
+{
+ void org_mitk_gui_qt_regiongrowing_Activator::start(ctkPluginContext *context)
+ {
+ BERRY_REGISTER_EXTENSION_CLASS(QmitkRegionGrowingView, context)
+ }
+
+ void org_mitk_gui_qt_regiongrowing_Activator::stop(ctkPluginContext *context) { Q_UNUSED(context) }
+}
diff --git a/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/org_mitk_gui_qt_regiongrowing_Activator.h b/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/org_mitk_gui_qt_regiongrowing_Activator.h
new file mode 100644
index 0000000000..a024f85c90
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.regiongrowing/src/internal/org_mitk_gui_qt_regiongrowing_Activator.h
@@ -0,0 +1,37 @@
+/*===================================================================
+
+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 org_mitk_gui_qt_regiongrowing_Activator_h
+#define org_mitk_gui_qt_regiongrowing_Activator_h
+
+#include
+
+namespace mitk
+{
+ class org_mitk_gui_qt_regiongrowing_Activator : public QObject, public ctkPluginActivator
+ {
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org_mitk_example_gui_regiongrowing")
+ Q_INTERFACES(ctkPluginActivator)
+
+ public:
+ void start(ctkPluginContext *context) override;
+ void stop(ctkPluginContext *context) override;
+
+ }; // org_mitk_gui_qt_regiongrowing_Activator_h
+}
+
+#endif // org_mitk_gui_qt_regiongrowing_Activator_h