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
normal_noise.h
Go to the documentation of this file.
1
2#pragma once
3
4#include "tools/math.h"
5#include "element.h"
6
8{
11 struct NormalNoiseParameters final : ElementSpecificParameters
12 {
13 double amplitude;
14
17 explicit NormalNoiseParameters(const double amp = 0.2) : amplitude(amp) {}
18
19 bool operator==(const NormalNoiseParameters& other) const
20 {
21 constexpr double epsilon = 1e-6;
22 return std::abs(amplitude - other.amplitude) < epsilon;
23 }
24 [[nodiscard]] std::string toString() const override
25 {
26 std::ostringstream result;
27 result << "Parameters: [Amplitude: " << std::fixed << std::setprecision(2) << amplitude << "]";
28 return result.str();
29 }
30 };
31
40 class NormalNoise final : public Element
41 {
42 private:
43 NormalNoiseParameters parameters;
44 public:
48 NormalNoise(const ElementCommonParameters& elementCommonParameters,
49 NormalNoiseParameters parameters);
50
51 void init() override;
52 void step(double t, double deltaT) override;
53 std::shared_ptr<Element> clone() const override;
54 std::string toString() const override;
55
56 void setParameters(NormalNoiseParameters parameters);
58 };
59}
Abstract base class for all simulation elements.
Definition element.h:28
Additive Gaussian noise source for neural fields.
Definition normal_noise.h:41
std::string toString() const override
Definition normal_noise.cpp:32
NormalNoiseParameters getParameters() const
Definition normal_noise.cpp:46
void init() override
Initialize the element (called once before the simulation loop).
Definition normal_noise.cpp:13
void setParameters(NormalNoiseParameters parameters)
Definition normal_noise.cpp:41
void step(double t, double deltaT) override
Advance the element by one time step.
Definition normal_noise.cpp:18
std::shared_ptr< Element > clone() const override
Definition normal_noise.cpp:26
Definition element_parameters.h:10
Definition element_parameters.h:188
Parameters for an additive normal-noise input.
Definition normal_noise_parameters.h:10
double amplitude
Standard deviation of the zero-mean Gaussian noise drawn each step.
Definition normal_noise_parameters.h:11
NormalNoiseParameters(const double amp=0.2)
Construct NormalNoise parameters.
Definition normal_noise.h:17
bool operator==(const NormalNoiseParameters &other) const
Definition normal_noise.h:19
std::string toString() const override
Definition normal_noise.h:24