Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkHistogramVisualizationWidget.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 #ifndef QmitkHistogramVisualizationWidget_h
13 #define QmitkHistogramVisualizationWidget_h
14 
16 
17 // itk
18 #include <itkHistogram.h>
19 
20 #include <QmitkChartWidget.h>
21 #include <memory>
22 
23 namespace Ui
24 {
25  class QmitkHistogramVisualizationControls;
26 }
27 
41 {
42  Q_OBJECT
43 
44 public:
49  QmitkHistogramVisualizationWidget(QWidget *parent = nullptr);
50 
53 
63  void SetHistogram(itk::Statistics::Histogram<double>::ConstPointer histogram, const std::string &dataLabel);
64 
68  void Reset();
69 
75 
81  void ResetDefault();
82 
87  int GetBins();
88 
89  signals:
98  void RequestHistogramUpdate(unsigned int nBins);
99 
100 private:
101  void CreateConnections();
102  void SetGUIElementsEnabled(bool enabled);
104  std::vector<std::pair<double, double> > ConvertHistogramToPairList(itk::Statistics::Histogram<double>::ConstPointer histogram) const;
105 
106 //slots
108  void OnClipboardButtonClicked();
110  void OnDefaultNBinsCheckBoxChanged();
112  void OnNBinsSpinBoxValueChanged();
114  void OnShowSubchartCheckBoxChanged();
116  void OnViewMinMaxCheckBoxChanged();
118  void OnMaxValueSpinBoxValueChanged();
120  void OnMinValueSpinBoxValueChanged();
121 
122 private:
123  std::unique_ptr<Ui::QmitkHistogramVisualizationControls> m_Controls;
124  const unsigned int m_DefaultNBins = 100;
125  const unsigned int m_MinNBins = 10;
126  const unsigned int m_MaxNBins = 10000;
127 
128  std::map < std::string, itk::Statistics::Histogram<double>::ConstPointer> m_Histograms;
129 };
130 
131 #endif
#define MITKIMAGESTATISTICSUI_EXPORT
ColorTheme
Enumeration of chart color themes.
Widget for displaying and interacting with histogram visualizations.
void SetTheme(QmitkChartWidget::ColorTheme style)
Sets the color theme for the chart widget.
int GetBins()
Returns the current number of histogram bins configured in the spin box.
void Reset()
Clears all histogram data and disables all GUI elements.
void ResetDefault()
Resets all controls to their default settings.
QmitkHistogramVisualizationWidget(QWidget *parent=nullptr)
Constructs the histogram visualization widget.
void SetHistogram(itk::Statistics::Histogram< double >::ConstPointer histogram, const std::string &dataLabel)
Displays a histogram in the chart and enables the GUI controls.
~QmitkHistogramVisualizationWidget() override
Destructor.
void RequestHistogramUpdate(unsigned int nBins)
Emitted when the user changes the number of bins.