
#include <Channels/SoxChannel.H>
Inheritance diagram for SoxChannel:


This class implements a pool of orientation-tuned units whose responses are shaped by divisive inhibition in proportion to population activity.
Definition at line 48 of file SoxChannel.H.
Public Member Functions | |
| SoxChannel (OptionManager &mgr) | |
| Construct. | |
| virtual | ~SoxChannel () |
| Virtual destructor. | |
| uint | numScales () const |
| Get the number of scales used. | |
| Image< float > | getLinearResponse (int ori, int scl) |
| Get the linear response of the units for a given orientation+scale. | |
| Image< float > | getNonlinearResponse (int ori, int scl) |
| Get the non-linear response of the units for a given orientation+scale. | |
| nub::ref< GaborChannel > | gabor (const uint idx) const |
| Wraps ComplexChannel's subChan() and casts the result to GaborChannel. | |
Protected Member Functions | |
| void | buildSubChans () |
| (re-)build our subchannels | |
| virtual void | doInput (const InputFrame &inframe) |
| SoxChannel requires only luminance input. | |
| virtual Image< float > | combineOutputs () |
| Combine all of the nonlinear responses. | |
| virtual void | killCaches () |
| Clear our cached inhibitory pool maps. | |
| virtual void | paramChanged (ModelParamBase *const param, const bool valueChanged, ParamClient::ChangeStatus *status) |
| Overload so that we can reconfigure when our params get changed. | |
Protected Attributes | |
| OModelParam< uint > | itsNumOrients |
| number of Gabor subchannels | |
| OModelParam< double > | thetaPoolWidth |
| OModelParam< double > | omegaPoolWidth |
| OModelParam< double > | inhibExponent |
| OModelParam< double > | excitExponent |
| OModelParam< double > | semiSaturation |
| OModelParam< double > | cutoff |
Classes | |
| struct | CacheElem |
|
|
Construct.
Definition at line 111 of file SoxChannel.C. References buildSubChans(), and OptionManager::requestOptionAlias(). |
|
|
Virtual destructor.
Definition at line 175 of file SoxChannel.C. |
|
|
(re-)build our subchannels
Definition at line 129 of file SoxChannel.C. References ComplexChannel::addSubChan(), ModelComponent::getManager(), OModelParam< T >::getVal(), itsNumOrients, LINFO, makeSharedComp(), MC_RECURSE, and ComplexChannel::removeAllSubChans(). Referenced by paramChanged(), and SoxChannel(). |
|
|
Combine all of the nonlinear responses.
Reimplemented from ComplexChannel. Definition at line 283 of file SoxChannel.C. References ComplexChannel::getMapDims(), getNonlinearResponse(), OModelParam< T >::getVal(), ComplexChannel::itsNormType, maxNormalize(), MAXNORMMAX, MAXNORMMIN, ComplexChannel::numChans(), numScales(), rescale(), VCXNORM_MAXNORM, and ZEROS. |
|
|
SoxChannel requires only luminance input.
Implements ChannelBase. Definition at line 183 of file SoxChannel.C. References ASSERT, gabor(), InputFrame::grayFloat(), Image< T >::initialized(), LINFO, and ComplexChannel::numChans(). |
|
|
Wraps ComplexChannel's subChan() and casts the result to GaborChannel.
Definition at line 171 of file SoxChannel.C. References ComplexChannel::subChan(). Referenced by doInput(), getLinearResponse(), getNonlinearResponse(), and numScales(). |
|
||||||||||||
|
Get the linear response of the units for a given orientation+scale.
Definition at line 196 of file SoxChannel.C. References ASSERT, gabor(), and Image< T >::initialized(). Referenced by getNonlinearResponse(). |
|
||||||||||||
|
Get the non-linear response of the units for a given orientation+scale. This is (rougly speaking) given by a power of the linear response, divided by an inhibitory term that pools over all orientations and scales. Definition at line 204 of file SoxChannel.C. References ASSERT, Image< T >::clear(), cutoff, excitExponent, exp(), gabor(), Image< T >::getDims(), ChannelBase::getInputDims(), getLinearResponse(), OModelParam< T >::getVal(), Image< T >::getWidth(), Image< T >::initialized(), inplaceAddWeighted(), LDEBUG, LINFO, log(), NO_INIT, ComplexChannel::numChans(), numScales(), omegaPoolWidth, semiSaturation, squareOf(), thetaPoolWidth, toPower(), and Dims::w(). Referenced by combineOutputs(). |
|
|
Clear our cached inhibitory pool maps.
Reimplemented from ComplexChannel. Definition at line 306 of file SoxChannel.C. References ComplexChannel::killCaches(). |
|
|
Get the number of scales used.
Definition at line 179 of file SoxChannel.C. References gabor(). Referenced by combineOutputs(), and getNonlinearResponse(). |
|
||||||||||||||||
|
Overload so that we can reconfigure when our params get changed.
Reimplemented from ModelComponent. Definition at line 157 of file SoxChannel.C. References buildSubChans(), OModelParam< T >::getVal(), itsNumOrients, ComplexChannel::numChans(), and ModelComponent::paramChanged(). |
|
|
number of Gabor subchannels
Definition at line 73 of file SoxChannel.H. Referenced by buildSubChans(), and paramChanged(). |
1.4.4