-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInputNeuron.h
More file actions
60 lines (43 loc) · 1.37 KB
/
InputNeuron.h
File metadata and controls
60 lines (43 loc) · 1.37 KB
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
* InputNeuron.h
*
* Copyright 2018 OFTNAI. All rights reserved.
*
*/
#ifndef INPUTNEURON_H
#define INPUTNEURON_H
// Forward declarations
// Includes
#include "Neuron.h"
#include "Param.h"
#include "Utilities.h"
#include <gsl/gsl_cdf.h>
#include <gsl/gsl_randist.h>
class InputNeuron : public Neuron {
private:
float horEyePositionPreference, horEyePositionPreference2;
float horVisualPreference;
float horEyePositionSigmoidSlope;
float horVisualSigma;
float peak1Magnitude, peak2Magnitude;
// What modality does this neuron encode
enum RESPONSE_FUNCTION {
PURE_VISUAL = 1,
PURE_PROPRIOCEPTIVE = 2, // gauss
MULTIMODAL_GAUSS_MODULATION = 4,
MULTIMODAL_DOUBLEGAUSS_MODULATION = 5,
MULTIMODAL_SIGMOID_MODULATION = 6
};
RESPONSE_FUNCTION responseFunction;
float computeRetinalComponent(const vector<float> & sample);
float computeEyePositionCompononent(float eyePosition);
public:
void init(Region * region,
u_short depth,
u_short row,
u_short col,
gsl_rng * rngController,
Param & p);
void setFiringRate(const vector<float> & sample);
};
#endif // INPUTNEURON_H