Dynamic Neural Field Composer 0.0.0
A C++20 library and interactive application for building and simulating Dynamic Neural Field (DNF) architectures.
Loading...
Searching...
No Matches
neural_field_parameters.h
Go to the documentation of this file.
1#pragma once
2
5
6
7namespace dnf_composer
8{
9 namespace element
10 {
11 struct NeuralFieldParameters : ElementSpecificParameters
12 {
13 double tau;
15 std::unique_ptr<ActivationFunction> activationFunction;
16
18 NeuralFieldParameters(double tau, double restingLevel, const ActivationFunction& activationFunction);
21 bool operator==(const NeuralFieldParameters& other) const;
22 std::string toString() const override;
23
24 };
25
26 struct NeuralFieldBump
27 {
28 double centroid;
29 double startPosition;
30 double endPosition;
31 double amplitude;
32 double width;
33
34 NeuralFieldBump(double centroid = 0.0,
35 double startPosition = 0.0,
36 double endPosition = 0.0,
37 double amplitude = 0.0,
38 double width = 0.0);
39 bool operator==(const NeuralFieldBump& other) const;
40 std::string toString() const;
41 void print() const;
42 };
43
44 struct NeuralFieldState
45 {
46 std::vector<NeuralFieldBump> bumps;
47 bool stable;
48 double lowestActivation;
49 double highestActivation;
51
53 std::string toString() const;
54 void print() const;
55 };
Definition application.h:20
double amplitude
Peak activation value.
Definition neural_field.h:85
double startPosition
Left edge of the above-threshold region.
Definition neural_field.h:83
double endPosition
Right edge of the above-threshold region.
Definition neural_field.h:84
std::string toString() const
Definition neural_field.h:109
double centroid
Spatial position of the bump's centre of mass.
Definition neural_field.h:82
double width
Width of the above-threshold region.
Definition neural_field.h:86
NeuralFieldBump(const double centroid=0.0, const double startPosition=0.0, const double endPosition=0.0, const double amplitude=0.0, const double width=0.0, const double previousCentroid=0.0, const double velocity=0.0, const double acceleration=0.0)
Definition neural_field.h:91
void print() const
Definition neural_field_parameters.cpp:87
std::unique_ptr< ActivationFunction > activationFunction
Nonlinearity applied to activation to produce output.
Definition neural_field.h:16
NeuralFieldParameters & operator=(const NeuralFieldParameters &other)
Definition neural_field.h:18
NeuralFieldParameters()
Default constructor: tau=25, restingLevel=-5, sigmoid(0, 10).
Definition neural_field.h:41
bool operator==(const NeuralFieldParameters &other) const
Definition neural_field.h:32
double tau
Time constant of the field's relaxation dynamics.
Definition neural_field.h:14
double startingRestingLevel
Homogeneous resting level (h); sub-threshold when negative.
Definition neural_field.h:15
std::string toString() const override
Definition neural_field.h:65
double highestActivation
Maximum activation across the field.
Definition neural_field.h:133
double lowestActivation
Minimum activation across the field.
Definition neural_field.h:132
std::string toString() const
Definition neural_field.h:144
double thresholdForStability
Convergence criterion (default 0.895).
Definition neural_field.h:134
void print() const
Definition neural_field_parameters.cpp:115
std::vector< NeuralFieldBump > bumps
Currently active above-threshold peaks.
Definition neural_field.h:130
bool stable
True when the activation change falls below the stability threshold.
Definition neural_field.h:131
NeuralFieldState()
Definition neural_field.h:139