diff --git a/Plugins/PluginList.cmake b/Plugins/PluginList.cmake
index 67b5e41db5..4d396b4932 100644
--- a/Plugins/PluginList.cmake
+++ b/Plugins/PluginList.cmake
@@ -1,41 +1,42 @@
# Plug-ins must be ordered according to their dependencies
set(MITK_EXT_PLUGINS
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.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.diffusionimagingapp:OFF
org.mitk.gui.qt.datamanager:ON
org.mitk.gui.qt.basicimageprocessing:OFF
org.mitk.gui.qt.diffusionimaging:OFF
org.mitk.gui.qt.dtiatlasapp:OFF
org.mitk.gui.qt.examples:OFF
org.mitk.gui.qt.examplesopencv:OFF
org.mitk.gui.qt.igtexamples:OFF
org.mitk.gui.qt.igttracking:OFF
org.mitk.gui.qt.imagecropper:OFF
org.mitk.gui.qt.imagenavigator:ON
org.mitk.gui.qt.materialeditor:OFF
org.mitk.gui.qt.measurementtoolbox:OFF
org.mitk.gui.qt.meshdecimation:OFF
org.mitk.gui.qt.moviemaker:OFF
org.mitk.gui.qt.pointsetinteraction:OFF
org.mitk.gui.qt.python.console:OFF
org.mitk.gui.qt.registration:OFF
org.mitk.gui.qt.segmentation:OFF
org.mitk.gui.qt.toftutorial:OFF
org.mitk.gui.qt.tofutil:OFF
org.mitk.gui.qt.ugvisualization:OFF
+ org.mitk.gui.qt.ultrasound:OFF
org.mitk.gui.qt.volumevisualization:OFF
)
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/CMakeLists.txt b/Plugins/org.mitk.gui.qt.ultrasound/CMakeLists.txt
new file mode 100644
index 0000000000..57579f88c2
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/CMakeLists.txt
@@ -0,0 +1,7 @@
+project(org_mitk_gui_qt_ultrasound)
+
+MACRO_CREATE_MITK_CTK_PLUGIN(
+ EXPORT_DIRECTIVE ULTRASOUND_EXPORT
+ EXPORTED_INCLUDE_SUFFIXES src
+ MODULE_DEPENDENCIES QmitkExt
+)
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/documentation/UserManual/Manual.dox b/Plugins/org.mitk.gui.qt.ultrasound/documentation/UserManual/Manual.dox
new file mode 100644
index 0000000000..42934f7778
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/documentation/UserManual/Manual.dox
@@ -0,0 +1,19 @@
+/**
+\bundlemainpage{org.mitk.gui.qt.ultrasound} Ultrasound
+
+\image html icon.xpm "Icon of Ultrasound"
+
+Available sections:
+ - \ref org.mitk.gui.qt.ultrasoundOverview
+
+\section org.mitk.gui.qt.ultrasoundOverview
+Describe the features of your awesome plugin here
+
+- Increases productivity
+
- Creates beautiful images
+
- Generates PhD thesis
+
- Brings world peace
+
+
+*/
+
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/documentation/UserManual/icon.xpm b/Plugins/org.mitk.gui.qt.ultrasound/documentation/UserManual/icon.xpm
new file mode 100644
index 0000000000..9057c20bc6
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/documentation/UserManual/icon.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static const char * icon_xpm[] = {
+"16 16 2 1",
+" c #FF0000",
+". c #000000",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "};
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/documentation/doxygen/modules.dox b/Plugins/org.mitk.gui.qt.ultrasound/documentation/doxygen/modules.dox
new file mode 100644
index 0000000000..22a80e24b6
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/documentation/doxygen/modules.dox
@@ -0,0 +1,16 @@
+/**
+ \defgroup org_mitk_gui_qt_ultrasound org.mitk.gui.qt.ultrasound
+ \ingroup MITKPlugins
+
+ \brief Describe your plugin here.
+
+*/
+
+/**
+ \defgroup org_mitk_gui_qt_ultrasound_internal Internal
+ \ingroup org_mitk_gui_qt_ultrasound
+
+ \brief This subcategory includes the internal classes of the org.mitk.gui.qt.ultrasound 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.ultrasound/files.cmake b/Plugins/org.mitk.gui.qt.ultrasound/files.cmake
new file mode 100644
index 0000000000..d39df0669c
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/files.cmake
@@ -0,0 +1,43 @@
+set(SRC_CPP_FILES
+
+)
+
+set(INTERNAL_CPP_FILES
+ org_mitk_gui_qt_ultrasound_Activator.cpp
+ UltrasoundSupport.cpp
+)
+
+set(UI_FILES
+ src/internal/UltrasoundSupportControls.ui
+)
+
+set(MOC_H_FILES
+ src/internal/org_mitk_gui_qt_ultrasound_Activator.h
+ src/internal/UltrasoundSupport.h
+)
+
+# list of resource files which can be used by the plug-in
+# system without loading the plug-ins shared library,
+# for example the icon used in the menu and tabs for the
+# plug-in views in the workbench
+set(CACHED_RESOURCE_FILES
+ resources/icon.xpm
+ plugin.xml
+)
+
+# list of Qt .qrc files which contain additional resources
+# specific to this plugin
+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.ultrasound/manifest_headers.cmake b/Plugins/org.mitk.gui.qt.ultrasound/manifest_headers.cmake
new file mode 100644
index 0000000000..182113f62b
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/manifest_headers.cmake
@@ -0,0 +1,5 @@
+set(Plugin-Name "Ultrasound")
+set(Plugin-Version "0.1")
+set(Plugin-Vendor "DKFZ, Medical and Biological Informatics")
+set(Plugin-ContactAddress "")
+set(Require-Plugin org.mitk.gui.qt.common)
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/plugin.xml b/Plugins/org.mitk.gui.qt.ultrasound/plugin.xml
new file mode 100644
index 0000000000..12e452b3d5
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/plugin.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/resources/icon.xpm b/Plugins/org.mitk.gui.qt.ultrasound/resources/icon.xpm
new file mode 100644
index 0000000000..9057c20bc6
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/resources/icon.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static const char * icon_xpm[] = {
+"16 16 2 1",
+" c #FF0000",
+". c #000000",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "};
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/src/internal/UltrasoundSupport.cpp b/Plugins/org.mitk.gui.qt.ultrasound/src/internal/UltrasoundSupport.cpp
new file mode 100644
index 0000000000..190974d7f5
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/src/internal/UltrasoundSupport.cpp
@@ -0,0 +1,102 @@
+/*=========================================================================
+
+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.
+
+=========================================================================*/
+
+
+// Blueberry
+#include
+#include
+
+// Qmitk
+#include "UltrasoundSupport.h"
+
+// Qt
+#include
+
+
+const std::string UltrasoundSupport::VIEW_ID = "org.mitk.views.ultrasoundsupport";
+
+void UltrasoundSupport::SetFocus()
+{
+ m_Controls.buttonPerformImageProcessing->setFocus();
+}
+
+void UltrasoundSupport::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()) );
+}
+
+void UltrasoundSupport::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 UltrasoundSupport::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)
+ {
+ std::stringstream message;
+ std::string name;
+ message << "Performing image processing for image ";
+ if (node->GetName(name))
+ {
+ // a property called "name" was found for this DataNode
+ message << "'" << name << "'";
+ }
+ message << ".";
+ MITK_INFO << message.str();
+
+ // actually do something here...
+
+ }
+ }
+}
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/src/internal/UltrasoundSupport.h b/Plugins/org.mitk.gui.qt.ultrasound/src/internal/UltrasoundSupport.h
new file mode 100644
index 0000000000..a9b73dbbef
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/src/internal/UltrasoundSupport.h
@@ -0,0 +1,67 @@
+/*=========================================================================
+
+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 UltrasoundSupport_h
+#define UltrasoundSupport_h
+
+#include
+
+#include
+
+#include "ui_UltrasoundSupportControls.h"
+
+
+/*!
+ \brief UltrasoundSupport
+
+ \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 UltrasoundSupport : 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)
+ Q_OBJECT
+
+ public:
+
+ static const std::string VIEW_ID;
+
+ virtual void CreateQtPartControl(QWidget *parent);
+
+ protected slots:
+
+ /// \brief Called when the user clicks the GUI button
+ void DoImageProcessing();
+
+ protected:
+
+ virtual void SetFocus();
+
+ /// \brief called by QmitkFunctionality when DataManager's selection has changed
+ virtual void OnSelectionChanged( berry::IWorkbenchPart::Pointer source,
+ const QList& nodes );
+
+ Ui::UltrasoundSupportControls m_Controls;
+
+};
+
+#endif // UltrasoundSupport_h
+
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/src/internal/UltrasoundSupportControls.ui b/Plugins/org.mitk.gui.qt.ultrasound/src/internal/UltrasoundSupportControls.ui
new file mode 100644
index 0000000000..21b7680a84
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/src/internal/UltrasoundSupportControls.ui
@@ -0,0 +1,64 @@
+
+
+ UltrasoundSupportControls
+
+
+
+ 0
+ 0
+ 222
+ 161
+
+
+
+
+ 0
+ 0
+
+
+
+ QmitkTemplate
+
+
+ -
+
+
+ QLabel { color: rgb(255, 0, 0) }
+
+
+ Please select an image!
+
+
+
+ -
+
+
+ Do image processing
+
+
+ Do Something
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Expanding
+
+
+
+ 20
+ 220
+
+
+
+
+
+
+
+
+
+
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/src/internal/org_mitk_gui_qt_ultrasound_Activator.cpp b/Plugins/org.mitk.gui.qt.ultrasound/src/internal/org_mitk_gui_qt_ultrasound_Activator.cpp
new file mode 100644
index 0000000000..b77473cc4d
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/src/internal/org_mitk_gui_qt_ultrasound_Activator.cpp
@@ -0,0 +1,39 @@
+/*=========================================================================
+
+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 "org_mitk_gui_qt_ultrasound_Activator.h"
+
+#include
+
+#include "UltrasoundSupport.h"
+
+namespace mitk {
+
+void org_mitk_gui_qt_ultrasound_Activator::start(ctkPluginContext* context)
+{
+ BERRY_REGISTER_EXTENSION_CLASS(UltrasoundSupport, context)
+}
+
+void org_mitk_gui_qt_ultrasound_Activator::stop(ctkPluginContext* context)
+{
+ Q_UNUSED(context)
+}
+
+}
+
+Q_EXPORT_PLUGIN2(org_mitk_gui_qt_ultrasound, mitk::org_mitk_gui_qt_ultrasound_Activator)
diff --git a/Plugins/org.mitk.gui.qt.ultrasound/src/internal/org_mitk_gui_qt_ultrasound_Activator.h b/Plugins/org.mitk.gui.qt.ultrasound/src/internal/org_mitk_gui_qt_ultrasound_Activator.h
new file mode 100644
index 0000000000..2bd3b8741e
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.ultrasound/src/internal/org_mitk_gui_qt_ultrasound_Activator.h
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+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 org_mitk_gui_qt_ultrasound_Activator_h
+#define org_mitk_gui_qt_ultrasound_Activator_h
+
+#include
+
+namespace mitk {
+
+class org_mitk_gui_qt_ultrasound_Activator :
+ public QObject, public ctkPluginActivator
+{
+ Q_OBJECT
+ Q_INTERFACES(ctkPluginActivator)
+
+public:
+
+ void start(ctkPluginContext* context);
+ void stop(ctkPluginContext* context);
+
+}; // org_mitk_gui_qt_ultrasound_Activator
+
+}
+
+#endif // org_mitk_gui_qt_ultrasound_Activator_h