19 m_Controls.setupUi(
this);
20 m_Controls.checkBoxShowSubchart->setChecked(
false);
28 if (intensityProfile ==
nullptr)
32 if (m_IntensityProfileList.empty())
35 m_Controls.chartWidget->AddData1D(m_IntensityProfileList, dataLabel);
37 m_Controls.chartWidget->SetXAxisLabel(
"Distance");
38 m_Controls.chartWidget->SetYAxisLabel(
"Intensity");
39 m_Controls.chartWidget->SetShowLegend(
false);
40 m_Controls.chartWidget->Show(m_Controls.checkBoxShowSubchart->isChecked());
41 SetGUIElementsEnabled(
true);
46 m_Controls.chartWidget->Clear();
47 SetGUIElementsEnabled(
false);
48 m_IntensityProfileList.clear();
56 void QmitkIntensityProfileVisualizationWidget::CreateConnections()
58 connect(m_Controls.checkBoxShowSubchart, &QCheckBox::clicked,
this, &QmitkIntensityProfileVisualizationWidget::OnShowSubchartCheckBoxChanged);
59 connect(m_Controls.buttonCopyToClipboard, &QPushButton::clicked,
this, &QmitkIntensityProfileVisualizationWidget::OnClipboardButtonClicked);
63 void QmitkIntensityProfileVisualizationWidget::SetGUIElementsEnabled(
bool enabled)
65 this->setEnabled(enabled);
66 m_Controls.groupBoxIntensityProfile->setEnabled(enabled);
67 m_Controls.groupBoxPlot->setEnabled(enabled);
68 m_Controls.buttonCopyToClipboard->setEnabled(enabled);
69 m_Controls.checkBoxShowSubchart->setEnabled(enabled);
70 m_Controls.chartWidget->setEnabled(enabled);
73 std::vector<double> QmitkIntensityProfileVisualizationWidget::ConvertIntensityProfileToVector(mitk::IntensityProfile::ConstPointer intensityProfile)
const 75 std::vector<double> intensityProfileList;
76 if (intensityProfile !=
nullptr)
78 auto end = intensityProfile->End();
80 for (
auto it = intensityProfile->Begin(); it != end; ++it)
82 intensityProfileList.push_back(it.GetMeasurementVector()[0]);
85 return intensityProfileList;
88 void QmitkIntensityProfileVisualizationWidget::OnClipboardButtonClicked()
90 if (m_IntensityProfileList.empty())
93 QApplication::clipboard()->clear();
95 QString clipboard(
"Pixel \t Intensity\n");
96 for (
unsigned int i = 0; i < m_IntensityProfileList.size(); i++)
98 clipboard = clipboard.append(
"%L1 \t %L2\n")
99 .arg(QString::number(i))
100 .arg(QString::number(m_IntensityProfileList.at(i)));
102 QApplication::clipboard()->setText(clipboard, QClipboard::Clipboard);
105 void QmitkIntensityProfileVisualizationWidget::OnShowSubchartCheckBoxChanged()
107 m_Controls.chartWidget->Show(m_Controls.checkBoxShowSubchart->isChecked());
110 void QmitkIntensityProfileVisualizationWidget::OnPageSuccessfullyLoaded()
112 m_Controls.chartWidget->SetTheme(m_ChartStyle);
MITKIMAGESTATISTICS_EXPORT std::vector< IntensityProfile::MeasurementType > CreateVectorFromIntensityProfile(IntensityProfile::ConstPointer intensityProfile)
Convert an intensity profile to a standard library vector.