diff options
-rw-r--r-- | projectionhistory.cpp | 9 | ||||
-rw-r--r-- | projectionhistory.h | 12 |
2 files changed, 18 insertions, 3 deletions
diff --git a/projectionhistory.cpp b/projectionhistory.cpp index 55d9f60..20a006b 100644 --- a/projectionhistory.cpp +++ b/projectionhistory.cpp @@ -57,6 +57,7 @@ void ProjectionHistory::undo() m_Y = m_prevY; m_distY = m_prevDistY; m_values = m_prevValues; + updateUnreliability(); emit undoPerformed(); emit currentMapChanged(m_Y); @@ -73,6 +74,7 @@ void ProjectionHistory::reset() m_Y = m_firstY; m_distY = m_firstDistY; m_values = m_firstValues; + updateUnreliability(); emit resetPerformed(); emit currentMapChanged(m_Y); @@ -93,6 +95,7 @@ void ProjectionHistory::addMap(const arma::mat &Y) m_Y = Y; m_distY = mp::dist(Y); + updateUnreliability(); mp::aggregatedError(m_distX, m_distY, m_values); qDebug("Aggr. error: min: %f, max: %f", m_values.min(), m_values.max()); @@ -227,3 +230,9 @@ void ProjectionHistory::setRewind(double t) emit rpValuesRewound(values(m_rpIndices)); emit valuesRewound(values); } + +void ProjectionHistory::updateUnreliability() +{ + m_unreliability.copy_size(m_alphas); + m_unreliability = m_alphas % m_distY(m_rpIndices, m_cpIndices); +} diff --git a/projectionhistory.h b/projectionhistory.h index 79519f9..e20f16c 100644 --- a/projectionhistory.h +++ b/projectionhistory.h @@ -18,9 +18,13 @@ public: ProjectionHistory(const arma::mat &X, const arma::uvec &cpIndices); - const arma::mat &Y() const { return m_Y; } - const arma::mat &firstY() const { return m_firstY; } - const arma::mat &prevY() const { return m_prevY; } + const arma::mat &Y() const { return m_Y; } + const arma::mat &firstY() const { return m_firstY; } + const arma::mat &prevY() const { return m_prevY; } + const arma::mat &unreliability() const { return m_unreliability; } + + const arma::uvec &cpIndices() const { return m_cpIndices; } + const arma::uvec &rpIndices() const { return m_rpIndices; } bool hasFirst() const { return m_hasFirst; } bool hasPrev() const { return m_hasPrev; } @@ -53,11 +57,13 @@ public slots: private: bool emitValuesChanged() const; + void updateUnreliability(); ObserverType m_type; arma::mat m_X, m_Y, m_firstY, m_prevY; arma::mat m_distX, m_distY, m_firstDistY, m_prevDistY; + arma::mat m_unreliability; arma::uvec m_cpIndices, m_rpIndices; bool m_cpSelectionEmpty, m_rpSelectionEmpty; |