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
simulation
simulation_file_manager.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <iostream>
4
#include <nlohmann/json.hpp>
5
#include <filesystem>
6
#include <cmath>
7
8
#include "
tools/utils.h
"
9
#include "
simulation/simulation.h
"
10
#include "
elements/neural_field.h
"
11
#include "
elements/gauss_kernel.h
"
12
#include "
elements/mexican_hat_kernel.h
"
13
#include "
elements/normal_noise.h
"
14
#include "
elements/correlated_normal_noise.h
"
15
#include "
elements/field_coupling.h
"
16
#include "
elements/gauss_stimulus.h
"
17
#include "
elements/gauss_field_coupling.h
"
18
#include "
elements/oscillatory_kernel.h
"
19
#include "
elements/asymmetric_gauss_kernel.h
"
20
#include "
elements/boost_stimulus.h
"
21
#include "
elements/memory_trace.h
"
22
#include "
elements/neural_field_2d.h
"
23
#include "
elements/gauss_stimulus_2d.h
"
24
#include "
elements/gauss_kernel_2d.h
"
25
#include "
elements/mexican_hat_kernel_2d.h
"
26
#include "
elements/normal_noise_2d.h
"
27
#include "
elements/oscillatory_kernel_2d.h
"
28
#include "
elements/timed_gauss_stimulus.h
"
29
#include "
elements/timed_gauss_stimulus_2d.h
"
30
#include "
elements/boost_stimulus_2d.h
"
31
#include "
elements/correlated_normal_noise_2d.h
"
32
#include "
elements/asymmetric_gauss_kernel_2d.h
"
33
#include "
elements/memory_trace_2d.h
"
34
#include "
elements/resize.h
"
35
#include "
elements/resize_2d.h
"
36
#include "
elements/collapse.h
"
37
#include "
elements/expand.h
"
38
42
43
namespace
dnf_composer
44
{
45
using
json
= nlohmann::json;
46
71
class
SimulationFileManager
72
{
73
private
:
74
std::shared_ptr<Simulation> simulation;
75
std::string filePath;
76
public
:
85
SimulationFileManager
(
const
std::shared_ptr<Simulation>& simulation,
const
std::string& filePath = {});
86
91
void
saveElementsToJson
()
const
;
92
96
void
loadElementsFromJson
()
const
;
97
98
private
:
99
static
json
elementToJson(
const
std::shared_ptr<element::Element>& element);
100
void
jsonToElements(
const
json
& jsonElements)
const
;
101
};
102
}
asymmetric_gauss_kernel.h
asymmetric_gauss_kernel_2d.h
boost_stimulus.h
boost_stimulus_2d.h
dnf_composer::SimulationFileManager
Serializes and deserializes a Simulation to / from a JSON file.
Definition
simulation_file_manager.h:72
dnf_composer::SimulationFileManager::saveElementsToJson
void saveElementsToJson() const
Serialize all elements and their connections to a JSON file. When filePath is empty the output direct...
Definition
simulation_file_manager.cpp:17
dnf_composer::SimulationFileManager::loadElementsFromJson
void loadElementsFromJson() const
Deserialize elements and connections from a JSON file into the simulation. After loading,...
Definition
simulation_file_manager.cpp:52
collapse.h
correlated_normal_noise.h
correlated_normal_noise_2d.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
Definition
application.h:20
dnf_composer::json
nlohmann::json json
Definition
simulation_file_manager.h:45
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
timed_gauss_stimulus.h
timed_gauss_stimulus_2d.h
utils.h
Generated by
1.9.8