diff --git a/Modules/ImageStatisticsUI/Qmitk/QmitkImageStatisticsTableModel.cpp b/Modules/ImageStatisticsUI/Qmitk/QmitkImageStatisticsTableModel.cpp index 435ff2869c..c4f963c8e0 100644 --- a/Modules/ImageStatisticsUI/Qmitk/QmitkImageStatisticsTableModel.cpp +++ b/Modules/ImageStatisticsUI/Qmitk/QmitkImageStatisticsTableModel.cpp @@ -1,155 +1,163 @@ -/*=================================================================== - -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 "QmitkImageStatisticsTableModel.h" - -QmitkImageStatisticsTableModel::QmitkImageStatisticsTableModel(QObject *parent) : -QAbstractTableModel(parent) -{} - -int QmitkImageStatisticsTableModel::rowCount(const QModelIndex &parent) const -{ - if (parent.isValid()) - { - return 0; - } - - if (!m_statistics.empty()){ - return static_cast(m_statistics.front()->GetStatisticsAsOrderedVector().size()); - } - else - { - return 0; - } -} - -int QmitkImageStatisticsTableModel::columnCount(const QModelIndex &parent) const -{ - if (parent.isValid()) - return 0; - - return static_cast(m_statistics.size()); -} - -QVariant QmitkImageStatisticsTableModel::data(const QModelIndex &index, int role) const -{ - if (!index.isValid()) - return QVariant(); - - QVariant result; - if (m_viewMode == viewMode::imageXStatistic) { - if (!m_statistics.empty() && index.row() < m_statistics.front()->GetStatisticsAsMap().size() && index.column() < m_statistics.size()) - { - if (Qt::DisplayRole == role) - { - result = QVariant(m_statistics.at(index.column())->GetStatisticsAsOrderedVector().at(index.row()).second); - } - else if (Qt::UserRole == role) - { - result = QVariant(index.row()); - } - - } - } - - return result; -} - -Qt::ItemFlags QmitkImageStatisticsTableModel::flags(const QModelIndex &index) const -{ - Qt::ItemFlags flags = QAbstractItemModel::flags(index); - - return flags; -} - -QVariant QmitkImageStatisticsTableModel::headerData(int section, Qt::Orientation orientation, int role) const -{ - - if ((Qt::DisplayRole == role) && (Qt::Horizontal == orientation)) - { - if (!m_imageNodes.empty()) { - if (m_viewMode == viewMode::imageXStatistic) { - std::string maskName; - if (!m_maskNodes.empty() && m_maskNodes.size() == m_imageNodes.size()) { - maskName = " / " + m_maskNodes.at(section)->GetName(); - } - return QVariant((m_imageNodes.at(section)->GetName() + maskName).c_str()); - } - } - } - else if ((Qt::DisplayRole == role) && (Qt::Vertical == orientation)){ - if (!m_statistics.empty()) { - if (m_viewMode == viewMode::imageXStatistic) { - return QVariant(m_statisticNames.at(section).c_str()); - } - } - } - return QVariant(); -} - -void QmitkImageStatisticsTableModel::SetStatistics(const std::vector& statistics) -{ - emit beginResetModel(); - m_statistics = statistics; - - if (m_statisticNames.empty() && !statistics.empty()) { - auto firstStatisticAsMap = statistics.front()->GetStatisticsAsOrderedVector(); - for (const auto& keyValue : firstStatisticAsMap) { - m_statisticNames.push_back(keyValue.first); - } - } - emit endResetModel(); - emit dataChanged(QModelIndex(), QModelIndex()); -} - -void QmitkImageStatisticsTableModel::SetImageNodes(const std::vector& nodes) -{ - m_imageNodes = nodes; -} - -void QmitkImageStatisticsTableModel::SetMaskNodes(const std::vector& nodes) -{ - m_maskNodes = nodes; -} - -void QmitkImageStatisticsTableModel::SetViewMode(viewMode m) -{ - m_viewMode = m; -} - -void QmitkImageStatisticsTableModel::SetStatisticsToShow(const std::vector& statisticNames) -{ - m_statisticNamesToShow = statisticNames; -} - -void QmitkImageStatisticsTableModel::SetStatisticsToIgnore(const std::vector& statisticNames) -{ - m_statisticNamesToIgnore = statisticNames; -} - -void QmitkImageStatisticsTableModel::Clear() -{ - emit beginResetModel(); - m_statistics.clear(); - m_imageNodes.clear(); - m_maskNodes.clear(); - m_statisticNamesToIgnore.clear(); - m_statisticNamesToShow.clear(); - m_statisticNames.clear(); - emit endResetModel(); - emit dataChanged(QModelIndex(), QModelIndex()); -} - +/*=================================================================== + +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 "QmitkImageStatisticsTableModel.h" + +QmitkImageStatisticsTableModel::QmitkImageStatisticsTableModel(QObject *parent) : +QAbstractTableModel(parent) +{} + +int QmitkImageStatisticsTableModel::rowCount(const QModelIndex &parent) const +{ + if (parent.isValid()) + { + return 0; + } + + if (!m_statistics.empty()){ + return static_cast(m_statistics.front()->GetStatisticsAsOrderedVector().size()); + } + else + { + return 0; + } +} + +int QmitkImageStatisticsTableModel::columnCount(const QModelIndex &parent) const +{ + if (parent.isValid()) + return 0; + + return static_cast(m_statistics.size()); +} + +QVariant QmitkImageStatisticsTableModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) + return QVariant(); + + QVariant result; + if (m_viewMode == viewMode::imageXStatistic) { + if (!m_statistics.empty() && index.row() < m_statistics.front()->GetStatisticsAsMap().size() && index.column() < m_statistics.size()) + { + if (Qt::DisplayRole == role) + { + result = QVariant(m_statistics.at(index.column())->GetStatisticsAsOrderedVector().at(index.row()).second); + } + else if (Qt::UserRole == role) + { + result = QVariant(index.row()); + } + + } + } + + return result; +} + +Qt::ItemFlags QmitkImageStatisticsTableModel::flags(const QModelIndex &index) const +{ + Qt::ItemFlags flags = QAbstractItemModel::flags(index); + + return flags; +} + +QVariant QmitkImageStatisticsTableModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if ((Qt::DisplayRole == role) && (Qt::Horizontal == orientation)) + { + if (!m_imageNodes.empty()) { + if (m_viewMode == viewMode::imageXStatistic) { + std::string maskName; + if (!m_maskNodes.empty() && m_maskNodes.size() == m_imageNodes.size()) { + maskName = " / " + m_maskNodes.at(section)->GetName(); + } + return QVariant((m_imageNodes.at(section)->GetName() + maskName + std::to_string(section)).c_str()); + } + } + } + else if ((Qt::DisplayRole == role) && (Qt::Vertical == orientation)){ + if (!m_statistics.empty()) { + if (m_viewMode == viewMode::imageXStatistic) { + return QVariant(m_statisticNames.at(section).c_str()); + } + } + } + return QVariant(); +} + +void QmitkImageStatisticsTableModel::SetStatistics(const std::vector& statistics) +{ + emit beginResetModel(); + m_statistics = statistics; + + if (m_statisticNames.empty() && !statistics.empty()) { + auto firstStatisticAsMap = statistics.front()->GetStatisticsAsOrderedVector(); + for (const auto& keyValue : firstStatisticAsMap) { + m_statisticNames.push_back(keyValue.first); + } + } + emit endResetModel(); + emit dataChanged(QModelIndex(), QModelIndex()); +} + +void QmitkImageStatisticsTableModel::SetImageNodes(const std::vector& nodes) +{ + std::vector tempNodes; + for (int i = 0; i < nodes.size(); i++) + { + int timeSteps = nodes.at(i)->GetData()->GetTimeSteps(); + for (int j = 0; j < timeSteps; j++) + { + tempNodes.push_back(nodes.at(i)); + } + } + m_imageNodes = tempNodes; +} + +void QmitkImageStatisticsTableModel::SetMaskNodes(const std::vector& nodes) +{ + m_maskNodes = nodes; +} + +void QmitkImageStatisticsTableModel::SetViewMode(viewMode m) +{ + m_viewMode = m; +} + +void QmitkImageStatisticsTableModel::SetStatisticsToShow(const std::vector& statisticNames) +{ + m_statisticNamesToShow = statisticNames; +} + +void QmitkImageStatisticsTableModel::SetStatisticsToIgnore(const std::vector& statisticNames) +{ + m_statisticNamesToIgnore = statisticNames; +} + +void QmitkImageStatisticsTableModel::Clear() +{ + emit beginResetModel(); + m_statistics.clear(); + m_imageNodes.clear(); + m_maskNodes.clear(); + m_statisticNamesToIgnore.clear(); + m_statisticNamesToShow.clear(); + m_statisticNames.clear(); + emit endResetModel(); + emit dataChanged(QModelIndex(), QModelIndex()); +} + diff --git a/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsReloadedView.cpp b/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsReloadedView.cpp index 9b5e8a15ce..f0f938953d 100644 --- a/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsReloadedView.cpp +++ b/Plugins/org.mitk.gui.qt.measurementtoolbox/src/internal/QmitkImageStatisticsReloadedView.cpp @@ -1,212 +1,211 @@ -/*=================================================================== - -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 "QmitkImageStatisticsReloadedView.h" - -// berry includes -#include -#include - -#include -#include -#include -#include -#include -#include - -const std::string QmitkImageStatisticsReloadedView::VIEW_ID = "org.mitk.views.imagestatisticsReloaded"; - -QmitkImageStatisticsReloadedView::QmitkImageStatisticsReloadedView(QObject* /*parent*/, const char* /*name*/) -{ - this->m_CalculationThread = new QmitkImageStatisticsCalculationJob(); -} - -QmitkImageStatisticsReloadedView::~QmitkImageStatisticsReloadedView() -{ -} - -void QmitkImageStatisticsReloadedView::CreateQtPartControl(QWidget *parent) -{ - m_Controls.setupUi(parent); - m_Controls.widget_histogram->SetTheme(this->GetColorTheme()); - PrepareDataStorageComboBoxes(); - CreateConnections(); -} - -void QmitkImageStatisticsReloadedView::CreateConnections() -{ - connect(m_Controls.imageSelector, QOverload::of(&QComboBox::currentIndexChanged), [=](int index) { OnImageOrMaskSelectorChanged(); }); - connect(m_Controls.maskImageSelector, QOverload::of(&QComboBox::currentIndexChanged), [=](int index) { OnImageOrMaskSelectorChanged(); }); - connect(this->m_CalculationThread, &QmitkImageStatisticsCalculationJob::finished, this, &QmitkImageStatisticsReloadedView::OnStatisticsCalculationEnds, Qt::QueuedConnection); -} - -void QmitkImageStatisticsReloadedView::PartClosed(const berry::IWorkbenchPartReference::Pointer& ) -{ -} - -void QmitkImageStatisticsReloadedView::FillStatisticsWidget(const std::vector& statistics) -{ - m_Controls.widget_statistics->Reset(); - m_Controls.widget_statistics->SetStatistics(statistics); - m_Controls.widget_statistics->SetImageNodes({ m_selectedImageNode }); - if (m_selectedMaskNode) { - m_Controls.widget_statistics->SetMaskNodes({ m_selectedMaskNode }); - } - m_Controls.widget_statistics->setEnabled(true); -} - -void QmitkImageStatisticsReloadedView::FillHistogramWidget(const std::vector& histogram, const std::vector& dataLabels) -{ - 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, &QmitkImageStatisticsReloadedView::OnRequestHistogramUpdate); - -} - -QmitkChartWidget::ChartStyle QmitkImageStatisticsReloadedView::GetColorTheme() const -{ - ctkPluginContext* context = berry::WorkbenchPlugin::GetDefault()->GetPluginContext(); - ctkServiceReference styleManagerRef = context->getServiceReference(); - if (styleManagerRef) - { - auto styleManager = context->getService(styleManagerRef); - if (styleManager->GetStyle().name == "Dark") { - return QmitkChartWidget::ChartStyle::darkstyle; - } - else { - return QmitkChartWidget::ChartStyle::lightstyle; - } - } - return QmitkChartWidget::ChartStyle::darkstyle; -} - -void QmitkImageStatisticsReloadedView::OnImageOrMaskSelectorChanged() -{ - m_selectedImageNode = m_Controls.imageSelector->GetSelectedNode(); - m_selectedMaskNode = m_Controls.maskImageSelector->GetSelectedNode(); - - if (m_selectedImageNode != nullptr) { - auto image = dynamic_cast(m_selectedImageNode->GetData()); - mitk::Image::Pointer mask = nullptr; - if (m_selectedMaskNode != nullptr) { - mask = dynamic_cast(m_selectedMaskNode->GetData()); - } - - CalculateStatistics(image, mask); - } - else { - m_Controls.widget_statistics->Reset(); - m_Controls.widget_statistics->setEnabled(false); - m_Controls.widget_histogram->Reset(); - m_Controls.widget_histogram->setEnabled(false); - } -} - -void QmitkImageStatisticsReloadedView::OnStatisticsCalculationEnds() -{ - mitk::StatusBar::GetInstance()->Clear(); - - if (this->m_CalculationThread->GetStatisticsUpdateSuccessFlag()) { - this->FillStatisticsWidget(m_CalculationThread->GetStatisticsData()); - 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.widget_statistics->setEnabled(false); - } -} - -void QmitkImageStatisticsReloadedView::OnRequestHistogramUpdate(unsigned int nBins) -{ - m_CalculationThread->SetHistogramNBins(nBins); - m_CalculationThread->start(); -} - -void QmitkImageStatisticsReloadedView::CalculateStatistics(mitk::Image::Pointer image, mitk::Image::Pointer mask) -{ - this->m_StatisticsUpdatePending = true; - this->m_CalculationThread->Initialize(image, mask, nullptr); - this->m_CalculationThread->SetTimeStep(0); - - try - { - // Compute statistics - this->m_CalculationThread->start(); - } - catch (const mitk::Exception& e) - { - mitk::StatusBar::GetInstance()->DisplayErrorText(e.GetDescription()); - this->m_StatisticsUpdatePending = false; - } - catch (const std::runtime_error &e) - { - mitk::StatusBar::GetInstance()->DisplayErrorText(e.what()); - this->m_StatisticsUpdatePending = false; - } - catch (const std::exception &e) - { - mitk::StatusBar::GetInstance()->DisplayErrorText(e.what()); - this->m_StatisticsUpdatePending = false; - } -} - -void QmitkImageStatisticsReloadedView::OnSelectionChanged( berry::IWorkbenchPart::Pointer /*part*/, - const QList &nodes ) -{ - -} - -void QmitkImageStatisticsReloadedView::PrepareDataStorageComboBoxes() -{ - - auto isImage = mitk::NodePredicateDataType::New("Image"); - auto isBinary = mitk::NodePredicateProperty::New("binary", mitk::BoolProperty::New(true)); - auto isNoBinary = mitk::NodePredicateNot::New(isBinary); - auto isBinaryImage = mitk::NodePredicateAnd::New(isImage, isBinary); - auto isNoBinaryImage = mitk::NodePredicateAnd::New(isImage, isNoBinary); - - m_Controls.imageSelector->SetDataStorage(GetDataStorage()); - m_Controls.imageSelector->SetPredicate(isNoBinaryImage); - - m_Controls.maskImageSelector->SetDataStorage(GetDataStorage()); - m_Controls.maskImageSelector->SetPredicate(isBinaryImage); - m_Controls.maskImageSelector->SetZeroEntryText(""); -} - -void QmitkImageStatisticsReloadedView::Activated() -{ -} - -void QmitkImageStatisticsReloadedView::Deactivated() -{ -} - -void QmitkImageStatisticsReloadedView::Visible() -{ - -} - -void QmitkImageStatisticsReloadedView::Hidden() -{ - m_Controls.imageSelector->disconnect(); - m_Controls.maskImageSelector->disconnect(); -} - -void QmitkImageStatisticsReloadedView::SetFocus() -{ -} +/*=================================================================== + +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 "QmitkImageStatisticsReloadedView.h" + +// berry includes +#include +#include + +#include +#include +#include +#include +#include +#include + +const std::string QmitkImageStatisticsReloadedView::VIEW_ID = "org.mitk.views.imagestatisticsReloaded"; + +QmitkImageStatisticsReloadedView::QmitkImageStatisticsReloadedView(QObject* /*parent*/, const char* /*name*/) +{ + this->m_CalculationThread = new QmitkImageStatisticsCalculationJob(); +} + +QmitkImageStatisticsReloadedView::~QmitkImageStatisticsReloadedView() +{ +} + +void QmitkImageStatisticsReloadedView::CreateQtPartControl(QWidget *parent) +{ + m_Controls.setupUi(parent); + m_Controls.widget_histogram->SetTheme(this->GetColorTheme()); + PrepareDataStorageComboBoxes(); + CreateConnections(); +} + +void QmitkImageStatisticsReloadedView::CreateConnections() +{ + connect(m_Controls.imageSelector, QOverload::of(&QComboBox::currentIndexChanged), [=](int index) { OnImageOrMaskSelectorChanged(); }); + connect(m_Controls.maskImageSelector, QOverload::of(&QComboBox::currentIndexChanged), [=](int index) { OnImageOrMaskSelectorChanged(); }); + connect(this->m_CalculationThread, &QmitkImageStatisticsCalculationJob::finished, this, &QmitkImageStatisticsReloadedView::OnStatisticsCalculationEnds, Qt::QueuedConnection); +} + +void QmitkImageStatisticsReloadedView::PartClosed(const berry::IWorkbenchPartReference::Pointer& ) +{ +} + +void QmitkImageStatisticsReloadedView::FillStatisticsWidget(const std::vector& statistics) +{ + m_Controls.widget_statistics->Reset(); + m_Controls.widget_statistics->SetStatistics(statistics); + m_Controls.widget_statistics->SetImageNodes({ m_selectedImageNode }); + if (m_selectedMaskNode) { + m_Controls.widget_statistics->SetMaskNodes({ m_selectedMaskNode }); + } + m_Controls.widget_statistics->setEnabled(true); +} + +void QmitkImageStatisticsReloadedView::FillHistogramWidget(const std::vector& histogram, const std::vector& dataLabels) +{ + 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, &QmitkImageStatisticsReloadedView::OnRequestHistogramUpdate); + +} + +QmitkChartWidget::ChartStyle QmitkImageStatisticsReloadedView::GetColorTheme() const +{ + ctkPluginContext* context = berry::WorkbenchPlugin::GetDefault()->GetPluginContext(); + ctkServiceReference styleManagerRef = context->getServiceReference(); + if (styleManagerRef) + { + auto styleManager = context->getService(styleManagerRef); + if (styleManager->GetStyle().name == "Dark") { + return QmitkChartWidget::ChartStyle::darkstyle; + } + else { + return QmitkChartWidget::ChartStyle::lightstyle; + } + } + return QmitkChartWidget::ChartStyle::darkstyle; +} + +void QmitkImageStatisticsReloadedView::OnImageOrMaskSelectorChanged() +{ + m_selectedImageNode = m_Controls.imageSelector->GetSelectedNode(); + m_selectedMaskNode = m_Controls.maskImageSelector->GetSelectedNode(); + + if (m_selectedImageNode != nullptr) { + auto image = dynamic_cast(m_selectedImageNode->GetData()); + mitk::Image::Pointer mask = nullptr; + if (m_selectedMaskNode != nullptr) { + mask = dynamic_cast(m_selectedMaskNode->GetData()); + } + + CalculateStatistics(image, mask); + } + else { + m_Controls.widget_statistics->Reset(); + m_Controls.widget_statistics->setEnabled(false); + m_Controls.widget_histogram->Reset(); + m_Controls.widget_histogram->setEnabled(false); + } +} + +void QmitkImageStatisticsReloadedView::OnStatisticsCalculationEnds() +{ + mitk::StatusBar::GetInstance()->Clear(); + + if (this->m_CalculationThread->GetStatisticsUpdateSuccessFlag()) { + this->FillStatisticsWidget(m_CalculationThread->GetStatisticsData()); + 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.widget_statistics->setEnabled(false); + } +} + +void QmitkImageStatisticsReloadedView::OnRequestHistogramUpdate(unsigned int nBins) +{ + m_CalculationThread->SetHistogramNBins(nBins); + m_CalculationThread->start(); +} + +void QmitkImageStatisticsReloadedView::CalculateStatistics(mitk::Image::Pointer image, mitk::Image::Pointer mask) +{ + this->m_StatisticsUpdatePending = true; + this->m_CalculationThread->Initialize(image, mask, nullptr); + + try + { + // Compute statistics + this->m_CalculationThread->start(); + } + catch (const mitk::Exception& e) + { + mitk::StatusBar::GetInstance()->DisplayErrorText(e.GetDescription()); + this->m_StatisticsUpdatePending = false; + } + catch (const std::runtime_error &e) + { + mitk::StatusBar::GetInstance()->DisplayErrorText(e.what()); + this->m_StatisticsUpdatePending = false; + } + catch (const std::exception &e) + { + mitk::StatusBar::GetInstance()->DisplayErrorText(e.what()); + this->m_StatisticsUpdatePending = false; + } +} + +void QmitkImageStatisticsReloadedView::OnSelectionChanged( berry::IWorkbenchPart::Pointer /*part*/, + const QList &nodes ) +{ + +} + +void QmitkImageStatisticsReloadedView::PrepareDataStorageComboBoxes() +{ + + auto isImage = mitk::NodePredicateDataType::New("Image"); + auto isBinary = mitk::NodePredicateProperty::New("binary", mitk::BoolProperty::New(true)); + auto isNoBinary = mitk::NodePredicateNot::New(isBinary); + auto isBinaryImage = mitk::NodePredicateAnd::New(isImage, isBinary); + auto isNoBinaryImage = mitk::NodePredicateAnd::New(isImage, isNoBinary); + + m_Controls.imageSelector->SetDataStorage(GetDataStorage()); + m_Controls.imageSelector->SetPredicate(isNoBinaryImage); + + m_Controls.maskImageSelector->SetDataStorage(GetDataStorage()); + m_Controls.maskImageSelector->SetPredicate(isBinaryImage); + m_Controls.maskImageSelector->SetZeroEntryText(""); +} + +void QmitkImageStatisticsReloadedView::Activated() +{ +} + +void QmitkImageStatisticsReloadedView::Deactivated() +{ +} + +void QmitkImageStatisticsReloadedView::Visible() +{ + +} + +void QmitkImageStatisticsReloadedView::Hidden() +{ + m_Controls.imageSelector->disconnect(); + m_Controls.maskImageSelector->disconnect(); +} + +void QmitkImageStatisticsReloadedView::SetFocus() +{ +}