18 #ifndef PIC_FILTERING_FILTER_DOWNSAMPLER_2D_HPP 19 #define PIC_FILTERING_FILTER_DOWNSAMPLER_2D_HPP 21 #include "../util/std_util.hpp" 22 #include "../filtering/filter_npasses.hpp" 23 #include "../filtering/filter_sampler_1d.hpp" 24 #include "../image_samplers/image_sampler_nearest.hpp" 25 #include "../image_samplers/image_sampler_gaussian.hpp" 47 for(
int i = 0; i < 2; i++) {
138 for(
int i = 0; i < 2; i++) {
141 this->
scale[i] = 1.0f;
145 this->
scale[0] = scaleX;
146 this->
scale[1] = scaleY > 0.0f ? scaleY : scaleX;
159 for(
int i = 0; i < 2; i++) {
162 this->
scale[i] = 1.0f;
185 for (
int i = 0; i < 2; i++) {
199 for(
int i = 0; i < 2; i++) {
The FilterSampler1D class.
Definition: filter_sampler_1d.hpp:36
void update(float scale, int direction, ImageSampler *isb)
update
Definition: filter_sampler_1d.hpp:154
void release()
release
Definition: filter_downsampler_2d.hpp:183
T * delete_s(T *data)
delete_s
Definition: std_util.hpp:123
std::vector< Image * > ImageVec
ImageVec an std::vector of pic::Image.
Definition: image_vec.hpp:29
void insertFilter(Filter *flt, bool asSingle=false)
insertFilter
Definition: filter_radial_basis_function.hpp:246
static Image * execute(Image *imgIn, Image *imgOut, float scaleXY)
execute
Definition: filter_downsampler_2d.hpp:129
int width
Definition: filter_downsampler_2d.hpp:40
FilterDownSampler2D(float scaleX, float scaleY)
FilterDownSampler2D.
Definition: filter_downsampler_2d.hpp:136
ImageSamplerGaussian * isg[2]
Definition: filter_downsampler_2d.hpp:35
virtual Image * Process(ImageVec imgIn, Image *imgOut)
Process.
Definition: filter.hpp:390
The FilterDownSampler2D class.
Definition: filter_downsampler_2d.hpp:32
~FilterDownSampler2D()
Definition: filter_downsampler_2d.hpp:178
void PreProcess(ImageVec imgIn, Image *imgOut)
PreProcess.
Definition: filter_downsampler_2d.hpp:191
static Image * execute(Image *imgIn, Image *imgOut, int width, int height)
execute
Definition: filter_downsampler_2d.hpp:100
FilterSampler1D * flt[2]
Definition: filter_downsampler_2d.hpp:36
The ImageSamplerGaussian class.
Definition: image_sampler_gaussian.hpp:29
#define PIC_INLINE
Definition: base.hpp:33
int height
Definition: filter_downsampler_2d.hpp:40
The Image class stores an image as buffer of float.
Definition: image.hpp:60
static Image * execute(Image *imgIn, Image *imgOut, float scaleX, float scaleY)
execute
Definition: filter_downsampler_2d.hpp:115
float scale[2]
Definition: filter_downsampler_2d.hpp:39
virtual void f(FilterFData *data)
f
Definition: filter_radial_basis_function.hpp:69
bool swh
Definition: filter_downsampler_2d.hpp:38
PIC_INLINE ImageVec Single(Image *img)
Single creates an std::vector which contains img; this is for filters input.
Definition: image_vec.hpp:36
Definition: bilateral_separation.hpp:25
void update(float sigma, unsigned int direction)
update
Definition: image_sampler_gaussian.hpp:58
void allocate()
allocate
Definition: filter_downsampler_2d.hpp:45
The FilterNPasses class.
Definition: filter_npasses.hpp:30