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
include
elements
element_factory.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
elements/element.h
"
4
#include "
elements/gauss_kernel.h
"
5
#include "
elements/gauss_stimulus.h
"
6
#include "
elements/mexican_hat_kernel.h
"
7
#include "
elements/neural_field.h
"
8
#include "
elements/normal_noise.h
"
9
#include "
elements/correlated_normal_noise.h
"
10
#include "
elements/gauss_field_coupling.h
"
11
#include "
elements/field_coupling.h
"
12
#include "
simulation/simulation.h
"
13
#include "
elements/oscillatory_kernel.h
"
14
#include "
elements/asymmetric_gauss_kernel.h
"
15
#include "
elements/boost_stimulus.h
"
16
#include "
elements/memory_trace.h
"
17
#include "
elements/neural_field_2d.h
"
18
#include "
elements/gauss_stimulus_2d.h
"
19
#include "
elements/gauss_kernel_2d.h
"
20
#include "
elements/mexican_hat_kernel_2d.h
"
21
#include "
elements/normal_noise_2d.h
"
22
#include "
elements/oscillatory_kernel_2d.h
"
23
#include "
elements/timed_gauss_stimulus.h
"
24
#include "
elements/timed_gauss_stimulus_2d.h
"
25
#include "
elements/boost_stimulus_2d.h
"
26
#include "
elements/correlated_normal_noise_2d.h
"
27
#include "
elements/asymmetric_gauss_kernel_2d.h
"
28
#include "
elements/memory_trace_2d.h
"
29
#include "
elements/resize.h
"
30
#include "
elements/resize_2d.h
"
31
#include "
elements/collapse.h
"
32
#include "
elements/expand.h
"
33
34
namespace
dnf_composer::element
35
{
44
class
ElementFactory
45
{
46
private
:
47
std::unordered_map<ElementLabel, std::function<std::shared_ptr<Element>(
48
const
ElementCommonParameters
&,
49
const
ElementSpecificParameters
&)>> elementCreators;
50
public
:
51
ElementFactory
();
52
58
std::shared_ptr<Element>
createElement
(
ElementLabel
type,
59
const
ElementCommonParameters
& elementCommonParameters,
60
const
ElementSpecificParameters
& elementSpecificParameters);
61
65
std::shared_ptr<Element>
createElement
(
ElementLabel
type);
66
private
:
67
void
setupElementCreators();
68
};
69
}
asymmetric_gauss_kernel.h
asymmetric_gauss_kernel_2d.h
boost_stimulus.h
boost_stimulus_2d.h
dnf_composer::element::ElementFactory
Factory that creates concrete Element objects from type labels and parameters.
Definition
element_factory.h:45
dnf_composer::element::ElementFactory::createElement
std::shared_ptr< Element > createElement(ElementLabel type, const ElementCommonParameters &elementCommonParameters, const ElementSpecificParameters &elementSpecificParameters)
Create and return an element of the given type.
Definition
element_factory.cpp:186
dnf_composer::element::ElementFactory::ElementFactory
ElementFactory()
Definition
element_factory.cpp:8
collapse.h
correlated_normal_noise.h
correlated_normal_noise_2d.h
element.h
expand.h
field_coupling.h
gauss_field_coupling.h
gauss_kernel.h
gauss_kernel_2d.h
gauss_stimulus.h
gauss_stimulus_2d.h
memory_trace.h
memory_trace_2d.h
mexican_hat_kernel.h
mexican_hat_kernel_2d.h
dnf_composer::element
Definition
element_parameters.h:10
dnf_composer::element::ElementLabel
ElementLabel
Definition
element_parameters.h:12
neural_field.h
neural_field_2d.h
normal_noise.h
normal_noise_2d.h
oscillatory_kernel.h
oscillatory_kernel_2d.h
resize.h
resize_2d.h
simulation.h
dnf_composer::element::ElementCommonParameters
Definition
element_parameters.h:188
dnf_composer::element::ElementSpecificParameters
Definition
element_parameters.h:206
timed_gauss_stimulus.h
timed_gauss_stimulus_2d.h
Generated by
1.9.8