SoxChannel Class Reference

A short-range orientation interactions channel. More...

#include <Channels/SoxChannel.H>

Inheritance diagram for SoxChannel:
Inheritance graph
[legend]
Collaboration diagram for SoxChannel:
Collaboration graph
[legend]

List of all members.

Classes

struct  CacheElem

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< GaborChannelgabor (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< uintitsNumOrients
 number of Gabor subchannels
OModelParam< double > thetaPoolWidth
OModelParam< double > omegaPoolWidth
OModelParam< double > inhibExponent
OModelParam< double > excitExponent
OModelParam< double > semiSaturation
OModelParam< double > cutoff

Detailed Description

A short-range orientation interactions channel.

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.


Constructor & Destructor Documentation

SoxChannel::SoxChannel ( OptionManager mgr  ) 

Construct.

Definition at line 111 of file SoxChannel.C.

References buildSubChans(), and OptionManager::requestOptionAlias().

SoxChannel::~SoxChannel (  )  [virtual]

Virtual destructor.

Definition at line 175 of file SoxChannel.C.


Member Function Documentation

void SoxChannel::buildSubChans (  )  [protected]
Image< float > SoxChannel::combineOutputs (  )  [protected, virtual]
void SoxChannel::doInput ( const InputFrame inframe  )  [protected, virtual]

SoxChannel requires only luminance input.

Implements ChannelBase.

Definition at line 183 of file SoxChannel.C.

References ASSERT, gabor(), Image< T >::initialized(), and ComplexChannel::numChans().

nub::ref< GaborChannel > SoxChannel::gabor ( const uint  idx  )  const

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().

Image< float > SoxChannel::getLinearResponse ( int  ori,
int  scl 
)

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().

Image< float > SoxChannel::getNonlinearResponse ( int  ori,
int  scl 
)

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, exp(), gabor(), Image< T >::getDims(), ChannelBase::getInputDims(), getLinearResponse(), OModelParam< T >::getVal(), Image< T >::getWidth(), Image< T >::initialized(), inplaceAddWeighted(), log(), NO_INIT, ComplexChannel::numChans(), numScales(), squareOf(), toPower(), and Dims::w().

Referenced by combineOutputs().

void SoxChannel::killCaches (  )  [protected, virtual]

Clear our cached inhibitory pool maps.

Reimplemented from ComplexChannel.

Definition at line 306 of file SoxChannel.C.

uint SoxChannel::numScales (  )  const

Get the number of scales used.

Definition at line 179 of file SoxChannel.C.

References gabor().

Referenced by combineOutputs(), and getNonlinearResponse().

void SoxChannel::paramChanged ( ModelParamBase *const   param,
const bool  valueChanged,
ParamClient::ChangeStatus status 
) [protected, virtual]

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, and ComplexChannel::numChans().


Member Data Documentation

number of Gabor subchannels

Definition at line 73 of file SoxChannel.H.

Referenced by buildSubChans(), and paramChanged().


The documentation for this class was generated from the following files:
Generated on Sun May 8 08:43:49 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3