aboutsummaryrefslogtreecommitdiff
path: root/distortionobserver.h
blob: 9141d25a55bbe9a34379b6257be115704f5f6a87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef DISTORTIONOBSERVER_H
#define DISTORTIONOBSERVER_H

#include <QObject>
#include <armadillo>

class DistortionObserver : public QObject
{
    Q_OBJECT
public:
    DistortionObserver(const arma::mat &X, const arma::uvec &sampleIndices);
    virtual ~DistortionObserver();

signals:
    void mapChanged(const arma::vec &distortion);

public slots:
    void setMap(const arma::mat &Y);

protected:
    virtual arma::vec measureFunc(const arma::mat &distA, const arma::mat &distB) = 0;

private:
    arma::mat m_X, m_Y, m_distX;
    arma::uvec m_sampleIndices;
    arma::vec m_measures;
};

#endif // DISTORTIONOBSERVER_H