Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

Filter

Filters a volume using a general cuboidal kernel.

Syntax

IppStatus ipprFilter_16s_C1PV(const Ipp16s* const pSrc[], int srcStep, const Ipp16s* pDst[], int dstStep, IpprVolume dstVolume, const Ipp32s* pKernel, IpprVolume kernelVolume, IpprPoint anchor, int divisor, Ipp8u* pBuffer);

IppStatus ipprFilter_16s_C1V(const Ipp16s* pSrc, int srcStep, int srcPlaneStep, Ipp16s* pDst, int dstStep, int dstPlaneStep, IpprVolume dstVolume, const Ipp32s* pKernel, IpprVolume kernelVolume, IpprPoint anchor, int divisor, Ipp8u* pBuffer);

Include Files

ippi.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib

Parameters

pSrc

Array of pointers to the planes in the source volume.

srcStep

Distance, in bytes, between the starting points of consecutive lines in each plane of the source volume.

srcPlaneStep

Distance, in bytes, between the starting points of consecutive lines in every plane of the source volume (for the 16s_C1V flavor).

pDst

Array of pointers to the planes in the destination volume.

dstStep

Distance, in bytes, between the starting points of consecutive lines in each plane of the destination volume.

dstPlaneStep

Distance, in bytes, between the starting points of consecutive lines in every plane of the destination volume (for the 16s_C1V flavor).

dstVolume

Size of the processed volume.

pKernel

Pointers to the kernel values.

kernelVolume

Size of the kernel volume.

anchor

Anchor 3d-cell specifying the cuboidal kernel alignment with respect to the position of the input voxel.

divisor

The integer value by which the computed result is divided.

pBuffer

Pointer to the external buffer.

Description

This function operates with VOI. This function uses the general cuboidal kernel of size kernelVolume to filter a volume VOI. This function sums the products between the kernel coefficients pKernel and voxel values taken over the source voxel neighborhood defined by kernelVolume and anchor. The anchor 3d-cell is specified by its coordinates anchor.x, anchor.y and anchor.z in the coordinate system associated with the right bottom back corner of the kernel. Note the kernel coefficients are used in inverse order. The sum is written to the destination voxel. To ensure valid operation when volume boundary voxels are processed, the application must correctly define additional border voxels.

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error.

ippStsNullPtrErr

Indicates an error condition if pSrc, pDst, pKernel or pBuffer pointer is NULL.

ippStsSizeErr

Indicates an error condition if dstVolume or kernelVolume has a field with zero or negative value.

ippStsDivisorErr

Indicates an error condition if the divisor value is zero.