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
kernel.h
Go to the documentation of this file.
1#pragma once
2
3#include "element.h"
4#include <array>
5
7{
16 class Kernel : public Element
17 {
18 protected:
19 std::array<int, 2> kernelRange;
20 std::vector<int> extIndex;
21 double fullSum;
23 public:
24 Kernel(const ElementCommonParameters& elementCommonParameters);
25 ~Kernel() override = default;
26
28 std::array<int, 2> getKernelRange() const;
29
31 std::vector<int> getExtIndex() const;
32 };
33}
Abstract base class for all simulation elements.
Definition element.h:28
Abstract base class for all convolution-based interaction kernels.
Definition kernel.h:17
std::array< int, 2 > kernelRange
[min, max] index range of the non-negligible kernel support.
Definition kernel.h:19
int cutOfFactor
Controls how far from the centre the kernel is truncated.
Definition kernel.h:22
std::vector< int > getExtIndex() const
Return the extended index used for circular convolution.
Definition kernel.cpp:23
std::array< int, 2 > getKernelRange() const
Return the non-negligible index range [min, max] of the kernel.
Definition kernel.cpp:18
std::vector< int > extIndex
Extended index array for circular (toroidal) convolution.
Definition kernel.h:20
double fullSum
Spatial integral of the kernel (used for global inhibition baseline).
Definition kernel.h:21
~Kernel() override=default
Definition element_parameters.h:10
Definition element_parameters.h:188