|
| std::shared_ptr< Element > | clone () const override |
| |
| OscillatoryKernel2DParameters | getParameters () const |
| |
| void | init () override |
| | Initialize the element (called once before the simulation loop).
|
| |
| | OscillatoryKernel2D (const ElementCommonParameters &elementCommonParameters, const OscillatoryKernel2DParameters ¶meters) |
| |
| void | setParameters (const OscillatoryKernel2DParameters ¶meters) |
| |
| void | step (double t, double deltaT) override |
| | Advance the element by one time step.
|
| |
| std::string | toString () const override |
| |
| std::vector< int > | getExtIndex () const |
| | Return the extended index used for circular convolution.
|
| |
| std::array< int, 2 > | getKernelRange () const |
| | Return the non-negligible index range [min, max] of the kernel.
|
| |
| | Kernel (const ElementCommonParameters &elementCommonParameters) |
| |
| | ~Kernel () override=default |
| |
| 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 |
| |
|
| int | cutOfFactor |
| | Controls how far from the centre the kernel is truncated.
|
| |
| std::vector< int > | extIndex |
| | Extended index array for circular (toroidal) convolution.
|
| |
| double | fullSum |
| | Spatial integral of the kernel (used for global inhibition baseline).
|
| |
| std::array< int, 2 > | kernelRange |
| | [min, max] index range of the non-negligible kernel support.
|
| |
| ElementCommonParameters | commonParameters |
| | Name, label, and spatial dimensions.
|
| |
| std::unordered_map< std::string, std::vector< double > > | components |
| | Named data arrays (e.g. "output").
|
| |
| std::unordered_map< std::shared_ptr< Element >, std::string > | inputs |
| | Upstream elements and the component they expose.
|
| |
| std::unordered_map< std::shared_ptr< Element >, std::string > | outputs |
| | Downstream elements that read this element's output.
|
| |
2D oscillatory lateral-interaction kernel using separable convolution.
Applies the same 1D oscillatory kernel independently along x and y via separable 2D convolution, producing an isotropic oscillatory interaction pattern on 2D neural fields. The effective 2D kernel is the outer product of the two 1D kernels. Suitable for architectures that require rhythmic lateral interactions in a 2D spatial domain.
- Parameters
-
| elementCommonParameters | Common parameters (id, 2D dimensions). |
| parameters | Oscillatory kernel parameters. |