aboutsummaryrefslogtreecommitdiff
path: root/interactionhandler.h
blob: 784746ea5923eabbef271135d2dac596be2cc04e (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
30
31
32
33
#ifndef INTERACTIONHANDLER_H
#define INTERACTIONHANDLER_H

#include <QObject>
#include <armadillo>

class InteractionHandler : public QObject
{
    Q_OBJECT
public:
    enum InteractiveTechnique {
        TECHNIQUE_PLMP,
        TECHNIQUE_LAMP,
        TECHNIQUE_LSP
    };

    InteractionHandler(const arma::mat &X, const arma::uvec &sampleIndices);

    void setTechnique(InteractiveTechnique technique) { m_technique = technique; }

signals:
    void subsampleChanged(const arma::mat &Y);

public slots:
    void setSubsample(const arma::mat &Ys);

private:
    arma::mat m_X, m_Y;
    arma::uvec m_sampleIndices;
    InteractiveTechnique m_technique;
};

#endif // INTERACTIONHANDLER_H