![]() |
|
#include <DistanceTransformOp.h>
Public Types | |
typedef float | dist_t |
![]() | |
typedef ReferenceMap | map_t |
Public Member Functions | |
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 | traverseChannels (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const |
virtual void | traverseChannel (const Channel &src, Channel &dst) const |
Apply to single channel. | |
virtual void | traverseChannel (const Channel &src, const Channel &srcAlpha, Channel &dst, Channel &dstAlpha) const |
Apply to single channel with alpha. | |
virtual void | getDstConf (const ImageConf &src, ImageConf &dst) const |
Ensures dst the same geometry and type with src. | |
virtual const DistanceModel & | getDistanceModel () const |
virtual DistanceModel & | getDistanceModel () |
![]() | |
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 | makeCompatible (const ImageConf &src, Image &dst) const |
Depending on the operator, modifies the geometry and type of dst. | |
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. | |
![]() | |
virtual int | srcAlpha () const |
Tell if alpha channel(s) is required in input. | |
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> &) . | |
![]() | |
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 |
Protected Member Functions | |
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 |
![]() | |
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(). | |
![]() | |
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. | |
![]() | |
virtual void | storeLastArguments (const std::string &p) |
Called after setParameters() | |
virtual void | updateBean () const |
Called after setParameters() | |
Protected Attributes | |
T | distanceModel |
![]() | |
const std::string | name |
const std::string | description |
map_t | parameters |
Additional Inherited Members | |
![]() | |
bool | physicalScale |
![]() | |
static void | adaptCoordinateHandler (const Channel &src, CoordinateHandler2D &handler) |
Fast distance transform using 8-directional distance function. Class D is used for computing distances?
|
inlinevirtual |
Ensures dst the same geometry and type with src.
Reimplemented from ImageOp.
Reimplemented in DistanceTransformFillOp< T >, DistanceTransformFillOp< DistanceModelExponential >, and DistanceTransformFillOp< DistanceModelLinear >.
|
inlineprotectedvirtual |
Sets internal parameters.
Max value in the model should be set according to the channel which is used as control field.
Reimplemented from ImageOp.
Apply to single channel.
Reimplemented from ImageOp.
|
inlinevirtual |
Apply to single channel with alpha.
Reimplemented from ImageOp.
Reimplemented in DistanceTransformFillOp< T >, DistanceTransformFillOp< DistanceModelExponential >, and DistanceTransformFillOp< DistanceModelLinear >.
|
inlinevirtual |
Reimplemented from ImageOp.
Reimplemented in DistanceTransformFillOp< T >, DistanceTransformFillOp< DistanceModelExponential >, and DistanceTransformFillOp< DistanceModelLinear >.
Point in the source image