diff --git a/Modules/ImageStatisticsUI/CMakeLists.txt b/Modules/ImageStatisticsUI/CMakeLists.txt
new file mode 100644
index 0000000000..e485f5c3d3
--- /dev/null
+++ b/Modules/ImageStatisticsUI/CMakeLists.txt
@@ -0,0 +1,5 @@
+MITK_CREATE_MODULE(
+ INCLUDE_DIRS Qmitk
+ DEPENDS MitkCore MitkChart
+ PACKAGE_DEPENDS PRIVATE Qt5|WebEngineWidgets
+)
\ No newline at end of file
diff --git a/Modules/ImageStatisticsUI/Qmitk/QmitkHistogramVisualizationControls.ui b/Modules/ImageStatisticsUI/Qmitk/QmitkHistogramVisualizationControls.ui
new file mode 100644
index 0000000000..ac4a41972c
--- /dev/null
+++ b/Modules/ImageStatisticsUI/Qmitk/QmitkHistogramVisualizationControls.ui
@@ -0,0 +1,405 @@
+
+
+ QmitkHistogramVisualizationControls
+
+
+
+ 0
+ 0
+ 540
+ 460
+
+
+
+
+ 540
+ 460
+
+
+
+ Form
+
+
+
+ false
+
+
+
+ 0
+ 0
+ 530
+ 450
+
+
+
+
+ 400
+ 450
+
+
+
+
+
+
+ false
+
+
+ -
+
+
+ false
+
+
+
+
+
+
+
+ 255
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 120
+ 120
+ 120
+
+
+
+
+
+
+ 120
+ 120
+ 120
+
+
+
+
+
+
+ 120
+ 120
+ 120
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Plot
+
+
+
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ Barchart
+
+
+ true
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Linegraph
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+ Show Subchart
+
+
+ true
+
+
+
+ -
+
+
+ Use default #bins
+
+
+ true
+
+
+
+ -
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Raised
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 60
+ 0
+
+
+
+
+ 100
+ 16777215
+
+
+
+ # bins:
+
+
+
+ -
+
+
+ false
+
+
+ Press enter to recalculate statistics with new bin size.
+
+
+ 1
+
+
+ 10000
+
+
+ 100
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Copy to Clipboard
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+ QmitkChartWidget
+ QWidget
+
+
+
+
+
+
diff --git a/Modules/ImageStatisticsUI/Qmitk/QmitkHistogramVisualizationWidget.cpp b/Modules/ImageStatisticsUI/Qmitk/QmitkHistogramVisualizationWidget.cpp
new file mode 100644
index 0000000000..022d5e848c
--- /dev/null
+++ b/Modules/ImageStatisticsUI/Qmitk/QmitkHistogramVisualizationWidget.cpp
@@ -0,0 +1,69 @@
+/*===================================================================
+
+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 "QmitkHistogramVisualizationWidget.h"
+
+HistogramVisualizationWidget::HistogramVisualizationWidget(QWidget* parent) : QWidget(parent)
+{
+ if (m_Controls == nullptr)
+ {
+ m_Controls = new Ui::QmitkHistogramVisualizationControls;
+ }
+ setupUi(this);
+ CreateConnections();
+}
+
+void HistogramVisualizationWidget::CreateConnections()
+{
+ connect(buttonCopyHistogramToClipboard, &QPushButton::clicked, this, &HistogramVisualizationWidget::OnClipboardButtonClicked);
+ connect(radioButtonBarchart, &QRadioButton::clicked, this, &HistogramVisualizationWidget::OnBarRadioButtonSelected);
+ connect(radioButtonLinegraph, &QRadioButton::clicked, this, &HistogramVisualizationWidget::OnLineRadioButtonSelected);
+ connect(checkBoxUseDefaultNBins, &QCheckBox::clicked, this, &HistogramVisualizationWidget::OnDefaultNBinsCheckBoxChanged);
+ connect(spinBoxNBins, &QSpinBox::editingFinished, this, &HistogramVisualizationWidget::OnNBinsSpinBoxValueChanged);
+ connect(checkBoxShowSubchart, &QCheckBox::clicked, this, &HistogramVisualizationWidget::OnShowSubchartCheckBoxChanged);
+}
+
+void HistogramVisualizationWidget::EnableAllComponents()
+{
+ this->setEnabled(true);
+ groupBoxHistogram->setEnabled(true);
+ groupBoxPlot->setEnabled(true);
+ buttonCopyHistogramToClipboard->setEnabled(true);
+}
+
+void HistogramVisualizationWidget::OnClipboardButtonClicked()
+{
+}
+
+void HistogramVisualizationWidget::OnDefaultNBinsCheckBoxChanged()
+{
+}
+
+void HistogramVisualizationWidget::OnNBinsSpinBoxValueChanged()
+{
+}
+
+void HistogramVisualizationWidget::OnShowSubchartCheckBoxChanged()
+{
+}
+
+void HistogramVisualizationWidget::OnBarRadioButtonSelected()
+{
+}
+
+void HistogramVisualizationWidget::OnLineRadioButtonSelected()
+{
+}
diff --git a/Modules/ImageStatisticsUI/Qmitk/QmitkHistogramVisualizationWidget.h b/Modules/ImageStatisticsUI/Qmitk/QmitkHistogramVisualizationWidget.h
new file mode 100644
index 0000000000..b92d5e4eab
--- /dev/null
+++ b/Modules/ImageStatisticsUI/Qmitk/QmitkHistogramVisualizationWidget.h
@@ -0,0 +1,61 @@
+/*===================================================================
+
+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.
+
+===================================================================*/
+#pragma once
+
+//Qt
+#include
+
+#include
+#include
+
+class MITKIMAGESTATISTICSUI_EXPORT HistogramVisualizationWidget : public QWidget, private Ui::QmitkHistogramVisualizationControls
+{
+ Q_OBJECT
+
+public:
+ HistogramVisualizationWidget(QWidget* parent = nullptr);
+
+ //void setHistogram(itk::Histogram::ConstPointer h);
+
+signals:
+ /**
+ * \brief Signal to be emitted when the number of bins is changed by the user. The HistogramCalculator should connect to this signal and recalculate the data accordingly.
+ */
+ void RequestHistogramUpdate(unsigned int nBins);
+
+private:
+
+ void CreateConnections();
+
+ void EnableAllComponents();
+
+//slots
+ /** \brief Saves the histogram to the clipboard */
+ void OnClipboardButtonClicked();
+ /** \brief Toogle GUI elements if histogram default bin size checkbox value changed. */
+ void OnDefaultNBinsCheckBoxChanged();
+
+ void OnNBinsSpinBoxValueChanged();
+
+ void OnShowSubchartCheckBoxChanged();
+
+ void OnBarRadioButtonSelected();
+
+ void OnLineRadioButtonSelected();
+
+private:
+ Ui::QmitkHistogramVisualizationControls* m_Controls;
+};
\ No newline at end of file
diff --git a/Modules/ImageStatisticsUI/files.cmake b/Modules/ImageStatisticsUI/files.cmake
new file mode 100644
index 0000000000..6d352e6329
--- /dev/null
+++ b/Modules/ImageStatisticsUI/files.cmake
@@ -0,0 +1,17 @@
+set(CPP_FILES
+ Qmitk/QmitkHistogramVisualizationWidget.cpp
+)
+
+set(H_FILES
+)
+
+set(TPP_FILES
+)
+
+set(UI_FILES
+ Qmitk/QmitkHistogramVisualizationControls.ui
+)
+
+set(MOC_H_FILES
+ Qmitk/QmitkHistogramVisualizationWidget.h
+)
diff --git a/Modules/ModuleList.cmake b/Modules/ModuleList.cmake
index 220afef5f0..3dc7dd1186 100644
--- a/Modules/ModuleList.cmake
+++ b/Modules/ModuleList.cmake
@@ -1,77 +1,78 @@
# The entries in the mitk_modules list must be
# ordered according to their dependencies.
set(MITK_MODULES
Core
CommandLine
AppUtil
RDF
LegacyIO
DataTypesExt
Annotation
LegacyGL
AlgorithmsExt
MapperExt
DICOMReader
DICOMReaderServices
DICOMTesting
SceneSerializationBase
PlanarFigure
ImageDenoising
ImageExtraction
SceneSerialization
Gizmo
GraphAlgorithms
Multilabel
+ Chart
ImageStatistics
+ ImageStatisticsUI
ContourModel
SurfaceInterpolation
Segmentation
PlanarFigureSegmentation
QtWidgets
QtWidgetsExt
- Chart
SegmentationUI
Classification
GPGPU
OpenIGTLink
IGTBase
IGT
CameraCalibration
OpenCL
OpenCVVideoSupport
QtOverlays
ToFHardware
ToFProcessing
ToFUI
PhotoacousticsHardware
PhotoacousticsAlgorithms
PhotoacousticsLib
US
USUI
DicomUI
Remeshing
Python
QtPython
Persistence
OpenIGTLinkUI
IGTUI
DicomRT
RTUI
IOExt
XNAT
TubeGraph
BiophotonicsHardware
MatchPointRegistration
MatchPointRegistrationUI
DiffusionImaging
TumorInvasionAnalysis
BoundingShape
RenderWindowManager
RenderWindowManagerUI
CEST
)
if(MITK_ENABLE_PIC_READER)
list(APPEND MITK_MODULES IpPicSupportIO)
endif()
diff --git a/Plugins/org.mitk.gui.qt.measurementtoolbox/CMakeLists.txt b/Plugins/org.mitk.gui.qt.measurementtoolbox/CMakeLists.txt
index 9af2e00fda..8403f27fb6 100644
--- a/Plugins/org.mitk.gui.qt.measurementtoolbox/CMakeLists.txt
+++ b/Plugins/org.mitk.gui.qt.measurementtoolbox/CMakeLists.txt
@@ -1,9 +1,9 @@
# The project name must correspond to the directory name of your plug-in
# and must not contain periods.
project(org_mitk_gui_qt_measurementtoolbox)
mitk_create_plugin(
EXPORT_DIRECTIVE MITK_QT_MEASUREMENTTOOLBOX
EXPORTED_INCLUDE_SUFFIXES src
- MODULE_DEPENDS MitkQtWidgetsExt MitkImageStatistics MitkPlanarFigure MitkChart
-)
+ MODULE_DEPENDS MitkQtWidgetsExt MitkImageStatistics MitkImageStatisticsUI MitkPlanarFigure MitkChart
+)
\ No newline at end of file
diff --git a/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsReloadedViewControls.ui b/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsReloadedViewControls.ui
index 80ef24ee28..395c159cb8 100644
--- a/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsReloadedViewControls.ui
+++ b/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsReloadedViewControls.ui
@@ -1,78 +1,90 @@
QmitkImageStatisticsReloadedViewControls
true
0
0
548
853
Form
-
false
Statistics
9
9
9
-
false
400
450
Histogram
false
-
+
+
-
+
+
+
-
Qt::Vertical
20
40
+
+
+ HistogramVisualizationWidget
+ QWidget
+ QmitkHistogramVisualizationWidget.h
+ 1
+
+