Gaussian
- group Gaussian
Functions
-
NVCVStatus cvcudaGaussianCreate(NVCVOperatorHandle *handle, int32_t maxKernelWidth, int32_t maxKernelHeight, int32_t maxVarShapeBatchSize)
Constructs an instance of the Gaussian.
- Parameters:
handle – [out] Where the operator instance handle will be written to.
Must not be NULL.
maxKernelWidth – [in] The maximum kernel width that will be used by the operator.
Positive value.
maxKernelHeight – [in] The maximum kernel height that will be used by the operator.
Positive value.
maxVarShapeBatchSize – [in] The maximum batch size that will be used by the var-shape operator.
Positive value.
- Return values:
NVCV_ERROR_INVALID_ARGUMENT – Handle is null.
NVCV_ERROR_OUT_OF_MEMORY – Not enough memory to create the operator.
NVCV_SUCCESS – Operation executed successfully.
-
NVCVStatus cvcudaGaussianSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle in, NVCVTensorHandle out, int32_t kernelWidth, int32_t kernelHeight, double sigmaX, double sigmaY, NVCVBorderType borderMode)
Executes the Gaussian operation on the given cuda stream. This operation does not wait for completion.
Limitations:
Input: Data Layout: [kNHWC, kHWC, kNCHW, kCHW] Channels: [1, 3, 4]
Data Type
Allowed
8bit Unsigned
Yes
8bit Signed
No
16bit Unsigned
Yes
16bit Signed
Yes
32bit Unsigned
No
32bit Signed
Yes
16bit Float
No
32bit Float
Yes
64bit Float
No
Output: Data Layout: [kNHWC, kHWC, kNCHW, kCHW] Channels: [1, 3, 4]
Data Type
Allowed
8bit Unsigned
Yes
8bit Signed
No
16bit Unsigned
Yes
16bit Signed
Yes
32bit Unsigned
No
32bit Signed
Yes
16bit Float
No
32bit Float
Yes
64bit Float
No
Input/Output dependency
Property | Input == Output -------------- | ------------- Data Layout | Yes Data Type | Yes Number | Yes Channels | Yes Width | Yes Height | Yes
- Parameters:
handle – [in] Handle to the operator.
Must not be NULL.
stream – [in] Handle to a valid CUDA stream.
in – [in] Input tensor.
out – [out] Output tensor.
kernelWidth – [in] Gaussian kernel width.
kernelHeight – [in] Gaussian kernel height.
sigmaX – [in] Gaussian kernel standard deviation in X direction.
sigmaY – [in] Gaussian kernel standard deviation in Y direction.
borderMode – [in] Border mode to be used when accessing elements outside input image, cf.
NVCVBorderType.
- Return values:
NVCV_ERROR_INVALID_ARGUMENT – Some parameter is outside valid range.
NVCV_ERROR_INTERNAL – Internal error in the operator, invalid types passed in.
NVCV_SUCCESS – Operation executed successfully.
-
NVCVStatus cvcudaGaussianVarShapeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle in, NVCVImageBatchHandle out, NVCVTensorHandle kernelSize, NVCVTensorHandle sigma, NVCVBorderType borderMode)
Executes the Gaussian operation on a batch of images.
- Parameters:
in – [in] Input image batch.
out – [out] Output image batch.
kernelSize – [in] Gaussian kernel size as a Tensor of int2.
Must be of pixel type NVCV_DATA_TYPE_2S32
sigma – [in] Gaussian sigma as a Tensor of double2.
Must be of pixel type NVCV_DATA_TYPE_2F64
borderMode – [in] Border mode to be used when accessing elements outside input image, cf.
NVCVBorderType.
-
NVCVStatus cvcudaGaussianCreate(NVCVOperatorHandle *handle, int32_t maxKernelWidth, int32_t maxKernelHeight, int32_t maxVarShapeBatchSize)