31 #ifndef SeparableWindowOP_H_
32 #define SeparableWindowOP_H_
106 this->conf.width = width;
107 this->conf.height = height;
108 parameters.link(
"radius", this->conf.radius = radius,
"iDistance, relative to width and height, where gaussian kernel obtains value 0.5.");
115 Logger mout(getImgLog(), __FILE__, __FUNCTION__);
139 dst.scaling.setScale(src.scaling.getScale());
145 Logger mout(getImgLog(), __FILE__, __FUNCTION__);
154 GaussianStripeWeighted2<true> window1(conf.width, 0.5*conf.radius*
static_cast<double>(conf.width));
158 window1.setSrcFrameWeight(srcWeight);
160 window1.setDstFrame1Weight(tmpWeight);
161 mout.
debug(window1 );
166 const int h = (conf.height>0.0) ? conf.height : conf.width;
167 GaussianStripeWeighted2<false> window2(h, 0.5*conf.radius*
static_cast<double>(h));
169 window2.setSrcFrameWeight(tmpWeight);
171 window2.setDstFrame1Weight(dstWeight);
172 mout.
debug(window2 );
175 dst.scaling.setScale(src.scaling.getScale());
LogSourc e is the means for a function or any program segment to "connect" to a Log.
Definition: Log.h:308
Logger & debug(const TT &... args)
Public, yet typically used "internally", when TIMING=true.
Definition: Log.h:676
Image with static geometry.
Definition: ImageChannel.h:60
Definition: GaussianWindow.h:59
Image with static geometry.
Definition: ImageFrame.h:67
virtual int srcAlpha() const
Tell if alpha channel(s) is required in input.
Definition: ImageMod.h:66
virtual void processChannelsSeparately(ImageTray< Channel > &dst) const
Run this modifier by calling traverseChannel(Channel &) for each image.
Definition: ImageMod.cpp:142
virtual void makeCompatible(const ImageConf &src, Image &dst) const
Depending on the operator, modifies the geometry and type of dst.
Definition: ImageOp.cpp:54
Container applicable for Channels and Images, with alpha support.
Definition: ImageTray.h:267
Class for multi-channel digital images. Supports dynamic typing with base types (char,...
Definition: Image.h:184
Sliding window averaging operator with optional weighting support.
Definition: SeparableWindowOp.h:64
virtual void traverseChannel(const Channel &src, Channel &dst) const
Apply to single channel.
Definition: SeparableWindowOp.h:113
virtual void initializeParameters(const ImageFrame &src, const ImageFrame &dst) const
Top-level function that delegates the invocation to each image channel.
Definition: SeparableWindowOp.h:80
SeparableWindowOp(int width=1, int height=0, double halfwidth=0.5)
Definition: SeparableWindowOp.h:103
Container for source and target images, and their setters.
Definition: Window.h:194
Definition: WindowOp.h:50
Definition: DataSelector.cpp:1277