|  | 
|  | SegmentAreaOp (double min=1.0, double max=std::numeric_limits< double >::max()) | 
|  | 
|  | SegmentAreaOp (const drain::UnaryFunctor &ftor, double min=1.0, double max=std::numeric_limits< double >::max()) | 
|  | 
|  | SegmentAreaOp (const SegmentAreaOp &op) | 
|  | 
| void | getDstConf (const ImageConf &src, ImageConf &dst) const | 
|  | Resizes dst to width and height of src. Ensures integer type. 
 | 
|  | 
| 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 | 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 | traverseChannel (const Channel &src, const Channel &srcAlpha, Channel &dst, Channel &dstAlpha) const | 
|  | Apply to single channel with alpha. 
 | 
|  | 
| 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 | 
|  | 
|  | 
| Range< double > | intensity | 
|  | 
| bool | clearDst | 
|  | 
| std::string | functorStr | 
|  | 
| bool | physicalScale | 
|  | 
|  | SegmentOp (const std::string &name, const std::string &description) | 
|  | 
|  | SegmentOp (const std::string &name, const std::string &description, const drain::UnaryFunctor &ftor) | 
|  | 
| const UnaryFunctor & | getFunctor (double scale=0.0, double bias=0.0) const | 
|  | Retrieve functor to process the result: either the functor defined as functorStr or member functor (identity by default). 
 | 
|  | 
|  | 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 &dst) const | 
|  | Set applicable internal parameters before calling traverse(). 
 | 
|  | 
| 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() 
 | 
|  | 
| static void | adaptCoordinateHandler (const Channel &src, CoordinateHandler2D &handler) | 
|  | 
| LocalCloner< UnaryFunctor > | unicloner | 
|  | 
| const drain::IdentityFunctor | identityFtor | 
|  | 
| const drain::UnaryFunctor & | functor | 
|  | 
| const std::string | name | 
|  | 
| const std::string | description | 
|  | 
| map_t | parameters | 
|  | 
template<class S, class D, class T = SizeProber>
class drain::image::SegmentAreaOp< S, D, T >
Computes sizes of connected pixel areas. 
- Template Parameters
- 
  
    | S | - source image type for SegmentProber<S,D> |  | D | - destination image type for SegmentProber<S,D> |  | T | - prober class, eg. SegmentProber |  
 
Note: current designed for SegmentProber.
drainage shapes.png --iSegmentArea 64:255 -o segmentArea.png
drainage image-gray.png --physicalRange 0:1 --iSegmentArea 0.5:01 -o segmentAreaPhys.png
drainage shapes.png --iSegmentArea 64:255,
FuzzyStep:300:0 -o segmentAreaInv.png
A simple linear transition from 0 to 1 .
Definition Fuzzy.h:170
drainage shapes.png --iSegmentArea 64:255,
FuzzyStepsoid:100:20 -o segmentAreaStepsoid.png
A smooth step function between 0.0 and 1.0. Increasing (decreasing) with positive (negative) width....
Definition Fuzzy.h:654
drainage shapes.png --iSegmentArea 32:255,
FuzzyBell:200:50 -o segmentAreaBell.png
A smooth symmetric peak function that resembles the Gaussian bell curve.
Definition Fuzzy.h:414
- See also
- SegmentStatisticsOp