MCPcopy Create free account
hub / github.com/CVCUDA/CV-CUDA / GaussianInto

Function GaussianInto

python/mod_cvcuda/operators/OpGaussian.cpp:34–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32
33namespace {
34Tensor GaussianInto(Tensor &output, Tensor &input, const std::tuple<int, int> &kernel_size,
35 const std::tuple<double, double> &sigma, NVCVBorderType border, std::optional<Stream> pstream)
36{
37 if (!pstream)
38 {
39 pstream = Stream::Current();
40 }
41
42 double2 sigmaArg{std::get<0>(sigma), std::get<1>(sigma)};
43
44 nvcv::Size2D kernelSizeArg{std::get<0>(kernel_size), std::get<1>(kernel_size)};
45
46 auto gaussian = CreateOperator<cvcuda::Gaussian>(kernelSizeArg, 0);
47
48 ResourceGuard guard(*pstream);
49 guard.add(LockMode::LOCK_MODE_READ, {input});
50 guard.add(LockMode::LOCK_MODE_WRITE, {output});
51 guard.add(LockMode::LOCK_MODE_READWRITE, {*gaussian});
52
53 gaussian->submit(pstream->cudaHandle(), input, output, kernelSizeArg, sigmaArg, border);
54
55 return output;
56}
57
58Tensor Gaussian(Tensor &input, const std::tuple<int, int> &kernel_size, const std::tuple<double, double> &sigma,
59 NVCVBorderType border, std::optional<Stream> pstream)

Callers 1

GaussianFunction · 0.85

Calls 3

cudaHandleMethod · 0.80
addMethod · 0.45
submitMethod · 0.45

Tested by

no test coverage detected