Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Sampler Class Reference

Utility for sampling images (2D data), outputting formatted text data. More...

#include <Sampler.h>

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

Public Member Functions

 Sampler (const Sampler &sampler)
 
char getCommentChar () const
 Returns character, also supporting numeric ASCII values between 32 and 128.
 
std::string getFormat (const std::string &formatStr) const
 Use given format or generate default "${var},${var2}, ...".
 
template<class D , class P >
void sample (const std::map< std::string, D > &images, const P &picker, const std::string &formatStr, std::ostream &ostr=std::cout) const
 Main function.
 
- Public Member Functions inherited from BeanLike
 BeanLike (const BeanLike &b)
 Copy constructor. Re-links parameters to the member variables of this (new) instance.
 
 BeanLike (const std::string &name, const std::string &description="")
 Constructor.
 
virtual const std::string & getName () const
 Return the name of an instance.
 
virtual const std::string & getDescription () const
 Return a brief description.
 
bool hasParameters () const
 Tells if any parameters have been linked (registered) for this bean.
 
template<class F >
F getParameter (const std::string &p) const
 Gets a single parameter.
 
const map_t & getParameters () const
 Returns the parameter map (const access).
 
map_t & getParameters ()
 Returns the parameter map.
 
template<class F >
void setParametersFromEntries (const F &args)
 Sets several parameters at once from a sequence of key-value pairs.
 
void setParameters (std::initializer_list< Variable::init_pair_t > args)
 Grants access to (if above hidden)
 
virtual void setParameters (const std::string &p, char assignmentSymbol='=', char separatorSymbol=0)
 Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2".
 
template<class T >
void setParameters (const std::map< std::string, T > &args)
 Set parameters.
 
template<class T >
void setParameters (const SmartMap< T > &args)
 Set parameters.
 
void setParameter (const std::string &p, const Castable &value)
 Sets a single parameter.
 
template<class T >
void setParameter (const std::string &p, const VariableT< T > &value)
 
template<class F >
void setParameter (const std::string &p, const F &value)
 Sets a single parameter.
 
template<class F >
void setParameter (const std::string &p, std::initializer_list< F > value)
 Sets a single parameter.
 
BeanLike & operator= (const BeanLike &b)
 Assigns the parameter values of another bean (by key) to this one's own parameters.
 
virtual std::ostream & toStream (std::ostream &ostr, bool compact=true) const
 Prints the name, description and current parameter values.
 

Public Attributes

int iStep = 10
 
int jStep = 0
 
drain::Range< int > iRange = {-1,1}
 
drain::Range< int > jRange = {-1,1}
 
std::string commentPrefix = "#"
 Escape std::string for prefixing text no to be handled as data values.
 
bool skipVoid = false
 Skip lines, if contain missing values.
 
std::string voidComment = "void"
 
std::string handleVoid = "null"
 
ReferenceMap2 variableMap
 Interface that links coordinates and image data.
 

Additional Inherited Members

- Public Types inherited from BeanLike
typedef ReferenceMap map_t
 Reference map type used to store this bean's parameters (name -> linked variable).
 
- Protected Member Functions inherited from BeanLike
virtual void storeLastArguments (const std::string &p)
 Called after setParameters()
 
virtual void updateBean () const
 Called after setParameters()
 
- Protected Attributes inherited from BeanLike
const std::string name
 Name of this bean, typically also the name of the (derived) class.
 
const std::string description
 Brief, human-readable description of this bean.
 
map_t parameters
 Parameters (name -> linked variable), typically linked to member variables of the derived class.
 

Detailed Description

Utility for sampling images (2D data), outputting formatted text data.

If the commentChar has been defined, the first line contains the applied format std::string (default or user-defined) and other metadata.

Member Function Documentation

◆ getFormat()

std::string getFormat ( const std::string &  formatStr) const

Use given format or generate default "${var},${var2}, ...".

If format not explicitly set, use all the variables => create default format.

◆ sample()

template<class D , class P >
void sample ( const std::map< std::string, D > &  images,
const P &  picker,
const std::string &  formatStr,
std::ostream &  ostr = std::cout 
) const
inline

Main function.

Template Parameters
D- applied data type (e.g. Channel or ImageFrame), for which P::getValue(T &data) is implemented.
P- picker derived from class Picker, implements getValue(T &data).

Modifies this->variableMap by adding an entry corresponding to the key of each data source.

No referencing of coordinates is done by Sampler because applications might prefer derived variables like j2=(height-1-j) or geographical coordinates. Set them in Picker.

Final formatter defined here, to copy ostr precision etc.

Write header, if commentChar has been set.


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