|  |  | 
Spreeads values using inverse linear distance transform. More...
#include <DistanceTransformFillOp.h>


| Public Member Functions | |
| DistanceTransformFillLinearOp (dist_t horz=12.3, dist_t vert=DistanceModel::nan_f, DistanceModel::topol_t topology=DistanceModel::KNIGHT) | |
|  Public Member Functions inherited from DistanceTransformFillOp< DistanceModelLinear > | |
| virtual int | srcAlpha () const | 
| Tell if alpha channel(s) is required in input. | |
| virtual void | getDstConf (const ImageConf &srcConf, ImageConf &dstConf) const | 
| Ensures dst the same geometry and type with src. | |
| virtual void | makeCompatible (const ImageConf &src, Image &dst) const | 
| Like ImageOp::makeCompatible(), but clears the alpha channel. | |
| void | traverseChannels (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const | 
| virtual void | traverseChannel (const Channel &src, const Channel &srcAlpha, Channel &dst, Channel &dstAlpha) const | 
| Apply to single channel with alpha. | |
|  Public Member Functions inherited from DistanceTransformOp< T > | |
| void | setRadius (dist_t width, dist_t height=DistanceModel::nan_f, dist_t width2=DistanceModel::nan_f, dist_t height2=DistanceModel::nan_f) | 
| virtual void | traverseChannel (const Channel &src, Channel &dst) const | 
| Apply to single channel. | |
| virtual const DistanceModel & | getDistanceModel () const | 
| virtual DistanceModel & | getDistanceModel () | 
|  Public Member Functions inherited from ImageOp | |
| virtual void | process (const ImageFrame &src, Image &dst) const | 
| Main interface. Typically splits processing to each channel. | |
| virtual void | process (Image &dst) const override final | 
| Run this modifier for an image. | |
| virtual void | process (const ImageFrame &src, const ImageFrame &srcWeight, Image &dst, Image &dstWeight) const | 
| virtual void | process (const ImageTray< const Channel > &src, ImageTray< Image > &dst, bool checkOverlap=true) const | 
| Run the operator on a series of images. Geometry and type may be changed. UNDER CONSTR. | |
| virtual void | makeCompatible2 (const ImageFrame &src1, const ImageFrame &src2, Image &dst) const | 
| Modifies the geometry and type of dst to fit the computation result. | |
| virtual void | help (std::ostream &ostr=std::cout) const | 
| Prints name, description and parameters using BeanLike::toOStr(). Virtual, so derived classes may extend output. | |
|  Public Member Functions inherited from ImageMod | |
| virtual void | traverseChannels (ImageTray< Channel > &dst) const | 
| Run this modifier for a set of channels. | |
| virtual void | traverseChannel (Channel &dst) const | 
| Run this modifier for an image frame. | |
| virtual void | traverseChannel (Channel &dst, Channel &dstAlpha) const | 
| Run this modifier for an image frame. | |
| virtual void | traverseChannels (ImageFrame &dst) const | 
| Converts dst to ImageTray<Channel> and calls traverseFrame(ImageTray<Channel> &) . | |
|  Public Member Functions inherited from BeanLike | |
| 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 | 
| Additional Inherited Members | |
|  Public Types inherited from DistanceTransformFillOp< DistanceModelLinear > | |
| typedef float | dist_t | 
|  Public Types inherited from DistanceTransformOp< T > | |
| typedef float | dist_t | 
|  Public Types inherited from BeanLike | |
| typedef ReferenceMap | map_t | 
|  Public Attributes inherited from ImageMod | |
| bool | physicalScale | 
|  Protected Member Functions inherited from DistanceTransformFillOp< DistanceModelLinear > | |
| DistanceTransformFillOp (const std::string &name, const std::string &description, dist_t horz=14.0, dist_t vert=DistanceModel::nan_f, DistanceModel::topol_t topology=DistanceModel::KNIGHT) | |
| void | traverseDownRight (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const | 
| Step 1/2: forward traversal. | |
| void | traverseUpLeft (ImageTray< Channel > &src, ImageTray< Channel > &dst) const | 
| Step 1/2: backward traversal. | |
|  Protected Member Functions inherited from DistanceTransformOp< T > | |
| DistanceTransformOp (const std::string &name, const std::string &description, float width, float height, DistanceModel::topol_t topology=DistanceModel::KNIGHT) | |
| DistanceTransformOp (const DistanceTransformOp &op) | |
| Range< int > | getHorzRange (const CoordinateHandler2D &coordinateHandler) const | 
| Range< int > | getVertRange (const CoordinateHandler2D &coordinateHandler) const | 
| virtual void | initializeParameters (const ImageFrame &src, const ImageFrame &dst) const | 
| Sets internal parameters. | |
| void | traverseDownRight (const Channel &src, Channel &dst) const | 
| void | traverseUpLeft (const Channel &src, Channel &dst) const | 
|  Protected Member Functions inherited from ImageOp | |
| ImageOp (const std::string &name=__FUNCTION__, const std::string &description="") | |
| ImageOp (const ImageOp &op) | |
| virtual bool | processOverlappingWithTemp (const ImageFrame &src, Image &dst) const | 
| virtual bool | processOverlappingWithTemp (const ImageTray< const Channel > &src, ImageTray< Image > &dst) const | 
| bool | traverseOverlappingWithTemp (const Channel &src, Channel &dst) const | 
| bool | traverseOverlappingWithTemp (const Channel &src, const Channel &srcWeight, Channel &dst, Channel &dstWeight) const | 
| void | traverseChannelsEqually (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const | 
| Calls processWithTemp() if the frames overlap. | |
| void | traverseChannelsRepeated (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const | 
| Recycle channels until all dst channels completed. | |
| void | traverseChannelsSeparately (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const | 
| Process each (src,dst) channel pair independently. Raise error if their counts differ. | |
| void | traverseAsChannelTrays (const ImageFrame &src, ImageFrame &dst) const | 
| Redirect to processing as trays. This is the opposite of processChannels...() functions. | |
| void | traverseAsChannelTrays (const ImageFrame &src, const ImageFrame &srcWeight, ImageFrame &dst, ImageFrame &dstWeight) const | 
| Redirect to processing as trays. This is the opposite of processChannels...() functions. | |
| virtual void | initializeParameters (const ImageFrame &src, const ImageFrame &src2, const ImageFrame &dst) const | 
| Set applicable internal parameters before calling traverse(). | |
|  Protected Member Functions inherited from ImageMod | |
| ImageMod (const std::string &name=__FUNCTION__, const std::string &description="") | |
| ImageMod (const ImageMod &op) | |
| virtual void | processChannelsSeparately (ImageTray< Channel > &dst) const | 
| Run this modifier by calling traverseChannel(Channel &) for each image. | |
| virtual void | initialize (Image &dst) const | 
| Modifies the geometry and the type of dst such that traverseChannel(Channel &) can be called. | |
| virtual void | initializeAlpha (const Image &srcAlpha, Image &dstAlpha) const | 
| Modifies the geometry and the type of dst such that traverseChannel(Channel &) can be called. | |
|  Protected Member Functions inherited from BeanLike | |
| virtual void | storeLastArguments (const std::string &p) | 
| Called after setParameters() | |
| virtual void | updateBean () const | 
| Called after setParameters() | |
|  Static Protected Member Functions inherited from ImageOp | |
| static void | adaptCoordinateHandler (const Channel &src, CoordinateHandler2D &handler) | 
|  Protected Attributes inherited from DistanceTransformFillOp< DistanceModelLinear > | |
| drain::Range< double > | alphaThreshold | 
|  Protected Attributes inherited from DistanceTransformOp< T > | |
| T | distanceModel | 
|  Protected Attributes inherited from BeanLike | |
| const std::string | name | 
| const std::string | description | 
| map_t | parameters | 
Spreeads values using inverse linear distance transform.
Examples on three distinct pixels (red, green, and blue):
The radii do not have to be symmetric:
Examples on a graphical image:
 1.9.8
 1.9.8