diff --git a/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsView.cpp b/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsView.cpp
index 9d90a7ad54..67d25650d7 100644
--- a/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsView.cpp
+++ b/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsView.cpp
@@ -1,508 +1,549 @@
 /*===================================================================
 
 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 "QmitkImageStatisticsView.h"
 
 #include <utility>
 
 // berry includes
 #include <berryIQtStyleManager.h>
 #include <berryWorkbenchPlugin.h>
 
 #include <QmitkChartWidget.h>
 #include <mitkImageStatisticsContainerNodeHelper.h>
 #include <mitkImageStatisticsPredicateHelper.h>
 #include <mitkIntensityProfile.h>
 #include <mitkNodePredicateAnd.h>
 #include <mitkNodePredicateGeometry.h>
 #include <mitkNodePredicateOr.h>
 #include <mitkSliceNavigationController.h>
 #include <mitkStatisticsToImageRelationRule.h>
 #include <mitkStatisticsToMaskRelationRule.h>
 #include <mitkStatusBar.h>
+#include <mitkImageTimeSelector.h>
 
 #include "mitkImageStatisticsContainerManager.h"
 #include <mitkPlanarFigureInteractor.h>
 
 const std::string QmitkImageStatisticsView::VIEW_ID = "org.mitk.views.imagestatistics";
 
 QmitkImageStatisticsView::QmitkImageStatisticsView(QObject * /*parent*/, const char * /*name*/)
 {
   this->m_CalculationThread = new QmitkImageStatisticsCalculationJob();
 }
 
 QmitkImageStatisticsView::~QmitkImageStatisticsView()
 {
   if (m_selectedPlanarFigure)
     m_selectedPlanarFigure->RemoveObserver(m_PlanarFigureObserverTag);
 }
 
 void QmitkImageStatisticsView::CreateQtPartControl(QWidget *parent)
 {
   m_Controls.setupUi(parent);
   m_Controls.widget_histogram->SetTheme(this->GetColorTheme());
   m_Controls.widget_intensityProfile->SetTheme(this->GetColorTheme());
   m_Controls.groupBox_histogram->setVisible(true);
   m_Controls.groupBox_intensityProfile->setVisible(false);
   m_Controls.label_currentlyComputingStatistics->setVisible(false);
   m_Controls.sliderWidget_histogram->setPrefix("Time: ");
   m_Controls.sliderWidget_histogram->setDecimals(0);
   m_Controls.sliderWidget_histogram->setVisible(false);
+  m_Controls.sliderWidget_intensityProfile->setPrefix("Time: ");
+  m_Controls.sliderWidget_intensityProfile->setDecimals(0);
+  m_Controls.sliderWidget_intensityProfile->setVisible(false);
   ResetGUI();
 
   PrepareDataStorageComboBoxes();
   m_Controls.widget_statistics->SetDataStorage(this->GetDataStorage());
   CreateConnections();
 }
 
 void QmitkImageStatisticsView::CreateConnections()
 {
   connect(this->m_CalculationThread,
           &QmitkImageStatisticsCalculationJob::finished,
           this,
           &QmitkImageStatisticsView::OnStatisticsCalculationEnds,
           Qt::QueuedConnection);
   connect(this->m_Controls.checkBox_ignoreZero,
           &QCheckBox::stateChanged,
           this,
           &QmitkImageStatisticsView::OnCheckBoxIgnoreZeroStateChanged);
   connect(this->m_Controls.sliderWidget_histogram,
           &ctkSliderWidget::valueChanged,
           this,
           &QmitkImageStatisticsView::OnSliderWidgetHistogramChanged);
+  connect(this->m_Controls.sliderWidget_intensityProfile,
+          &ctkSliderWidget::valueChanged,
+          this,
+          &QmitkImageStatisticsView::OnSliderWidgetIntensityProfileChanged);
   connect(this->m_Controls.imageSelector,
           static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
           this,
           &QmitkImageStatisticsView::OnImageSelectorChanged);
   connect(this->m_Controls.maskImageSelector,
           static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
           this,
           &QmitkImageStatisticsView::OnMaskSelectorChanged);
 }
 
 void QmitkImageStatisticsView::OnCheckBoxIgnoreZeroStateChanged(int state)
 {
   m_ForceRecompute = true;
   if (state != Qt::Unchecked)
   {
     this->m_CalculationThread->SetIgnoreZeroValueVoxel(true);
   }
   else
   {
     this->m_CalculationThread->SetIgnoreZeroValueVoxel(false);
   }
   CalculateOrGetStatistics();
 }
 
 void QmitkImageStatisticsView::OnSliderWidgetHistogramChanged(double value)
 {
   unsigned int timeStep = static_cast<unsigned int>(value);
   auto mask = m_selectedMaskNode ? m_selectedMaskNode->GetData() : nullptr;
   auto imageStatistics = mitk::ImageStatisticsContainerManager::GetImageStatistics(
     this->GetDataStorage(), m_selectedImageNode->GetData(), mask);
   HistogramType::ConstPointer histogram = imageStatistics->GetStatisticsForTimeStep(timeStep).m_Histogram;
 
   if (histogram.IsNotNull() && this->m_CalculationThread->GetStatisticsUpdateSuccessFlag())
   {
     this->FillHistogramWidget({histogram}, {m_selectedImageNode->GetName()});
   }
 }
 
+void QmitkImageStatisticsView::OnSliderWidgetIntensityProfileChanged(double value)
+{
+  //intensity profile is always computed on request, not stored as node in DataStorage
+  auto image = dynamic_cast<mitk::Image*>(m_selectedImageNode->GetData());
+  auto planarFigure = dynamic_cast<mitk::PlanarFigure*>(m_selectedMaskNode->GetData());
+
+  if (image && planarFigure && this->m_CalculationThread->GetStatisticsUpdateSuccessFlag())
+  {
+    this->ComputeAndDisplayIntensityProfile(image, planarFigure);
+  }
+}
+
 void QmitkImageStatisticsView::PartClosed(const berry::IWorkbenchPartReference::Pointer &) {}
 
 void QmitkImageStatisticsView::FillHistogramWidget(const std::vector<HistogramType::ConstPointer> &histogram,
-                                                           const std::vector<std::string> &dataLabels)
+                                                   const std::vector<std::string> &dataLabels)
 {
   m_Controls.groupBox_histogram->setVisible(true);
   m_Controls.widget_histogram->SetTheme(this->GetColorTheme());
   m_Controls.widget_histogram->Reset();
   m_Controls.widget_histogram->SetHistogram(histogram.front(), dataLabels.front());
   connect(m_Controls.widget_histogram,
           &QmitkHistogramVisualizationWidget::RequestHistogramUpdate,
           this,
           &QmitkImageStatisticsView::OnRequestHistogramUpdate);
 }
 
 QmitkChartWidget::ColorTheme QmitkImageStatisticsView::GetColorTheme() const
 {
   ctkPluginContext *context = berry::WorkbenchPlugin::GetDefault()->GetPluginContext();
   ctkServiceReference styleManagerRef = context->getServiceReference<berry::IQtStyleManager>();
   if (styleManagerRef)
   {
     auto styleManager = context->getService<berry::IQtStyleManager>(styleManagerRef);
     if (styleManager->GetStyle().name == "Dark")
     {
       return QmitkChartWidget::ColorTheme::darkstyle;
     }
     else
     {
       return QmitkChartWidget::ColorTheme::lightstyle;
     }
   }
   return QmitkChartWidget::ColorTheme::darkstyle;
 }
 
 void QmitkImageStatisticsView::OnImageSelectorChanged()
 {
   auto selectedImageNode = m_Controls.imageSelector->GetSelectedNode();
   if (selectedImageNode != m_selectedImageNode)
   {
     m_selectedImageNode = selectedImageNode;
     if (m_selectedImageNode.IsNotNull())
     {
       ResetGUIDefault();
 
       auto isPlanarFigurePredicate = mitk::GetImageStatisticsPlanarFigurePredicate();
       auto isMaskPredicate = mitk::GetImageStatisticsMaskPredicate();
       auto hasSameGeometry = mitk::NodePredicateGeometry::New(m_selectedImageNode->GetData()->GetGeometry());
       hasSameGeometry->SetCheckPrecision(1e-10);
       auto isMaskWithGeometryPredicate = mitk::NodePredicateAnd::New(isMaskPredicate, hasSameGeometry);
       auto isMaskOrPlanarFigureWithGeometryPredicate =
         mitk::NodePredicateOr::New(isPlanarFigurePredicate, isMaskWithGeometryPredicate);
       // prevent triggering of computation as the predicate triggers a signalChanged event
       m_Controls.maskImageSelector->disconnect();
       m_Controls.maskImageSelector->SetPredicate(isMaskOrPlanarFigureWithGeometryPredicate);
       // reset mask to <none>
       m_Controls.maskImageSelector->SetZeroEntryText("<none>");
       m_Controls.checkBox_ignoreZero->setEnabled(true);
       m_selectedMaskNode = nullptr;
       m_Controls.widget_statistics->SetMaskNodes({});
       CalculateOrGetStatistics();
       m_Controls.widget_statistics->SetImageNodes({m_selectedImageNode.GetPointer()});
       connect(this->m_Controls.maskImageSelector,
               static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
               this,
               &QmitkImageStatisticsView::OnMaskSelectorChanged);
     }
     else
     {
       m_Controls.widget_statistics->SetImageNodes({});
       m_Controls.widget_statistics->SetMaskNodes({});
-      m_Controls.widget_statistics->Reset();      
+      m_Controls.widget_statistics->Reset();
       m_Controls.widget_histogram->Reset();
       ResetGUI();
     }
   }
 }
 
 void QmitkImageStatisticsView::OnMaskSelectorChanged()
 {
   auto selectedMaskNode = m_Controls.maskImageSelector->GetSelectedNode();
   if (selectedMaskNode != m_selectedMaskNode)
   {
     m_selectedMaskNode = selectedMaskNode;
     if (m_selectedMaskNode.IsNotNull())
     {
       m_Controls.widget_statistics->SetMaskNodes({m_selectedMaskNode.GetPointer()});
     }
     else
     {
       m_Controls.widget_statistics->SetMaskNodes({});
     }
     CalculateOrGetStatistics();
   }
 }
 
 void QmitkImageStatisticsView::CalculateOrGetStatistics()
 {
   if (this->m_selectedPlanarFigure)
   {
     this->m_selectedPlanarFigure->RemoveObserver(this->m_PlanarFigureObserverTag);
     this->m_selectedPlanarFigure = nullptr;
   }
 
   m_Controls.groupBox_intensityProfile->setVisible(false);
   m_Controls.widget_statistics->setEnabled(m_selectedImageNode.IsNotNull());
 
   if (m_selectedImageNode != nullptr)
   {
     auto image = dynamic_cast<mitk::Image *>(m_selectedImageNode->GetData());
     mitk::Image::Pointer mask = nullptr;
     mitk::PlanarFigure::Pointer maskPlanarFigure = nullptr;
 
     if (image->GetDimension() == 4)
     {
       m_Controls.sliderWidget_histogram->setVisible(true);
       unsigned int maxTimestep = image->GetTimeSteps();
       m_Controls.sliderWidget_histogram->setMaximum(maxTimestep - 1);
     }
     else
     {
       m_Controls.sliderWidget_histogram->setVisible(false);
     }
 
     if (m_selectedMaskNode != nullptr)
     {
       mask = dynamic_cast<mitk::Image *>(m_selectedMaskNode->GetData());
       if (mask == nullptr)
       {
         maskPlanarFigure = dynamic_cast<mitk::PlanarFigure *>(m_selectedMaskNode->GetData());
       }
     }
 
     mitk::ImageStatisticsContainer::ConstPointer imageStatistics;
     if (mask)
     {
       imageStatistics =
         mitk::ImageStatisticsContainerManager::GetImageStatistics(this->GetDataStorage(), image, mask.GetPointer());
     }
     else if (maskPlanarFigure)
     {
       m_selectedPlanarFigure = maskPlanarFigure;
       ITKCommandType::Pointer changeListener = ITKCommandType::New();
       changeListener->SetCallbackFunction(this, &QmitkImageStatisticsView::CalculateOrGetStatistics);
       this->m_PlanarFigureObserverTag =
         m_selectedPlanarFigure->AddObserver(mitk::EndInteractionPlanarFigureEvent(), changeListener);
       if (!maskPlanarFigure->IsClosed())
       {
         ComputeAndDisplayIntensityProfile(image, maskPlanarFigure);
       }
       imageStatistics = mitk::ImageStatisticsContainerManager::GetImageStatistics(
         this->GetDataStorage(), image, maskPlanarFigure.GetPointer());
     }
     else
     {
       imageStatistics = mitk::ImageStatisticsContainerManager::GetImageStatistics(this->GetDataStorage(), image);
     }
 
-    
-
     bool imageStatisticsOlderThanInputs = false;
     if (imageStatistics &&
         (imageStatistics->GetMTime() < image->GetMTime() || (mask && imageStatistics->GetMTime() < mask->GetMTime()) ||
          (maskPlanarFigure && imageStatistics->GetMTime() < maskPlanarFigure->GetMTime())))
     {
       imageStatisticsOlderThanInputs = true;
     }
 
     if (imageStatistics)
     {
       // triggers recomputation when switched between images and the newest one has not 100 bins (default)
       auto calculatedBins = imageStatistics->GetStatisticsForTimeStep(0).m_Histogram.GetPointer()->Size();
-      if (calculatedBins != 100) 
+      if (calculatedBins != 100)
       {
         OnRequestHistogramUpdate(m_Controls.widget_histogram->GetBins());
       }
     }
 
-    //statistics need to be computed
-    if (!imageStatistics || imageStatisticsOlderThanInputs || m_ForceRecompute) {
+    // statistics need to be computed
+    if (!imageStatistics || imageStatisticsOlderThanInputs || m_ForceRecompute)
+    {
       CalculateStatistics(image, mask.GetPointer(), maskPlanarFigure.GetPointer());
     }
     // statistics already computed
     else
     {
       // Not an open planar figure: show histogram (intensity profile already shown)
       if (!(maskPlanarFigure && !maskPlanarFigure->IsClosed()))
       {
         if (imageStatistics->TimeStepExists(0))
         {
           auto histogram = imageStatistics->GetStatisticsForTimeStep(0).m_Histogram.GetPointer();
           std::string imageNodeName = m_selectedImageNode->GetName();
           this->FillHistogramWidget({histogram}, {imageNodeName});
         }
       }
     }
   }
   else
   {
     ResetGUI();
   }
   m_ForceRecompute = false;
 }
 
 void QmitkImageStatisticsView::ComputeAndDisplayIntensityProfile(mitk::Image *image,
-                                                                         mitk::PlanarFigure::Pointer maskPlanarFigure)
+                                                                 mitk::PlanarFigure::Pointer maskPlanarFigure)
 {
-  auto intensityProfile = mitk::ComputeIntensityProfile(image, maskPlanarFigure);
+  mitk::Image::Pointer inputImage;
+  if (image->GetDimension() == 4)
+  {
+    m_Controls.sliderWidget_intensityProfile->setVisible(true);
+    unsigned int maxTimestep = image->GetTimeSteps();
+    m_Controls.sliderWidget_intensityProfile->setMaximum(maxTimestep - 1);
+    //Intensity profile can only be calculated on 3D, so extract if 4D
+    mitk::ImageTimeSelector::Pointer timeSelector = mitk::ImageTimeSelector::New();
+    int currentTimestep = static_cast<int>(m_Controls.sliderWidget_intensityProfile->value());
+    timeSelector->SetInput(image);
+    timeSelector->SetTimeNr(currentTimestep);
+    timeSelector->Update();
+
+    inputImage = timeSelector->GetOutput();
+  }
+  else
+  {
+    m_Controls.sliderWidget_intensityProfile->setVisible(false);
+    inputImage = image;
+  }
+
+    auto intensityProfile = mitk::ComputeIntensityProfile(inputImage, maskPlanarFigure);
   // Don't show histogram for intensity profiles
   m_Controls.groupBox_histogram->setVisible(false);
   m_Controls.groupBox_intensityProfile->setVisible(true);
   m_Controls.widget_intensityProfile->Reset();
   m_Controls.widget_intensityProfile->SetIntensityProfile(intensityProfile.GetPointer(),
                                                           "Intensity Profile of " + m_selectedImageNode->GetName());
 }
 
 void QmitkImageStatisticsView::ResetGUI()
 {
   m_Controls.widget_statistics->Reset();
-  m_Controls.widget_statistics->setEnabled(false);  m_Controls.widget_histogram->Reset();
+  m_Controls.widget_statistics->setEnabled(false);
+  m_Controls.widget_histogram->Reset();
   m_Controls.widget_histogram->setEnabled(false);
   m_Controls.checkBox_ignoreZero->setEnabled(false);
 }
 
 void QmitkImageStatisticsView::ResetGUIDefault()
 {
   MITK_INFO << "reset GUI";
   m_Controls.widget_histogram->ResetDefault();
   m_Controls.checkBox_ignoreZero->setChecked(false);
 }
 
 void QmitkImageStatisticsView::OnStatisticsCalculationEnds()
 {
   mitk::StatusBar::GetInstance()->Clear();
 
   if (this->m_CalculationThread->GetStatisticsUpdateSuccessFlag())
   {
     auto statistic = m_CalculationThread->GetStatisticsData();
     auto image = m_CalculationThread->GetStatisticsImage();
     mitk::BaseData::ConstPointer mask = nullptr;
     auto statisticNonConst = statistic->Clone();
     auto imageRule = mitk::StatisticsToImageRelationRule::New();
     imageRule->Connect(statisticNonConst.GetPointer(), image);
 
     if (m_CalculationThread->GetMaskImage())
     {
       auto maskRule = mitk::StatisticsToMaskRelationRule::New();
       mask = m_CalculationThread->GetMaskImage();
       maskRule->Connect(statisticNonConst.GetPointer(), mask);
     }
     else if (m_CalculationThread->GetPlanarFigure())
     {
       auto planarFigureRule = mitk::StatisticsToMaskRelationRule::New();
       mask = m_CalculationThread->GetPlanarFigure();
       planarFigureRule->Connect(statisticNonConst.GetPointer(), mask);
     }
 
-    auto imageStatistics = mitk::ImageStatisticsContainerManager::GetImageStatistics(
-      this->GetDataStorage(), image, mask);
+    auto imageStatistics =
+      mitk::ImageStatisticsContainerManager::GetImageStatistics(this->GetDataStorage(), image, mask);
 
-    //if statistics base data already exist: add to existing node
+    // if statistics base data already exist: add to existing node
     if (imageStatistics)
     {
       auto allDataNodes = this->GetDataStorage()->GetAll()->CastToSTLConstContainer();
       for (auto node : allDataNodes)
       {
         auto nodeData = node->GetData();
-        if (nodeData && nodeData->GetUID() ==imageStatistics->GetUID())
+        if (nodeData && nodeData->GetUID() == imageStatistics->GetUID())
         {
           node->SetData(statisticNonConst);
         }
       }
     }
-    //statistics base data does not exist: add new node
+    // statistics base data does not exist: add new node
     else
     {
       auto statisticsNodeName = m_selectedImageNode->GetName();
       if (m_selectedMaskNode)
       {
         statisticsNodeName += "_" + m_selectedMaskNode->GetName();
       }
       statisticsNodeName += "_statistics";
       auto statisticsNode = mitk::CreateImageStatisticsNode(statisticNonConst, statisticsNodeName);
       this->GetDataStorage()->Add(statisticsNode);
     }
 
     if (!m_selectedPlanarFigure || m_selectedPlanarFigure->IsClosed())
     {
       this->FillHistogramWidget({m_CalculationThread->GetTimeStepHistogram()}, {m_selectedImageNode->GetName()});
     }
   }
   else
   {
     mitk::StatusBar::GetInstance()->DisplayErrorText(m_CalculationThread->GetLastErrorMessage().c_str());
     m_Controls.widget_histogram->setEnabled(false);
   }
   m_Controls.label_currentlyComputingStatistics->setVisible(false);
 }
 
 void QmitkImageStatisticsView::OnRequestHistogramUpdate(unsigned int nBins)
 {
   m_CalculationThread->SetHistogramNBins(nBins);
   m_CalculationThread->start();
 }
 
 void QmitkImageStatisticsView::CalculateStatistics(mitk::Image::ConstPointer image,
-                                                           mitk::Image::ConstPointer mask,
-                                                           mitk::PlanarFigure::ConstPointer maskPlanarFigure)
+                                                   mitk::Image::ConstPointer mask,
+                                                   mitk::PlanarFigure::ConstPointer maskPlanarFigure)
 {
   this->m_StatisticsUpdatePending = true;
   this->m_CalculationThread->Initialize(image, mask, maskPlanarFigure);
 
   try
   {
     // Compute statistics
     this->m_CalculationThread->start();
     m_Controls.label_currentlyComputingStatistics->setVisible(true);
   }
   catch (const mitk::Exception &e)
   {
     mitk::StatusBar::GetInstance()->DisplayErrorText(e.GetDescription());
     this->m_StatisticsUpdatePending = false;
     m_Controls.label_currentlyComputingStatistics->setVisible(false);
   }
   catch (const std::runtime_error &e)
   {
     mitk::StatusBar::GetInstance()->DisplayErrorText(e.what());
     this->m_StatisticsUpdatePending = false;
     m_Controls.label_currentlyComputingStatistics->setVisible(false);
   }
   catch (const std::exception &e)
   {
     mitk::StatusBar::GetInstance()->DisplayErrorText(e.what());
     this->m_StatisticsUpdatePending = false;
     m_Controls.label_currentlyComputingStatistics->setVisible(false);
   }
 }
 
 void QmitkImageStatisticsView::OnSelectionChanged(berry::IWorkbenchPart::Pointer part,
-                                                          const QList<mitk::DataNode::Pointer> &nodes)
+                                                  const QList<mitk::DataNode::Pointer> &nodes)
 {
   Q_UNUSED(part);
   Q_UNUSED(nodes);
 }
 
 void QmitkImageStatisticsView::PrepareDataStorageComboBoxes()
 {
   auto isPlanarFigurePredicate = mitk::GetImageStatisticsPlanarFigurePredicate();
   auto isMaskPredicate = mitk::GetImageStatisticsMaskPredicate();
   auto isImagePredicate = mitk::GetImageStatisticsImagePredicate();
   auto isMaskOrPlanarFigurePredicate = mitk::NodePredicateOr::New(isPlanarFigurePredicate, isMaskPredicate);
 
   m_Controls.imageSelector->SetDataStorage(GetDataStorage());
   m_Controls.imageSelector->SetPredicate(isImagePredicate);
 
   m_Controls.maskImageSelector->SetDataStorage(GetDataStorage());
 
   m_Controls.maskImageSelector->SetPredicate(isMaskOrPlanarFigurePredicate);
   m_Controls.maskImageSelector->SetZeroEntryText("<none>");
 }
 
 void QmitkImageStatisticsView::Activated() {}
 
 void QmitkImageStatisticsView::Deactivated() {}
 
 void QmitkImageStatisticsView::Visible()
 {
   connect(this->m_Controls.imageSelector,
           static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
           this,
           &QmitkImageStatisticsView::OnImageSelectorChanged);
   connect(this->m_Controls.maskImageSelector,
           static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
           this,
           &QmitkImageStatisticsView::OnMaskSelectorChanged);
   OnImageSelectorChanged();
   OnMaskSelectorChanged();
 }
 
 void QmitkImageStatisticsView::Hidden()
 {
   m_Controls.imageSelector->disconnect();
   m_Controls.maskImageSelector->disconnect();
 }
 
 void QmitkImageStatisticsView::SetFocus() {}
diff --git a/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsView.h b/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsView.h
index 6390f25e7f..be9bc58490 100644
--- a/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsView.h
+++ b/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsView.h
@@ -1,112 +1,113 @@
 /*===================================================================
 
 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 QmitkImageStatisticsView_H__INCLUDED
 #define QmitkImageStatisticsView_H__INCLUDED
 
 #include "ui_QmitkImageStatisticsViewControls.h"
 
 // Qmitk includes
 #include <QmitkAbstractView.h>
 #include <QmitkImageStatisticsCalculationJob.h>
 #include <mitkImageStatisticsContainer.h>
 
 #include <mitkILifecycleAwarePart.h>
 #include <berryIPartListener.h>
 #include <mitkPropertyRelations.h>
 
 /*!
 \brief QmitkImageStatisticsView is a bundle that allows statistics calculation from images. Three modes
 are supported: 1. Statistics of one image, 2. Statistics of an image and a segmentation, 3. Statistics
 of an image and a Planar Figure. The statistics calculation is realized in a separate thread to keep the
 gui accessible during calculation.
 
 \ingroup Plugins/org.mitk.gui.qt.measurementtoolbox
 */
 class QmitkImageStatisticsView : public QmitkAbstractView, public mitk::ILifecycleAwarePart, public berry::IPartListener
 {
   Q_OBJECT
 
 public:
   using HistogramType = mitk::ImageStatisticsContainer::HistogramType;
 
   /*!
   \brief default constructor */
   QmitkImageStatisticsView(QObject *parent = nullptr, const char *name = nullptr);
   /*!
   \brief default destructor */
   virtual ~QmitkImageStatisticsView();
   /*!
   \brief method for creating the widget containing the application   controls, like sliders, buttons etc. */
   virtual void CreateQtPartControl(QWidget *parent) override;
   /*!
   \brief method for creating the connections of main and control widget */
   virtual void CreateConnections();
   /*!
   \brief  Is called from the selection mechanism once the data manager selection has changed*/
   void OnSelectionChanged(berry::IWorkbenchPart::Pointer part, const QList<mitk::DataNode::Pointer> &selectedNodes) override;
 
   void PrepareDataStorageComboBoxes();
 
   static const std::string VIEW_ID;
 
   void FillHistogramWidget(const std::vector<HistogramType::ConstPointer>& histogram, const std::vector<std::string>& dataLabels);
   QmitkChartWidget::ColorTheme GetColorTheme() const;
 protected:
   virtual void Activated() override;
   virtual void Deactivated() override;
   virtual void Visible() override;
   virtual void Hidden() override;
 
   virtual void SetFocus() override;
 
   /** \brief Is called right before the view closes (before the destructor) */
   virtual void PartClosed(const berry::IWorkbenchPartReference::Pointer&) override;
  
   /** \brief Required for berry::IPartListener */
   virtual Events::Types GetPartEventTypes() const override { return Events::CLOSED; }
 
   void OnImageSelectorChanged();
   void OnMaskSelectorChanged();
 
   void CalculateOrGetStatistics();
 
   void ComputeAndDisplayIntensityProfile(mitk::Image * image, mitk::PlanarFigure::Pointer maskPlanarFigure);
 
   void ResetGUI();
   void ResetGUIDefault();
 
   void OnStatisticsCalculationEnds();
   void OnRequestHistogramUpdate(unsigned int nBins);
   void OnCheckBoxIgnoreZeroStateChanged(int state);
   void OnSliderWidgetHistogramChanged(double value);
+  void OnSliderWidgetIntensityProfileChanged(double value);
 
   void CalculateStatistics(mitk::Image::ConstPointer image, mitk::Image::ConstPointer mask=nullptr, mitk::PlanarFigure::ConstPointer maskPlanarFigure = nullptr);
   
   // member variables
   Ui::QmitkImageStatisticsViewControls m_Controls;
 
 private:
   typedef itk::SimpleMemberCommand< QmitkImageStatisticsView > ITKCommandType;
   QmitkImageStatisticsCalculationJob * m_CalculationThread = nullptr;
   bool m_StatisticsUpdatePending=false;
   mitk::DataNode::ConstPointer m_selectedImageNode = nullptr, m_selectedMaskNode = nullptr;
 
   mitk::PlanarFigure::Pointer m_selectedPlanarFigure=nullptr;
   long m_PlanarFigureObserverTag;
   bool m_ForceRecompute = false;
 };
 #endif // QmitkImageStatisticsView_H__INCLUDED
diff --git a/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsViewControls.ui b/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsViewControls.ui
index 82459f65dd..ca07213aba 100644
--- a/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsViewControls.ui
+++ b/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsViewControls.ui
@@ -1,469 +1,472 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
  <class>QmitkImageStatisticsViewControls</class>
  <widget class="QWidget" name="QmitkImageStatisticsViewControls">
   <property name="enabled">
    <bool>true</bool>
   </property>
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>419</width>
     <height>1016</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Form</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_4">
    <item>
     <layout class="QGridLayout" name="gridLayout_4" columnstretch="0,0">
      <property name="sizeConstraint">
       <enum>QLayout::SetMinimumSize</enum>
      </property>
      <property name="spacing">
       <number>4</number>
      </property>
      <item row="0" column="1">
       <widget class="QmitkDataStorageComboBox" name="imageSelector">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
        <property name="autoFillBackground">
         <bool>false</bool>
        </property>
       </widget>
      </item>
      <item row="3" column="1">
       <widget class="QLabel" name="label_currentlyComputingStatistics">
        <property name="palette">
         <palette>
          <active>
           <colorrole role="WindowText">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>255</red>
              <green>0</green>
              <blue>0</blue>
             </color>
            </brush>
           </colorrole>
           <colorrole role="Text">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>0</red>
              <green>0</green>
              <blue>0</blue>
             </color>
            </brush>
           </colorrole>
          </active>
          <inactive>
           <colorrole role="WindowText">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>255</red>
              <green>0</green>
              <blue>0</blue>
             </color>
            </brush>
           </colorrole>
           <colorrole role="Text">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>0</red>
              <green>0</green>
              <blue>0</blue>
             </color>
            </brush>
           </colorrole>
          </inactive>
          <disabled>
           <colorrole role="WindowText">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>120</red>
              <green>120</green>
              <blue>120</blue>
             </color>
            </brush>
           </colorrole>
           <colorrole role="Text">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>120</red>
              <green>120</green>
              <blue>120</blue>
             </color>
            </brush>
           </colorrole>
          </disabled>
         </palette>
        </property>
        <property name="text">
         <string>Calculating statistics...</string>
        </property>
       </widget>
      </item>
      <item row="1" column="0">
       <widget class="QLabel" name="label_maskImage">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
        <property name="palette">
         <palette>
          <active>
           <colorrole role="WindowText">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>0</red>
              <green>0</green>
              <blue>0</blue>
             </color>
            </brush>
           </colorrole>
          </active>
          <inactive>
           <colorrole role="WindowText">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>0</red>
              <green>0</green>
              <blue>0</blue>
             </color>
            </brush>
           </colorrole>
          </inactive>
          <disabled>
           <colorrole role="WindowText">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>120</red>
              <green>120</green>
              <blue>120</blue>
             </color>
            </brush>
           </colorrole>
          </disabled>
         </palette>
        </property>
        <property name="text">
         <string>Mask image:</string>
        </property>
       </widget>
      </item>
      <item row="0" column="0">
       <widget class="QLabel" name="label_calibrationImage">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
        <property name="palette">
         <palette>
          <active>
           <colorrole role="WindowText">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>0</red>
              <green>0</green>
              <blue>0</blue>
             </color>
            </brush>
           </colorrole>
          </active>
          <inactive>
           <colorrole role="WindowText">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>0</red>
              <green>0</green>
              <blue>0</blue>
             </color>
            </brush>
           </colorrole>
          </inactive>
          <disabled>
           <colorrole role="WindowText">
            <brush brushstyle="SolidPattern">
             <color alpha="255">
              <red>120</red>
              <green>120</green>
              <blue>120</blue>
             </color>
            </brush>
           </colorrole>
          </disabled>
         </palette>
        </property>
        <property name="text">
         <string>Image:</string>
        </property>
       </widget>
      </item>
      <item row="1" column="1">
       <widget class="QmitkDataStorageComboBoxWithSelectNone" name="maskImageSelector">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
        <property name="autoFillBackground">
         <bool>false</bool>
        </property>
       </widget>
      </item>
      <item row="2" column="1">
       <widget class="QCheckBox" name="checkBox_ignoreZero">
        <property name="text">
         <string>Ignore zero-valued voxels</string>
        </property>
       </widget>
      </item>
     </layout>
    </item>
    <item>
     <widget class="QGroupBox" name="groupBox_statistics">
      <property name="minimumSize">
       <size>
        <width>0</width>
        <height>200</height>
       </size>
      </property>
      <property name="title">
       <string>Statistics</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout">
       <property name="leftMargin">
        <number>3</number>
       </property>
       <property name="topMargin">
        <number>3</number>
       </property>
       <property name="rightMargin">
        <number>3</number>
       </property>
       <property name="bottomMargin">
        <number>3</number>
       </property>
       <item>
        <widget class="QmitkImageStatisticsWidget" name="widget_statistics" native="true">
         <property name="palette">
          <palette>
           <active>
            <colorrole role="WindowText">
             <brush brushstyle="SolidPattern">
              <color alpha="255">
               <red>255</red>
               <green>0</green>
               <blue>0</blue>
              </color>
             </brush>
            </colorrole>
            <colorrole role="Text">
             <brush brushstyle="SolidPattern">
              <color alpha="255">
               <red>255</red>
               <green>0</green>
               <blue>0</blue>
              </color>
             </brush>
            </colorrole>
            <colorrole role="ButtonText">
             <brush brushstyle="SolidPattern">
              <color alpha="255">
               <red>255</red>
               <green>0</green>
               <blue>0</blue>
              </color>
             </brush>
            </colorrole>
           </active>
           <inactive>
            <colorrole role="WindowText">
             <brush brushstyle="SolidPattern">
              <color alpha="255">
               <red>255</red>
               <green>0</green>
               <blue>0</blue>
              </color>
             </brush>
            </colorrole>
            <colorrole role="Text">
             <brush brushstyle="SolidPattern">
              <color alpha="255">
               <red>255</red>
               <green>0</green>
               <blue>0</blue>
              </color>
             </brush>
            </colorrole>
            <colorrole role="ButtonText">
             <brush brushstyle="SolidPattern">
              <color alpha="255">
               <red>255</red>
               <green>0</green>
               <blue>0</blue>
              </color>
             </brush>
            </colorrole>
           </inactive>
           <disabled>
            <colorrole role="WindowText">
             <brush brushstyle="SolidPattern">
              <color alpha="255">
               <red>120</red>
               <green>120</green>
               <blue>120</blue>
              </color>
             </brush>
            </colorrole>
            <colorrole role="Text">
             <brush brushstyle="SolidPattern">
              <color alpha="255">
               <red>120</red>
               <green>120</green>
               <blue>120</blue>
              </color>
             </brush>
            </colorrole>
            <colorrole role="ButtonText">
             <brush brushstyle="SolidPattern">
              <color alpha="255">
               <red>120</red>
               <green>120</green>
               <blue>120</blue>
              </color>
             </brush>
            </colorrole>
           </disabled>
          </palette>
         </property>
        </widget>
       </item>
      </layout>
     </widget>
    </item>
    <item>
     <widget class="QGroupBox" name="groupBox_histogram">
      <property name="minimumSize">
       <size>
        <width>0</width>
        <height>200</height>
       </size>
      </property>
      <property name="title">
       <string>Histogram</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_6">
       <item>
        <widget class="ctkSliderWidget" name="sliderWidget_histogram" native="true"/>
       </item>
       <item>
        <layout class="QVBoxLayout" name="verticalLayout_5">
         <item>
          <layout class="QVBoxLayout" name="verticalLayout_2">
           <item>
            <widget class="QmitkHistogramVisualizationWidget" name="widget_histogram" native="true"/>
           </item>
           <item>
            <spacer name="verticalSpacer_3">
             <property name="orientation">
              <enum>Qt::Vertical</enum>
             </property>
             <property name="sizeHint" stdset="0">
              <size>
               <width>20</width>
               <height>40</height>
              </size>
             </property>
            </spacer>
           </item>
          </layout>
         </item>
        </layout>
       </item>
      </layout>
     </widget>
    </item>
    <item>
     <widget class="QGroupBox" name="groupBox_intensityProfile">
      <property name="minimumSize">
       <size>
        <width>0</width>
        <height>200</height>
       </size>
      </property>
      <property name="title">
       <string>Intensity Profile</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_3">
+      <item>
+       <widget class="ctkSliderWidget" name="sliderWidget_intensityProfile" native="true"/>
+      </item>
       <item>
        <widget class="QmitkIntensityProfileVisualizationWidget" name="widget_intensityProfile" native="true"/>
       </item>
      </layout>
     </widget>
    </item>
    <item>
     <spacer name="verticalSpacer">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
        <width>20</width>
        <height>40</height>
       </size>
      </property>
     </spacer>
    </item>
   </layout>
  </widget>
  <customwidgets>
   <customwidget>
    <class>QmitkImageStatisticsWidget</class>
    <extends>QWidget</extends>
    <header location="global">QmitkImageStatisticsWidget.h</header>
    <container>1</container>
   </customwidget>
   <customwidget>
    <class>QmitkDataStorageComboBox</class>
    <extends>QComboBox</extends>
    <header location="global">QmitkDataStorageComboBox.h</header>
   </customwidget>
   <customwidget>
    <class>QmitkHistogramVisualizationWidget</class>
    <extends>QWidget</extends>
    <header location="global">QmitkHistogramVisualizationWidget.h</header>
    <container>1</container>
   </customwidget>
   <customwidget>
    <class>QmitkDataStorageComboBoxWithSelectNone</class>
    <extends>QComboBox</extends>
    <header location="global">QmitkDataStorageComboBoxWithSelectNone.h</header>
   </customwidget>
   <customwidget>
    <class>QmitkIntensityProfileVisualizationWidget</class>
    <extends>QWidget</extends>
    <header location="global">QmitkIntensityProfileVisualizationWidget.h</header>
    <container>1</container>
   </customwidget>
   <customwidget>
    <class>ctkSliderWidget</class>
    <extends>QWidget</extends>
    <header location="global">ctkSliderWidget.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
  <resources/>
  <connections/>
 </ui>