|  | 
|  | Fuzzifier (const std::string &name, const std::string &description="", double scale=1.0, double bias=0.0) | 
|  | 
| bool | isInversed () | 
|  | Updates internal variables. Should be called after modifying public members. 
 | 
|  | 
|  | UnaryFunctor (const std::string &name, const std::string &description="", double scale=1.0, double bias=0.0) | 
|  | 
| virtual double | operator() (double s) const =0 | 
|  | 
| void | setScale (double scale, double bias=0.0) | 
|  | 
| virtual void | updateBean () const override | 
|  | Called after setParameters() 
 | 
|  | 
|  | BeanLike (const BeanLike &b) | 
|  | 
|  | BeanLike (const std::string &name, const std::string &description="") | 
|  | 
| 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 > | 
| F | getParameter (const std::string &p) const | 
|  | Gets a single parameter. 
 | 
|  | 
| const map_t & | getParameters () const | 
|  | 
| map_t & | getParameters () | 
|  | 
| 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". 
 | 
|  | 
| 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) | 
|  | 
| virtual std::ostream & | toStream (std::ostream &ostr, bool compact=true) const | 
|  | 
template<class T>
class drain::Fuzzifier< T >
A base class for fuzzy functions; also an unary functor. 
These operators can be used, for example, as template arguments for drain::Image::FunctorOp.
- Template Parameters
- 
  
  
A simple linear transition from 0 to 1 .  
- Template Parameters
- 
  
    | T | - input storage type |  | 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
 
Fuzzy Step.
 
  A smooth step function between 0.0 and 1.0. Increasing (decreasing) with positive (negative) width. Otherwise like FuzzySigmoid.  
- Template Parameters
- 
  
    | T | - input storage type |  | T2 | - output storage type |  
 
 
Fuzzy 'stepsoid'.
 
  A smooth symmetric peak function that resembles the Gaussian bell curve.  
- Template Parameters
- 
  
    | T | - input type (typically double) |  | T2 | - output type (typically double) |  
 
- Parameters
- 
  
    | location | - center of the peak |  | width | - half-width of the peak; if negative, the peak will be upside down |  | scale | - multiplication in scaling (scale*x + bias); default=1.0 |  | bias | - offset in scaling (scale*x + bias); default=0.0 |  
 
The approximation applies 
drainage image-gray.png        --iFuzzyBell 128,16   -o fuzzyBell.png
drainage image-gray.png -R 0:1 --iFuzzyBell 0.5,0.2  -o fuzzyBell-phys.png
drainage image-gray.png -T S   --iFuzzyBell 128,16   -o fuzzyBell-16bit.png
 
Fuzzy Bell.
 
  A smooth symmetric peak function that resembles the Gaussian bell curve. Diminishes quicker than FuzzyPeak.  
- Template Parameters
- 
  
    | T | - input storage type |  | T2 | - output storage type |  
 
drainage image-gray.png        --iFuzzyBell2 128,16   -o fuzzyBell2.png
drainage image-gray.png -R 0:1 --iFuzzyBell2 0.5,0.2  -o fuzzyBell2-phys.png
drainage image-gray.png -T S   --iFuzzyBell2 128,16   -o fuzzyBell2-16bit.png
 
Fuzzy bell(2).
 
  A basic triangular peak function with linear around the peak.  
- Template Parameters
- 
  
    | T | - input storage type |  | T2 | - output storage type |  
 
drainage image-gray.png        --iFuzzyTriangle 64:192,128     -o fuzzyTriangle.png
drainage image-gray.png -R 0:1 --iFuzzyTriangle 0.25:0.75,0.5  -o fuzzyTriangle-phys.png
drainage image-gray.png -T S   --iFuzzyTriangle 64:192,128     -o fuzzyTriangle-16bit.png
 
Fuzzy Triangle.
 
  A function taking shape of two peaks, with a zero in the middle .  
- Template Parameters
- 
  
    | T | - input storage type |  | T2 | - output storage type |  
 
 
Fuzzy 'twin peaks'.