JeVoisBase  1.5
JeVois Smart Embedded Machine Vision Toolkit Base Modules
Share this page:
SaliencyGist Class Reference

Simple saliency map and gist computation module. More...

Inheritance diagram for SaliencyGist:
Collaboration diagram for SaliencyGist:

Public Member Functions

 SaliencyGist (std::string const &instance)
 Constructor. More...
 
virtual ~SaliencyGist ()
 Virtual destructor for safe inheritance. More...
 
virtual void process (jevois::InputFrame &&inframe, jevois::OutputFrame &&outframe) override
 Processing function with video output. More...
 
void pasteGrayMap (jevois::RawImage &outimg, env_image const &fmap, unsigned int &dx, unsigned int bitshift)
 Paste a map and add its width to the dx offset. More...
 
- Public Member Functions inherited from jevois::StdModule
 StdModule (std::string const &instance)
 
virtual ~StdModule ()
 
void sendSerialImg1Dx (unsigned int camw, float x, float size=0.0F, std::string const &id="", std::string const &extra="")
 
void sendSerialStd1Dx (float x, float size=0.0F, std::string const &id="", std::string const &extra="")
 
void sendSerialImg1Dy (unsigned int camh, float y, float size=0.0F, std::string const &id="", std::string const &extra="")
 
void sendSerialStd1Dy (float y, float size=0.0F, std::string const &id="", std::string const &extra="")
 
void sendSerialImg2D (unsigned int camw, unsigned int camh, float x, float y, float w=0.0F, float h=0.0F, std::string const &id="", std::string const &extra="")
 
void sendSerialStd2D (float x, float y, float w=0.0F, float h=0.0F, std::string const &id="", std::string const &extra="")
 
void sendSerialContour2D (unsigned int camw, unsigned int camh, std::vector< cv::Point_< T > > points, std::string const &id="", std::string const &extra="")
 
void sendSerialStd3D (float x, float y, float z, float w=0.0F, float h=0.0F, float d=0.0F, float q1=0.0F, float q2=0.0F, float q3=0.0f, float q4=0.0F, std::string const &id="", std::string const &extra="")
 
void sendSerialStd3D (std::vector< cv::Point3f > points, std::string const &id="", std::string const &extra="")
 
- Public Member Functions inherited from jevois::Module
 Module (std::string const &instance)
 
virtual ~Module ()
 
virtual void process (InputFrame &&inframe)
 
virtual void sendSerial (std::string const &str)
 
virtual void parseSerial (std::string const &str, std::shared_ptr< UserInterface > s)
 
virtual void supportedCommands (std::ostream &os)
 
 JEVOIS_DEFINE_ENUM_CLASS (SerStyle,(Terse)(Normal)(Detail)(Fine)) JEVOIS_DECLARE_PARAMETER(serstyle
 
 JEVOIS_DECLARE_PARAMETER (serprec, unsigned int, "Number of decimal points in standardized serial messages as " "defined in http://jevois.org/doc/UserSerialStyle.html", 0U, ParamCateg)
 
- Public Member Functions inherited from jevois::Component
 Component (std::string const &instance)
 
virtual ~Component ()
 
std::shared_ptr< ComponentgetSubComponent (std::string const &instance) const
 
std::shared_ptr< Comp > addSubComponent (std::string const &instance, Args &&...args)
 
void removeSubComponent (std::shared_ptr< Comp > &component)
 
void removeSubComponent (std::string const &instance, bool warnIfNotFound=true)
 
std::shared_ptr< Comp > getSubComponent (std::string const &instance) const
 
bool isTopLevel () const
 
bool initialized () const
 
std::string const & className () const
 
std::string const & instanceName () const
 
std::vector< std::string > setParamVal (std::string const &paramdescriptor, T const &val)
 
void setParamValUnique (std::string const &paramdescriptor, T const &val)
 
std::vector< std::pair< std::string, T > > getParamVal (std::string const &paramdescriptor) const
 
getParamValUnique (std::string const &paramdescriptor) const
 
std::vector< std::string > setParamString (std::string const &paramdescriptor, std::string const &val)
 
void setParamStringUnique (std::string const &paramdescriptor, std::string const &val)
 
std::vector< std::pair< std::string, std::string > > getParamString (std::string const &paramdescriptor) const
 
std::string getParamStringUnique (std::string const &paramdescriptor) const
 
void freezeParam (std::string const &paramdescriptor)
 
void unFreezeParam (std::string const &paramdescriptor)
 
void freezeAllParams ()
 
void unFreezeAllParams ()
 
std::string descriptor () const
 
void setParamsFromFile (std::string const &filename)
 
std::istream & setParamsFromStream (std::istream &is, std::string const &absfile)
 
void setPath (std::string const &path)
 
std::string absolutePath (std::string const &path="")
 
std::shared_ptr< Comp > addSubComponent (std::string const &instance, Args &&...args)
 
void removeSubComponent (std::shared_ptr< Comp > &component)
 
void removeSubComponent (std::string const &instance, bool warnIfNotFound=true)
 
std::shared_ptr< Comp > getSubComponent (std::string const &instance) const
 
bool isTopLevel () const
 
bool initialized () const
 
std::string const & className () const
 
std::string const & instanceName () const
 
std::vector< std::string > setParamVal (std::string const &paramdescriptor, T const &val)
 
void setParamValUnique (std::string const &paramdescriptor, T const &val)
 
std::vector< std::pair< std::string, T > > getParamVal (std::string const &paramdescriptor) const
 
getParamValUnique (std::string const &paramdescriptor) const
 
std::vector< std::string > setParamString (std::string const &paramdescriptor, std::string const &val)
 
void setParamStringUnique (std::string const &paramdescriptor, std::string const &val)
 
std::vector< std::pair< std::string, std::string > > getParamString (std::string const &paramdescriptor) const
 
std::string getParamStringUnique (std::string const &paramdescriptor) const
 
void freezeParam (std::string const &paramdescriptor)
 
void unFreezeParam (std::string const &paramdescriptor)
 
void freezeAllParams ()
 
void unFreezeAllParams ()
 
std::string descriptor () const
 
void setParamsFromFile (std::string const &filename)
 
std::istream & setParamsFromStream (std::istream &is, std::string const &absfile)
 
void setPath (std::string const &path)
 
std::string absolutePath (std::string const &path="")
 
- Public Member Functions inherited from jevois::ParameterRegistry
virtual ~ParameterRegistry ()
 

Protected Attributes

std::shared_ptr< SaliencyitsSaliency
 
std::shared_ptr< Kalman2DitsKF
 

Additional Inherited Members

- Protected Member Functions inherited from jevois::Component
virtual void preInit ()
 
virtual void postInit ()
 
virtual void preUninit ()
 
virtual void postUninit ()
 
virtual void preInit ()
 
virtual void postInit ()
 
virtual void preUninit ()
 
virtual void postUninit ()
 
- Protected Member Functions inherited from jevois::ParameterRegistry
void addParameter (ParameterBase *const param)
 
void removeParameter (ParameterBase *const param)
 
void callbackInitCall ()
 

Detailed Description

Simple saliency map and gist computation module.

Computes a saliency map and gist, intended for use by machines.

See the DemoSaliency modute for more explanations about saliency and gist algorithms and for a demo output intended for human viewing.

What is returned depends on the selected output image resolution; it should always be grayscale, and can contain any of:

  • saliency map only
  • saliency + gist
  • saliency + feature maps
  • saliency + feature maps + gist

See the example video mappings provided with this module for sample resolutions and the associated elements that are returned.

Serial Messages

This module can send standardized serial messages as described in Standardized serial messages formatting. One message is issued on every video frame at the temporally filtered attended location. The id field in the messages simply is salient for all messages.

Author
Laurent Itti
Videomapping:
GREY 120 25 60.0 YUYV 320 240 60.0 JeVois SaliencyGist # saliency + feature maps + gist
Videomapping:
GREY 120 15 60.0 YUYV 320 240 60.0 JeVois SaliencyGist # saliency + feature maps
Videomapping:
GREY 20 73 60.0 YUYV 320 240 60.0 JeVois SaliencyGist # saliency + gist
Videomapping:
GREY 20 15 60.0 YUYV 320 240 60.0 JeVois SaliencyGist # saliency only
Videomapping:
GREY 72 16 60.0 YUYV 320 240 60.0 JeVois SaliencyGist # gist only
Email:
itti@usc.edu
Address:
University of Southern California, HNB-07A, 3641 Watt Way, Los Angeles, CA 90089-2520, USA
Main URL:
http://jevois.org
Support URL:
http://jevois.org/doc
Other URL:
http://iLab.usc.edu
License:
GPL v3
Distribution:
Unrestricted
Restrictions:
None

Definition at line 77 of file SaliencyGist.C.

Constructor & Destructor Documentation

◆ SaliencyGist()

SaliencyGist::SaliencyGist ( std::string const &  instance)
inline

Constructor.

Definition at line 81 of file SaliencyGist.C.

References itsKF, and itsSaliency.

◆ ~SaliencyGist()

virtual SaliencyGist::~SaliencyGist ( )
inlinevirtual

Virtual destructor for safe inheritance.

Definition at line 88 of file SaliencyGist.C.

Member Function Documentation

◆ pasteGrayMap()

void SaliencyGist::pasteGrayMap ( jevois::RawImage outimg,
env_image const &  fmap,
unsigned int &  dx,
unsigned int  bitshift 
)
inline

Paste a map and add its width to the dx offset.

Beware this is for a gray outimg only.

Definition at line 180 of file SaliencyGist.C.

References env_image::dims, env_dims::h, jevois::RawImage::height, LFATAL, env_image::pixels, jevois::RawImage::pixelsw(), env_dims::w, and jevois::RawImage::width.

Referenced by process().

◆ process()

virtual void SaliencyGist::process ( jevois::InputFrame &&  inframe,
jevois::OutputFrame &&  outframe 
)
inlineoverridevirtual

Processing function with video output.

Reimplemented from jevois::Module.

Definition at line 91 of file SaliencyGist.C.

References jevois::RawImage::height, itsKF, itsSaliency, LFATAL, pasteGrayMap(), jevois::RawImage::require(), jevois::StdModule::sendSerialStd2D(), and jevois::RawImage::width.

Member Data Documentation

◆ itsKF

std::shared_ptr<Kalman2D> SaliencyGist::itsKF
protected

Definition at line 208 of file SaliencyGist.C.

Referenced by process(), and SaliencyGist().

◆ itsSaliency

std::shared_ptr<Saliency> SaliencyGist::itsSaliency
protected

Definition at line 207 of file SaliencyGist.C.

Referenced by process(), and SaliencyGist().


The documentation for this class was generated from the following file: