diff options
author | Samuel Fadel <samuelfadel@gmail.com> | 2016-04-04 17:15:56 -0300 |
---|---|---|
committer | Samuel Fadel <samuelfadel@gmail.com> | 2016-04-04 17:15:56 -0300 |
commit | 0615b37b56f3c2ffaf46255808a60f16b1d5be7c (patch) | |
tree | 202774c089a38f7fba351fca0a67727dc45d0062 | |
parent | e4d94411fc8d955072f632fda923dc04a0986ea5 (diff) |
ProjectionHistory: added unreliability.
-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; |