MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / GaussianKernelFunc

Class GaussianKernelFunc

tensorflow/core/kernels/sampling_kernels.h:86–103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

84};
85
86struct GaussianKernelFunc {
87 static constexpr float kRadiusMultiplier = 3.0f;
88 // https://en.wikipedia.org/wiki/Gaussian_function
89 // We use sigma = 0.5, as suggested on p. 4 of Ken Turkowski's "Filters
90 // for Common Resampling Tasks" for kernels with a support of 3 pixels:
91 // www.realitypixels.com/turk/computergraphics/ResamplingFilters.pdf
92 // This implies a radius of 1.5,
93 explicit GaussianKernelFunc(float _radius = 1.5f)
94 : radius(_radius), sigma(_radius / kRadiusMultiplier) {}
95 float operator()(float x) const {
96 x = std::abs(x);
97 if (x >= radius) return 0.0;
98 return std::exp(-x * x / (2.0 * sigma * sigma));
99 }
100 float Radius() const { return radius; }
101 const float radius;
102 const float sigma; // Gaussian standard deviation
103};
104
105struct BoxKernelFunc {
106 float operator()(float x) const {

Callers 1

CreateGaussianKernelFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected