Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkFitPlotDataModel.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 
13 #ifndef QmitkFitPlotDataModel_h
14 #define QmitkFitPlotDataModel_h
15 
16 #include <QAbstractTableModel>
17 
19 #include <MitkModelFitUIExports.h>
20 
33 class MITKMODELFITUI_EXPORT QmitkFitPlotDataModel : public QAbstractTableModel
34 {
35  Q_OBJECT
36 
37 public:
39  using FitVectorType = std::vector<mitk::modelFit::ModelFitInfo::ConstPointer>;
40 
45  QmitkFitPlotDataModel(QObject* parent = nullptr);
46 
48  ~QmitkFitPlotDataModel() override {};
49 
55 
60  const std::string& GetXName() const;
61 
67  Qt::ItemFlags flags(const QModelIndex& index) const override;
68 
79  QVariant data(const QModelIndex& index, int role) const override;
80 
92  QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
93 
102  int rowCount(const QModelIndex& parent = QModelIndex()) const override;
103 
113  int columnCount(const QModelIndex& parent = QModelIndex()) const override;
114 
122  bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override;
123 
124 public Q_SLOTS:
125 
134 
142  void SetXName(const std::string& xName);
143 
144 protected:
154  std::pair<std::string, const mitk::PlotDataCurve*> GetCurveByColumn(int col) const;
155 
162  std::pair<bool, mitk::ModelFitPlotData::PositionalCollectionMap::value_type> GetPositionalCurvePoint(const mitk::PlotDataCurve* curve) const;
163 
164 private:
165  mitk::ModelFitPlotData m_PlotData;
166  std::string m_XName;
167 
168 };
169 
170 #endif
#define MITKMODELFITUI_EXPORT
Qt table model for displaying the curve values of a ModelFitPlotData instance.
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Returns the number of data points (rows) in the plot data.
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
Returns header data for the specified section.
const std::string & GetXName() const
Returns the display name for the x-axis.
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
Sets data for a given index (currently always returns false; model is read-only).
~QmitkFitPlotDataModel() override
Destructor.
std::pair< std::string, const mitk::PlotDataCurve * > GetCurveByColumn(int col) const
Retrieves the curve name and pointer for the given column index.
QVariant data(const QModelIndex &index, int role) const override
Returns data for the given index and role.
Qt::ItemFlags flags(const QModelIndex &index) const override
Returns item flags for the given model index (read-only).
void SetPlotData(const mitk::ModelFitPlotData *data)
Sets the plot data to display.
std::vector< mitk::modelFit::ModelFitInfo::ConstPointer > FitVectorType
Vector type holding const pointers to ModelFitInfo instances.
QmitkFitPlotDataModel(QObject *parent=nullptr)
Constructs a QmitkFitPlotDataModel.
int columnCount(const QModelIndex &parent=QModelIndex()) const override
Returns the number of columns.
std::pair< bool, mitk::ModelFitPlotData::PositionalCollectionMap::value_type > GetPositionalCurvePoint(const mitk::PlotDataCurve *curve) const
Determines whether the given curve belongs to a positional collection.
void SetXName(const std::string &xName)
Sets the display name for the x-axis column header.
const mitk::ModelFitPlotData * GetPlotData() const
Returns a pointer to the currently stored plot data.