|
| std::shared_ptr< Element > | clone () const override |
| |
| std::vector< NeuralFieldBump > | getBumps () const |
| | Return all currently detected above-threshold bumps.
|
| |
| bool | getComputeStateMetrics () const |
| |
| double | getHighestActivation () const |
| |
| double | getLowestActivation () const |
| |
| NeuralFieldParameters | getParameters () const |
| |
| std::shared_ptr< Kernel > | getSelfExcitationKernel () const |
| | Return the registered self-excitation kernel, if any.
|
| |
| double | getStabilityThreshold () const |
| |
| void | init () override |
| | Initialize the element (called once before the simulation loop).
|
| |
| bool | isStable () const |
| |
| | NeuralField (const ElementCommonParameters &elementCommonParameters, const NeuralFieldParameters ¶meters) |
| | Construct a neural field.
|
| |
| void | setComputeStateMetrics (bool enable) |
| | Enable or disable per-step state-metric computation (stability, bumps, min/max). The default (enabled) path uses a single fused O(N) pass and is fast enough for normal use. Disable only as an advanced micro-optimisation for headless batch runs where bump data and stability checks are never needed. Default: true (full state tracking enabled).
|
| |
| void | setParameters (const NeuralFieldParameters ¶meters) |
| |
| void | setThresholdForStability (const double threshold) |
| | Set the stability convergence threshold.
|
| |
| void | step (double t, double deltaT) override |
| | Advance the element by one time step.
|
| |
| std::string | toString () const override |
| |
| virtual void | addInput (const std::shared_ptr< Element > &inputElement, const std::string &inputComponent="output") |
| | Register inputElement as an upstream source for this element.
|
| |
| void | buildInputCache () |
| | Cache raw pointers to input component data. Call after all element init()s complete.
|
| |
| virtual void | changeDimensions (const ElementDimensions &newDimensions) |
| | Resize all components to newDimensions and re-initialize.
|
| |
| void | close () |
| |
| | Element (const ElementCommonParameters ¶meters) |
| | Construct an element with the given common parameters.
|
| |
| std::vector< double > | getComponent (const std::string &componentName) |
| | Return a copy of the named component vector.
|
| |
| std::vector< std::string > | getComponentList () const |
| |
| std::vector< double > * | getComponentPtr (const std::string &componentName) |
| |
| const std::unordered_map< std::string, std::vector< double > > * | getComponents () const |
| | Return a read-only pointer to the full components map.
|
| |
| ElementCommonParameters | getElementCommonParameters () const |
| |
| std::vector< std::shared_ptr< Element > > | getInputs () |
| |
| std::unordered_map< std::shared_ptr< Element >, std::string > | getInputsAndComponents () |
| | Return all inputs mapped to the component name they expose.
|
| |
| ElementLabel | getLabel () const |
| |
| int | getMaxSpatialDimension () const |
| |
| std::vector< std::shared_ptr< Element > > | getOutputs () |
| |
| int | getSize () const |
| | Return the number of spatial samples (size = round(x_max / d_x)).
|
| |
| double | getStepSize () const |
| | Return the spatial resolution (d_x).
|
| |
| int | getUniqueIdentifier () const |
| |
| std::string | getUniqueName () const |
| |
| bool | hasInput () const |
| |
| bool | hasInput (const std::string &inputElementName, const std::string &inputComponent) |
| |
| bool | hasInput (int inputElementId, const std::string &inputComponent) |
| |
| bool | hasOutput () const |
| |
| bool | hasOutput (const std::string &outputElementName, const std::string &outputComponent) |
| |
| bool | hasOutput (int outputElementId, const std::string &outputComponent) |
| |
| void | print () const |
| |
| void | removeInput (const std::string &inputElementId) |
| |
| void | removeInput (int uniqueId) |
| |
| void | removeInputs () |
| |
| void | removeOutput (const std::string &outputElementId) |
| | Deregister this element as an input of outputElementId.
|
| |
| void | removeOutput (int uniqueId) |
| | Deregister this element as an input of the element with uniqueId.
|
| |
| void | removeOutputs () |
| |
| void | setUniqueName (const std::string &name) |
| |
| void | updateInput () |
| | Pull data from all registered input elements into this element's components.
|
| |
| virtual | ~Element ()=default |
| |
Continuous attractor neural field — the core DFT building block.
Implements a one-dimensional neural field with Amari-type dynamics:
tau * du/dt = -u + h + s(x, t) + (w * f(u))(x)
where u is activation, h the resting level, s the summed external input, and w the lateral interaction kernel convolved with the output f(u) (determined by the activation function).