|
| 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'.