
#include <Neuro/WinnerTakeAll.H>
Inheritance diagram for WinnerTakeAllTempNote:


This is a trivial winner-take-all implementation, based on a 2D layer of LeakyIntFire neurons and a unique global inhibitory neuron. All neurons in the layer charge up in parallel; whenever one reaches threshold, it activates the inhibitory interneuron (which is connected to all neurons in the layer), which in turn resets all neurons in the layer. WinnerTakeAllStd is an Image<LeakyIntFire> and inherits all the standard methods of class Image. To avoid confusion, we here add explicit input() and getV() methods (rather than providing conversion functions between LeakyIntFire and float, which could make the process more transparent but also possibly more confusing).
Definition at line 350 of file WinnerTakeAll.H.
Public Member Functions | |
| WinnerTakeAllTempNote (OptionManager &mgr, const std::string &descrName="Winner-Take-All Temporal Noticing", const std::string &tagName="WinnerTakeAllTempNote") | |
| Ininitialized constructor. | |
| virtual | ~WinnerTakeAllTempNote () |
| Destructor. | |
| virtual void | reset1 () |
| Reset to initial state just after construction. | |
Protected Member Functions | |
| virtual void | input (const Image< float > &in) |
| Set new input currents for all neurons. | |
| virtual Image< float > | getV () const |
| Return all our membrane potential voltages as an Image<float>. | |
| virtual void | saccadicSuppression (const bool on) |
| Turn saccadic suppression on/off. | |
| virtual void | blinkSuppression (const bool on) |
| Turn blink suppression on/off. | |
| Image< float > | getVth (const bool normalize=false) const |
| virtual void | integrate (const SimTime &t, Point2D< int > &winner) |
| Integrate inputs until time t (in s) and update membrane potentials. | |
| void | inhibit () |
| virtual void | save1 (const ModelComponentSaveInfo &sinfo) |
| Save our various results. | |
Protected Attributes | |
| Image< LeakyIntFireAdp > | itsNeurons |
| segmentImageMC2< float, unsigned int, 1 > | itsMaskSegment |
| Use the color segmenter to find a good mask region around winner. | |
| std::vector< float > | itsLowMaskBound |
| std::vector< float > | itsHighMaskBound |
| Image< float > | itsInitMask |
| LeakyIntFire | itsGIN |
| SimTime | itsT |
| float | itsGleak |
| float | itsGinh |
| float | itsGinput |
|
||||||||||||||||
|
Ininitialized constructor. The WTA will be resized and initialized the first time input() is called Definition at line 561 of file WinnerTakeAll.C. References GVX_TRACE, itsGIN, itsGleak, itsHighMaskBound, itsLowMaskBound, and LeakyIntFire::setGleak(). |
|
|
Destructor.
Definition at line 575 of file WinnerTakeAll.C. References GVX_TRACE. |
|
|
Turn blink suppression on/off.
Reimplemented from WinnerTakeAllStd. Definition at line 765 of file WinnerTakeAll.C. References OModelParam< T >::getVal(), GVX_TRACE, inhibit(), WinnerTakeAllAdapter::itsUseBlinkSuppression, and LINFO. |
|
|
Return all our membrane potential voltages as an Image<float>. The curent values are possibly normalized to 0..255. The normalization will use itsSalmapFactor if it is non-null Reimplemented from WinnerTakeAllStd. Definition at line 710 of file WinnerTakeAll.C. References Image< T >::begin(), Image< T >::beginw(), Image< T >::endw(), Image< T >::getDims(), GVX_TRACE, itsNeurons, NO_INIT, and ModelComponent::stop(). |
|
|
Set new input currents for all neurons. This will initialize and resize the network if the network is currently uninitialized (e.g., just after construction or reset()). Reimplemented from WinnerTakeAllStd. Definition at line 594 of file WinnerTakeAll.C. References Image< T >::beginw(), Image< T >::endw(), Image< T >::getDims(), Image< T >::getHeight(), Image< T >::getWidth(), GVX_TRACE, height, Image< T >::initialized(), itsGinh, itsGleak, itsHighMaskBound, itsInitMask, itsLowMaskBound, itsMaskSegment, itsNeurons, Image< T >::resize(), segmentImageMC2::SIsetAvg(), segmentImageMC2::SIsetFrame(), segmentImageMC2::SIsetValThresh(), segmentImageMC2::SItoggleCandidateBandPass(), ModelComponent::stop(), width, and ZEROS. |
|
||||||||||||
|
Integrate inputs until time t (in s) and update membrane potentials.
Reimplemented from WinnerTakeAllStd. Definition at line 624 of file WinnerTakeAll.C. References Image< T >::begin(), Image< T >::beginw(), SimTime::computeDeltaT(), Image< T >::getHeight(), LeakyIntFire::getTimeStep(), LeakyIntFireAdp::getV(), Image< T >::getVal(), LeakyIntFireAdp::getVfire(), Image< T >::getWidth(), GVX_TRACE, h, i, Point2D< T >::i, inhibit(), LeakyIntFire::integrate(), itsGIN, itsGinput, itsGleak, itsInitMask, WinnerTakeAllAdapter::itsInputCopy, itsMaskSegment, itsNeurons, itsT, Point2D< T >::j, LINFO, LeakyIntFire::setG(), segmentImageMC2::SIreturnBlobs(), segmentImageMC2::SIreturnNormalizedCandidates(), segmentImageMC2::SIsegment(), sqrt(), and w. |
|
|
Reset to initial state just after construction.
Reimplemented from WinnerTakeAllStd. Definition at line 581 of file WinnerTakeAll.C. References Image< T >::freeMem(), GVX_TRACE, itsGinh, itsGinput, itsGleak, itsNeurons, itsT, WinnerTakeAllStd::reset1(), and SimTime::ZERO(). |
|
|
Turn saccadic suppression on/off.
Reimplemented from WinnerTakeAllStd. Definition at line 756 of file WinnerTakeAll.C. References OModelParam< T >::getVal(), GVX_TRACE, inhibit(), WinnerTakeAllAdapter::itsUseSaccadicSuppression, and LINFO. |
|
|
Save our various results.
Reimplemented from ModelComponent. Definition at line 774 of file WinnerTakeAll.C. References FLOAT_NORM_0_255, FLOAT_NORM_PRESERVE, getVth(), GVX_TRACE, itsInitMask, and SRC_POS. |
|
|
Use the color segmenter to find a good mask region around winner.
Definition at line 390 of file WinnerTakeAll.H. Referenced by input(), and integrate(). |
1.4.4