Public Member Functions | Public Attributes | Protected Attributes | List of all members
FuzzyStep< T > Class Template Reference

A basic, linear transition from 0 to scale between (start) and (end) . More...

#include <Fuzzy.h>

Inheritance diagram for FuzzyStep< T >:
Inheritance graph
[legend]
Collaboration diagram for FuzzyStep< T >:
Collaboration graph
[legend]

Public Member Functions

 FuzzyStep (T startPos=-1.0, T endPos=1.0, double scale=1.0, double bias=0.0)
 Constructor. More...
 
 FuzzyStep (const FuzzyStep< T > &f)
 
void set (double rangeMin, double rangeMax, double scale=1.0, double bias=0.0)
 
void set (const drain::Range< double > &r, double scale=1.0, double bias=0.0)
 
virtual void updateBean () const override
 Called after setParameters()
 
virtual double operator() (double x) const
 
- Public Member Functions inherited from Fuzzifier< T >
 Fuzzifier (const std::string &name, const std::string &description="", double scale=1.0, double bias=0.0)
 
- Public Member Functions inherited from UnaryFunctor
 UnaryFunctor (const std::string &name, const std::string &description="", double scale=1.0, double bias=0.0)
 
- Public Member Functions inherited from Functor
void setScale (double scale, double bias=0.0)
 
- Public Member Functions inherited from BeanLike
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
 
template<class F >
getParameter (const std::string &p) const
 Gets a single parameter.
 
const ReferenceMapgetParameters () const
 
ReferenceMapgetParameters ()
 
template<class F >
void setParametersFromEntries (const F &args)
 
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". More...
 
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. More...
 
template<class F >
void setParameter (const std::string &p, std::initializer_list< F > value)
 Sets a single parameter.
 
BeanLikeoperator= (const BeanLike &b)
 
virtual std::ostream & toStream (std::ostream &ostr, bool compact=true) const
 
 BeanLike (const BeanLike &b)
 
 BeanLike (const std::string &name, const std::string &description="")
 

Public Attributes

drain::Range< double > range
 
- Public Attributes inherited from Fuzzifier< T >
bool INVERSE
 Updates internal variables. Should be called after modifying public members.
 

Protected Attributes

double span
 
drain::Range< double > finalRange
 
- Protected Attributes inherited from Functor
double scale
 Relative scale, typically 1. Optional.
 
double bias
 "Relative" bias, typically 0. Optional.
 
double scaleFinal
 Scaling factor after encodings of src and dst images are known.
 
double biasFinal
 Scaling factor after encodings of src and dst images are known.
 
- Protected Attributes inherited from BeanLike
const std::string name
 
const std::string description
 
ReferenceMap parameters
 

Additional Inherited Members

- Protected Member Functions inherited from Fuzzifier< T >
virtual void updateScale () const
 
- Protected Member Functions inherited from Functor
 Functor (const std::string &name, const std::string &description="", double scale=1.0, double bias=0.0)
 
 Functor (const Functor &fct)
 
- Protected Member Functions inherited from BeanLike
virtual void storeLastArguments (const std::string &p)
 Called after setParameters()
 

Detailed Description

template<class T>
class drain::FuzzyStep< T >

A basic, linear transition from 0 to scale between (start) and (end) .

\tparam T  - input storage type
\tparam T2 - output storage type

Examples with and without physical scaling to (0.0,1.0), setting step at 50% intensity (128 and 0.5):

drainage image-gray.png --iFuzzyStep 64:192 -o fuzzyStep.png
drainage image-gray.png -R 0:1 --iFuzzyStep 0.25:0.75 -o fuzzyStep-phys.png

When changing storage type, scaling must be given explicitly (here 256, from C to S ) or physically with -R :

drainage image-gray.png -T S --iFuzzyStep 64:192 -o fuzzyStep-16bit.png
drainage image-gray.png -R 0:1 -T S --iFuzzyStep 0.25:0.5 -o fuzzyStep-16bit-phys.png

Constructor & Destructor Documentation

◆ FuzzyStep()

FuzzyStep ( startPos = -1.0,
endPos = 1.0,
double  scale = 1.0,
double  bias = 0.0 
)
inline

Constructor.

Parameters
leftPos- start of the step
rightPos- end of the step
scale

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