diff --git a/CMake/BuildConfigurations/WorkbenchRelease.cmake b/CMake/BuildConfigurations/WorkbenchRelease.cmake
index 0163c6a085..168a400d97 100644
--- a/CMake/BuildConfigurations/WorkbenchRelease.cmake
+++ b/CMake/BuildConfigurations/WorkbenchRelease.cmake
@@ -1,29 +1,31 @@
 include(${CMAKE_CURRENT_LIST_DIR}/Default.cmake)
 
 set(MITK_CONFIG_PACKAGES ${MITK_CONFIG_PACKAGES}
   MatchPoint
 )
 
 set(MITK_CONFIG_PLUGINS ${MITK_CONFIG_PLUGINS}
   org.mitk.matchpoint.core.helper
   org.mitk.gui.qt.matchpoint.algorithm.browser
   org.mitk.gui.qt.matchpoint.algorithm.control
   org.mitk.gui.qt.matchpoint.mapper
   org.mitk.gui.qt.matchpoint.framereg
   org.mitk.gui.qt.matchpoint.visualizer
   org.mitk.gui.qt.matchpoint.evaluator
   org.mitk.gui.qt.matchpoint.manipulator
+  org.mitk.gui.qt.dicominspector
 )
 
 if(NOT MITK_USE_SUPERBUILD)
   set(BUILD_CoreCmdApps ON CACHE BOOL "" FORCE)
   set(BUILD_MatchPointCmdApps ON CACHE BOOL "" FORCE)
   set(BUILD_SegmentationCmdApps ON CACHE BOOL "" FORCE)
+  set(BUILD_DICOMCmdApps ON CACHE BOOL "" FORCE)
 endif()
 
 set(MITK_VTK_DEBUG_LEAKS OFF CACHE BOOL "Enable VTK Debug Leaks" FORCE)
 
 find_package(Doxygen REQUIRED)
 
 # Ensure that the in-application help can be build
 set(BLUEBERRY_QT_HELP_REQUIRED ON CACHE BOOL "Required Qt help documentation in plug-ins" FORCE)
diff --git a/Plugins/org.mitk.gui.qt.dicominspector/documentation/UserManual/inspector-dox.png b/Plugins/org.mitk.gui.qt.dicominspector/documentation/UserManual/inspector-dox.png
index 6dc6b30c29..1941802bab 100644
Binary files a/Plugins/org.mitk.gui.qt.dicominspector/documentation/UserManual/inspector-dox.png and b/Plugins/org.mitk.gui.qt.dicominspector/documentation/UserManual/inspector-dox.png differ
diff --git a/Plugins/org.mitk.gui.qt.dicominspector/files.cmake b/Plugins/org.mitk.gui.qt.dicominspector/files.cmake
index 58fe6719bb..a68c58b3c8 100644
--- a/Plugins/org.mitk.gui.qt.dicominspector/files.cmake
+++ b/Plugins/org.mitk.gui.qt.dicominspector/files.cmake
@@ -1,42 +1,42 @@
 set(SRC_CPP_FILES
 
 )
 
 set(INTERNAL_CPP_FILES
   mitkDicomInspectorActivator.cpp
   mitkDicomInspectorActivator.h
   QmitkDicomInspectorView.cpp
   QmitkDicomInspectorView.h
 )
 
 set(UI_FILES
   src/internal/QmitkDicomInspectorViewControls.ui
 )
 
 set(MOC_H_FILES
   src/internal/mitkDicomInspectorActivator.h
   src/internal/QmitkDicomInspectorView.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/inspector.png
+  resources/dicom_inspector.svg
   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.dicominspector/plugin.xml b/Plugins/org.mitk.gui.qt.dicominspector/plugin.xml
index 8da249251b..6fd795a227 100644
--- a/Plugins/org.mitk.gui.qt.dicominspector/plugin.xml
+++ b/Plugins/org.mitk.gui.qt.dicominspector/plugin.xml
@@ -1,10 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <plugin>
   <extension point="org.blueberry.ui.views">
     <view id="org.mitk.views.dicominspector"
           name="Dicom Inspector"
           class="QmitkDicomInspectorView"
-          icon="resources/inspector.png" />
+          icon="resources/dicom_inspector.svg"
+          category="Data">
+          <description>View DICOM information stored as properties in data instances.</description>
+	</view>
   </extension>
 
 </plugin>
diff --git a/Plugins/org.mitk.gui.qt.dicominspector/resources/dicom_inspector.svg b/Plugins/org.mitk.gui.qt.dicominspector/resources/dicom_inspector.svg
new file mode 100644
index 0000000000..4c28b406f7
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.dicominspector/resources/dicom_inspector.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   width="128"
+   height="128"
+   viewBox="0 0 1792 1792"
+   id="svg2"
+   version="1.1"
+   inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
+   sodipodi:docname="dicom_inspector.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:dc="http://purl.org/dc/elements/1.1/">
+  <metadata
+     id="metadata10">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1890"
+     inkscape:window-height="1065"
+     id="namedview6"
+     showgrid="false"
+     inkscape:zoom="2.97995"
+     inkscape:cx="82.048357"
+     inkscape:cy="63.423883"
+     inkscape:window-x="-7"
+     inkscape:window-y="622"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2"
+     inkscape:showpageshadow="0"
+     inkscape:pagecheckerboard="1"
+     inkscape:deskcolor="#d1d1d1" />
+  <path
+     id="path4"
+     style="display:inline;fill:#00ff00;fill-opacity:1;stroke:none"
+     d="M 159.98828 127.99609 C 115.98863 127.99609 78.337022 143.66688 47.003906 175 C 15.670796 206.33312 3.3158628e-14 244.012 0 288.01172 L 0 1089.9492 L 127.99609 1089.9492 L 127.99609 544.00391 C 127.99609 535.33725 131.17845 527.83327 137.51172 521.5 C 143.84499 515.16673 151.32168 512.01172 159.98828 512.01172 L 1632.0117 512.01172 C 1640.6784 512.01172 1648.155 515.16673 1654.4883 521.5 C 1660.8216 527.83327 1664.0039 535.33725 1664.0039 544.00391 L 1664.0039 1089.9492 L 1792 1089.9492 L 1792 288.01172 C 1792 244.012 1776.3294 206.33312 1744.9961 175 C 1713.6628 143.66688 1676.0117 127.99609 1632.0117 127.99609 L 159.98828 127.99609 z M 288.01172 640.00781 C 279.34512 640.00781 271.84114 643.16283 265.50781 649.49609 C 259.17455 655.82942 255.99219 663.3334 255.99219 672 L 255.99219 736.01172 C 255.99219 744.67832 259.17455 752.15501 265.50781 758.48828 C 271.84114 764.82155 279.34512 768.00391 288.01172 768.00391 L 351.99609 768.00391 C 360.66275 768.00391 368.16673 764.82155 374.5 758.48828 C 380.83327 752.15501 383.98828 744.67832 383.98828 736.01172 L 383.98828 672 C 383.98828 663.3334 380.83327 655.82942 374.5 649.49609 C 368.16673 643.16283 360.66275 640.00781 351.99609 640.00781 L 288.01172 640.00781 z M 544.00391 640.00781 C 535.33725 640.00781 527.83327 643.16283 521.5 649.49609 C 515.16673 655.82942 512.01172 663.3334 512.01172 672 L 512.01172 736.01172 C 512.01172 744.67832 515.16673 752.15501 521.5 758.48828 C 527.83327 764.82155 535.33725 768.00391 544.00391 768.00391 L 1503.9883 768.00391 C 1512.6549 768.00391 1520.1589 764.82155 1526.4922 758.48828 C 1532.8255 752.15501 1536.0078 744.67832 1536.0078 736.01172 L 1536.0078 672 C 1536.0078 663.3334 1532.8255 655.82942 1526.4922 649.49609 C 1520.1589 643.16283 1512.6549 640.00781 1503.9883 640.00781 L 544.00391 640.00781 z M 288.01172 896 C 279.34512 896 271.84114 899.15501 265.50781 905.48828 C 259.17455 911.82155 255.99219 919.32559 255.99219 927.99219 L 255.99219 992.00391 C 255.99219 1000.6706 259.17455 1008.1745 265.50781 1014.5078 C 271.84114 1020.8411 279.34512 1023.9961 288.01172 1023.9961 L 351.99609 1023.9961 C 360.66275 1023.9961 368.16673 1020.8411 374.5 1014.5078 C 380.83327 1008.1745 383.98828 1000.6706 383.98828 992.00391 L 383.98828 927.99219 C 383.98828 919.32559 380.83327 911.82155 374.5 905.48828 C 368.16673 899.15501 360.66275 896 351.99609 896 L 288.01172 896 z M 544.00391 896 C 535.33725 896 527.83327 899.15501 521.5 905.48828 C 515.16673 911.82155 512.01172 919.32559 512.01172 927.99219 L 512.01172 992.00391 C 512.01172 1000.6706 515.16673 1008.1745 521.5 1014.5078 C 527.83327 1020.8411 535.33725 1023.9961 544.00391 1023.9961 L 1503.9883 1023.9961 C 1512.6549 1023.9961 1520.1589 1020.8411 1526.4922 1014.5078 C 1532.8255 1008.1745 1536.0078 1000.6706 1536.0078 992.00391 L 1536.0078 927.99219 C 1536.0078 919.32559 1532.8255 911.82155 1526.4922 905.48828 C 1520.1589 899.15501 1512.6549 896 1503.9883 896 L 544.00391 896 z " />
+  <text
+     xml:space="preserve"
+     style="font-size:746.667px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial;letter-spacing:0px;word-spacing:0px;display:inline;fill:none;stroke:#000000;stroke-width:14px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="46.980652"
+     y="1738.2843"
+     id="text288-1"><tspan
+       sodipodi:role="line"
+       id="tspan286-7"
+       x="0"
+       y="0"
+       style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:746.667px;font-family:Arial;-inkscape-font-specification:'Arial Bold';fill:#ff00ff;stroke:none;stroke-width:14px">DCM</tspan></text>
+</svg>
diff --git a/Plugins/org.mitk.gui.qt.dicominspector/resources/inspector.png b/Plugins/org.mitk.gui.qt.dicominspector/resources/inspector.png
deleted file mode 100644
index 6dc6b30c29..0000000000
Binary files a/Plugins/org.mitk.gui.qt.dicominspector/resources/inspector.png and /dev/null differ
diff --git a/Plugins/org.mitk.gui.qt.dicominspector/src/internal/QmitkDicomInspectorView.cpp b/Plugins/org.mitk.gui.qt.dicominspector/src/internal/QmitkDicomInspectorView.cpp
index c0808922fb..f396482627 100644
--- a/Plugins/org.mitk.gui.qt.dicominspector/src/internal/QmitkDicomInspectorView.cpp
+++ b/Plugins/org.mitk.gui.qt.dicominspector/src/internal/QmitkDicomInspectorView.cpp
@@ -1,389 +1,397 @@
 /*============================================================================
 
 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.
 
 ============================================================================*/
 
 // Blueberry
 #include <berryISelectionService.h>
 #include <berryIWorkbenchWindow.h>
 #include <berryIWorkbenchPage.h>
 
 // mitk
 #include <QmitkRenderWindow.h>
 #include <mitkImagePixelReadAccessor.h>
 #include <mitkPixelTypeMultiplex.h>
 #include <mitkTimeNavigationController.h>
+#include <mitkNodePredicateAnd.h>
+#include <mitkNodePredicateNot.h>
+#include <mitkNodePredicateProperty.h>
 
 // Qt
 #include <QMessageBox>
 #include <QMessageBox>
 #include <QFileDialog>
 #include <qwt_plot_marker.h>
 
 #include "QmitkDicomInspectorView.h"
 
 const std::string QmitkDicomInspectorView::VIEW_ID = "org.mitk.views.dicominspector";
 
 QmitkDicomInspectorView::ObserverInfo::ObserverInfo(mitk::SliceNavigationController* controller,
   int observerTag, mitk::IRenderWindowPart* part)
   : controller(controller)
   , observerTag(observerTag)
   , renderWindowPart(part)
 {
 }
 
 QmitkDicomInspectorView::QmitkDicomInspectorView()
   : m_RenderWindowPart(nullptr)
   , m_PendingSliceChangedEvent(false)
   , m_SelectedNode(nullptr)
   , m_SelectedTimePoint(0.)
   , m_CurrentSelectedZSlice(0)
 {
   m_SelectedPosition.Fill(0.0);
 }
 
 QmitkDicomInspectorView::~QmitkDicomInspectorView()
 {
   this->RemoveAllObservers();
 }
 
 void QmitkDicomInspectorView::RenderWindowPartActivated(mitk::IRenderWindowPart* renderWindowPart)
 {
   if (m_RenderWindowPart != renderWindowPart)
   {
     m_RenderWindowPart = renderWindowPart;
 
     if (!InitObservers())
     {
       QMessageBox::information(nullptr, "Error", "Unable to set up the event observers. The " \
         "plot will not be triggered on changing the crosshair, " \
         "position or time step.");
     }
   }
 }
 
 void QmitkDicomInspectorView::RenderWindowPartDeactivated(mitk::IRenderWindowPart* renderWindowPart)
 {
   m_RenderWindowPart = nullptr;
   this->RemoveAllObservers(renderWindowPart);
 }
 
 void QmitkDicomInspectorView::CreateQtPartControl(QWidget* parent)
 {
   // create GUI widgets from the Qt Designer's .ui file
   m_Controls.setupUi(parent);
 
+  auto nodePredicate = mitk::NodePredicateAnd::New();
+  nodePredicate->AddPredicate(mitk::NodePredicateNot::New(mitk::NodePredicateProperty::New("helper object")));
+  nodePredicate->AddPredicate(mitk::NodePredicateNot::New(mitk::NodePredicateProperty::New("hidden object")));
+
   m_Controls.singleSlot->SetDataStorage(GetDataStorage());
   m_Controls.singleSlot->SetSelectionIsOptional(true);
   m_Controls.singleSlot->SetAutoSelectNewNodes(true);
+  m_Controls.singleSlot->SetNodePredicate(nodePredicate);
   m_Controls.singleSlot->SetEmptyInfo(QString("Please select a data node"));
   m_Controls.singleSlot->SetPopUpTitel(QString("Select data node"));
 
   m_SelectionServiceConnector = std::make_unique<QmitkSelectionServiceConnector>();
   SetAsSelectionListener(true);
 
   m_Controls.timePointValueLabel->setText(QString(""));
   m_Controls.sliceNumberValueLabel->setText(QString(""));
 
   connect(m_Controls.singleSlot, &QmitkSingleNodeSelectionWidget::CurrentSelectionChanged,
     this, &QmitkDicomInspectorView::OnCurrentSelectionChanged);
 
   mitk::IRenderWindowPart* renderWindowPart = GetRenderWindowPart();
   RenderWindowPartActivated(renderWindowPart);
 }
 
 bool QmitkDicomInspectorView::InitObservers()
 {
   bool result = true;
 
   auto* timeNavigationController = mitk::RenderingManager::GetInstance()->GetTimeNavigationController();
   itk::SimpleMemberCommand<QmitkDicomInspectorView>::Pointer cmdTimeEvent =
     itk::SimpleMemberCommand<QmitkDicomInspectorView>::New();
   cmdTimeEvent->SetCallbackFunction(this, &QmitkDicomInspectorView::OnTimeChanged);
   m_ControllerToTimeObserverTag = timeNavigationController->AddObserver(mitk::TimeNavigationController::TimeEvent(0), cmdTimeEvent);
 
   typedef QHash<QString, QmitkRenderWindow*> WindowMapType;
   WindowMapType windowMap = m_RenderWindowPart->GetQmitkRenderWindows();
 
   auto i = windowMap.begin();
 
   while (i != windowMap.end())
   {
     mitk::SliceNavigationController* sliceNavController = i.value()->GetSliceNavigationController();
 
     if (nullptr != sliceNavController)
     {
       auto cmdSliceEvent = itk::SimpleMemberCommand<QmitkDicomInspectorView>::New();
       cmdSliceEvent->SetCallbackFunction(this, &QmitkDicomInspectorView::OnSliceChanged);
       int tag = sliceNavController->AddObserver(
         mitk::SliceNavigationController::GeometrySliceEvent(nullptr, 0), cmdSliceEvent);
 
       m_ObserverMap.insert(std::make_pair(sliceNavController, ObserverInfo(sliceNavController, tag,
         m_RenderWindowPart)));
 
       auto cmdDelEvent = itk::MemberCommand<QmitkDicomInspectorView>::New();
       cmdDelEvent->SetCallbackFunction(this, &QmitkDicomInspectorView::OnSliceNavigationControllerDeleted);
       tag = sliceNavController->AddObserver(itk::DeleteEvent(), cmdDelEvent);
 
       m_ObserverMap.insert(std::make_pair(sliceNavController, ObserverInfo(sliceNavController, tag,
         m_RenderWindowPart)));
     }
 
     ++i;
 
     result = result && sliceNavController;
   }
 
   return result;
 }
 
 void QmitkDicomInspectorView::RemoveObservers(const mitk::SliceNavigationController* deletedSlicer)
 {
   std::pair<ObserverMapType::const_iterator, ObserverMapType::const_iterator> obsRange =
     m_ObserverMap.equal_range(deletedSlicer);
 
   for (ObserverMapType::const_iterator pos = obsRange.first; pos != obsRange.second; ++pos)
   {
     pos->second.controller->RemoveObserver(pos->second.observerTag);
   }
 
   m_ObserverMap.erase(deletedSlicer);
 }
 
 void QmitkDicomInspectorView::RemoveAllObservers(mitk::IRenderWindowPart* deletedPart)
 {
   for (ObserverMapType::const_iterator pos = m_ObserverMap.begin(); pos != m_ObserverMap.end();)
   {
     ObserverMapType::const_iterator delPos = pos++;
 
     if (nullptr == deletedPart || deletedPart == delPos->second.renderWindowPart)
     {
       delPos->second.controller->RemoveObserver(delPos->second.observerTag);
       m_ObserverMap.erase(delPos);
     }
   }
 }
 
 void QmitkDicomInspectorView::OnCurrentSelectionChanged(QList<mitk::DataNode::Pointer> nodes)
 {
   if (nodes.empty() || nodes.front().IsNull())
   {
     m_SelectedNode = nullptr;
     m_SelectedData = nullptr;
     UpdateData();
     return;
   }
 
   if (nodes.front() != this->m_SelectedNode)
   {
     // node is selected, create DICOM tag table
     m_SelectedNode = nodes.front();
     m_SelectedData = this->m_SelectedNode->GetData();
 
     m_SelectedNodeTime.Modified();
     UpdateData();
     OnSliceChangedDelayed();
   }
 }
 
 void QmitkDicomInspectorView::OnSliceChanged()
 {
   // Since there are always 3 events arriving (one for each render window) every time the slice
   // or time changes, the slot OnSliceChangedDelayed is triggered - and only if it hasn't been
   // triggered yet - so it is only executed once for every slice/time change.
   if (!m_PendingSliceChangedEvent)
   {
     m_PendingSliceChangedEvent = true;
 
     QTimer::singleShot(0, this, SLOT(OnSliceChangedDelayed()));
   }
 }
 
 void QmitkDicomInspectorView::OnSliceNavigationControllerDeleted(const itk::Object* sender, const itk::EventObject& /*e*/)
 {
   auto sendingSlicer = dynamic_cast<const mitk::SliceNavigationController*>(sender);
 
   this->RemoveObservers(sendingSlicer);
 }
 
 void QmitkDicomInspectorView::ValidateAndSetCurrentPosition()
 {
   const auto currentSelectedPosition = m_RenderWindowPart->GetSelectedPosition();
   const auto* timeNavigationController = mitk::RenderingManager::GetInstance()->GetTimeNavigationController();
   const mitk::TimeStepType currentSelectedTimePoint = timeNavigationController->GetSelectedTimePoint();
 
   if (m_SelectedPosition != currentSelectedPosition
     || m_SelectedTimePoint != currentSelectedTimePoint
     || m_SelectedNodeTime > m_CurrentPositionTime)
   {
     // the current position has been changed, the selected node has been changed since
     // the last position validation or the current time position has been changed -> check position
     m_SelectedPosition = currentSelectedPosition;
     m_SelectedTimePoint = currentSelectedTimePoint;
     m_CurrentPositionTime.Modified();
     m_ValidSelectedPosition = false;
 
     if (m_SelectedData.IsNull())
     {
       return;
     }
 
     mitk::BaseGeometry::Pointer geometry = m_SelectedData->GetTimeGeometry()->GetGeometryForTimePoint(m_SelectedTimePoint);
 
     // check for invalid time step
     if (geometry.IsNull())
     {
       geometry = m_SelectedData->GetTimeGeometry()->GetGeometryForTimeStep(0);
     }
 
     if (geometry.IsNull())
     {
       return;
     }
 
     m_ValidSelectedPosition = geometry->IsInside(m_SelectedPosition);
     itk::Index<3> index;
     geometry->WorldToIndex(m_SelectedPosition, index);
 
     m_CurrentSelectedZSlice = index[2];
   }
 }
 
 void QmitkDicomInspectorView::OnSliceChangedDelayed()
 {
   m_PendingSliceChangedEvent = false;
 
   ValidateAndSetCurrentPosition();
 
   m_Controls.tableTags->setEnabled(m_ValidSelectedPosition);
 
   if (m_SelectedNode.IsNotNull())
   {
     RenderTable();
   }
 }
 
 void QmitkDicomInspectorView::OnTimeChanged()
 {
   ValidateAndSetCurrentPosition();
 
   m_Controls.tableTags->setEnabled(m_ValidSelectedPosition);
 
   if (m_SelectedNode.IsNotNull())
   {
     RenderTable();
   }
 }
 
 void QmitkDicomInspectorView::RenderTable()
 {
   assert(nullptr != m_RenderWindowPart);
 
   const auto timeStep = (m_SelectedData.IsNull()) ? 0 : m_SelectedData->GetTimeGeometry()->TimePointToTimeStep(m_SelectedTimePoint);
 
   unsigned int rowIndex = 0;
   for (const auto& element : m_Tags)
   {
     QTableWidgetItem* newItem = new QTableWidgetItem(QString::fromStdString(
       element.second.prop->GetValue(timeStep, m_CurrentSelectedZSlice, true, true)));
     m_Controls.tableTags->setItem(rowIndex, 3, newItem);
     ++rowIndex;
   }
 
   UpdateLabels();
 }
 
 void QmitkDicomInspectorView::UpdateData()
 {
   QStringList headers;
 
   m_Controls.tableTags->horizontalHeader()->resizeSections(QHeaderView::ResizeToContents);
 
   m_Tags.clear();
 
   if (m_SelectedData.IsNotNull())
   {
     for (const auto& element : *(m_SelectedData->GetPropertyList()->GetMap()))
     {
       if (element.first.find("DICOM") == 0)
       {
         std::istringstream stream(element.first);
         std::string token;
         std::getline(stream, token, '.'); //drop the DICOM suffix
         std::getline(stream, token, '.'); //group id
         unsigned long dcmgroup = std::stoul(token, nullptr, 16);
         std::getline(stream, token, '.'); //element id
         unsigned long dcmelement = std::stoul(token, nullptr, 16);
 
         TagInfo info(mitk::DICOMTag(dcmgroup, dcmelement), dynamic_cast<const mitk::DICOMProperty*>(element.second.GetPointer()));
 
         m_Tags.insert(std::make_pair(element.first, info));
       }
     }
   }
 
   m_Controls.tableTags->setRowCount(m_Tags.size());
 
   unsigned int rowIndex = 0;
   for (const auto& element : m_Tags)
   {
     QTableWidgetItem* newItem = new QTableWidgetItem(QString::number(element.second.tag.GetGroup(), 16));
     m_Controls.tableTags->setItem(rowIndex, 0, newItem);
     newItem = new QTableWidgetItem(QString::number(element.second.tag.GetElement(), 16));
     m_Controls.tableTags->setItem(rowIndex, 1, newItem);
     newItem = new QTableWidgetItem(QString::fromStdString(element.second.tag.GetName()));
     m_Controls.tableTags->setItem(rowIndex, 2, newItem);
     newItem = new QTableWidgetItem(QString::fromStdString(element.second.prop->GetValue()));
     m_Controls.tableTags->setItem(rowIndex, 3, newItem);
     ++rowIndex;
   }
 
   UpdateLabels();
 }
 
 void QmitkDicomInspectorView::UpdateLabels()
 {
   if (m_SelectedData.IsNull())
   {
     m_Controls.timePointValueLabel->setText(QString(""));
     m_Controls.sliceNumberValueLabel->setText(QString(""));
   }
   else
   {
     const auto timeStep = m_SelectedData->GetTimeGeometry()->TimePointToTimeStep(m_SelectedTimePoint);
 
     if (m_ValidSelectedPosition)
     {
       m_Controls.timePointValueLabel->setText(QString::number(timeStep) + QStringLiteral("(")+ QString::number(m_SelectedTimePoint/1000.) + QStringLiteral(" [s])"));
       m_Controls.sliceNumberValueLabel->setText(QString::number(m_CurrentSelectedZSlice));
     }
     else
     {
       m_Controls.timePointValueLabel->setText(QString("outside data geometry"));
       m_Controls.sliceNumberValueLabel->setText(QString("outside data geometry"));
     }
   }
 }
 
 void QmitkDicomInspectorView::SetAsSelectionListener(bool checked)
 {
   if (checked)
   {
     m_SelectionServiceConnector->AddPostSelectionListener(GetSite()->GetWorkbenchWindow()->GetSelectionService());
     connect(m_SelectionServiceConnector.get(), &QmitkSelectionServiceConnector::ServiceSelectionChanged,
       m_Controls.singleSlot, &QmitkSingleNodeSelectionWidget::SetCurrentSelection);
   }
   else
   {
     m_SelectionServiceConnector->RemovePostSelectionListener();
     disconnect(m_SelectionServiceConnector.get(), &QmitkSelectionServiceConnector::ServiceSelectionChanged,
       m_Controls.singleSlot, &QmitkSingleNodeSelectionWidget::SetCurrentSelection);
   }
 }