NVIDIA 2D Image And Signal Performance Primitives (NPP)  Version 11.3.0.*
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
FilterDistanceTransform

Performs Exact Euclidean Distance Transform function using the Parallel Banding Algorithm (PBA+) defined by Tiow-Seng Tan, et al paper named "Parallel Banding Algorithm to Compute Exact Distance Transform with the GPU" published dated August 8, 2019. More...

Functions

NppStatus  nppiDistanceTransformPBAGetBufferSize (NppiSize oSizeROI, size_t *hpBufferSize)
  Calculate scratch buffer size needed for the DistanceTransformPBA function based on destination image SizeROI width and height. More...
 
NppStatus  nppiSignedDistanceTransformPBAGetBufferSize (NppiSize oSizeROI, size_t *hpBufferSize)
  Calculate scratch buffer size needed for the SignedDistanceTransformShiftPBA function based on destination image SizeROI width and height. More...
 
NppStatus  nppiDistanceTransformPBA_8u16u_C1R_Ctx (Npp8u *pSrc, int nSrcStep, Npp8u nMinSiteValue, Npp8u nMaxSiteValue, Npp16s *pDstVoronoi, int nDstVoronoiStep, Npp16s *pDstVoronoiIndices, int nDstVoronoiIndicesStep, Npp16s *pDstVoronoiManhattanDistances, int nDstVoronoiManhattanDistancesStep, Npp16u *pDstTransform, int nDstTransformStep, NppiSize oSizeROI, Npp8u *pDeviceBuffer, NppStreamContext nppStreamCtx)
  1 channel 8-bit unsigned grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional unsigned 16-bit truncated integer transform. More...
 
NppStatus  nppiDistanceTransformPBA_8s16u_C1R_Ctx (Npp8s *pSrc, int nSrcStep, Npp8s nMinSiteValue, Npp8s nMaxSiteValue, Npp16s *pDstVoronoi, int nDstVoronoiStep, Npp16s *pDstVoronoiIndices, int nDstVoronoiIndicesStep, Npp16s *pDstVoronoiManhattanDistances, int nDstVoronoiManhattanDistancesStep, Npp16u *pDstTransform, int nDstTransformStep, NppiSize oSizeROI, Npp8u *pDeviceBuffer, NppStreamContext nppStreamCtx)
  1 channel 8-bit signed grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional unsigned 16-bit truncated integer transform. More...
 
NppStatus  nppiDistanceTransformPBA_16u16u_C1R_Ctx (Npp16u *pSrc, int nSrcStep, Npp16u nMinSiteValue, Npp16u nMaxSiteValue, Npp16s *pDstVoronoi, int nDstVoronoiStep, Npp16s *pDstVoronoiIndices, int nDstVoronoiIndicesStep, Npp16s *pDstVoronoiManhattanDistances, int nDstVoronoiManhattanDistancesStep, Npp16u *pDstTransform, int nDstTransformStep, NppiSize oSizeROI, Npp8u *pDeviceBuffer, NppStreamContext nppStreamCtx)
  1 channel 16-bit unsigned grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional unsigned 16-bit truncated integer transform. More...
 
NppStatus  nppiDistanceTransformPBA_16s16u_C1R_Ctx (Npp16s *pSrc, int nSrcStep, Npp16s nMinSiteValue, Npp16s nMaxSiteValue, Npp16s *pDstVoronoi, int nDstVoronoiStep, Npp16s *pDstVoronoiIndices, int nDstVoronoiIndicesStep, Npp16s *pDstVoronoiManhattanDistances, int nDstVoronoiManhattanDistancesStep, Npp16u *pDstTransform, int nDstTransformStep, NppiSize oSizeROI, Npp8u *pDeviceBuffer, NppStreamContext nppStreamCtx)
  1 channel 16-bit signed grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional unsigned 16-bit truncated integer transform. More...
 
NppStatus  nppiDistanceTransformPBA_8u32f_C1R_Ctx (Npp8u *pSrc, int nSrcStep, Npp8u nMinSiteValue, Npp8u nMaxSiteValue, Npp16s *pDstVoronoi, int nDstVoronoiStep, Npp16s *pDstVoronoiIndices, int nDstVoronoiIndicesStep, Npp16s *pDstVoronoiManhattanDistances, int nDstVoronoiManhattanDistancesStep, Npp32f *pDstTransform, int nDstTransformStep, NppiSize oSizeROI, Npp8u *pDeviceBuffer, NppStreamContext nppStreamCtx)
  1 channel 8-bit unsigned grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional 32-bit floating point transform. More...
 
NppStatus  nppiDistanceTransformPBA_8s32f_C1R_Ctx (Npp8s *pSrc, int nSrcStep, Npp8s nMinSiteValue, Npp8s nMaxSiteValue, Npp16s *pDstVoronoi, int nDstVoronoiStep, Npp16s *pDstVoronoiIndices, int nDstVoronoiIndicesStep, Npp16s *pDstVoronoiManhattanDistances, int nDstVoronoiManhattanDistancesStep, Npp32f *pDstTransform, int nDstTransformStep, NppiSize oSizeROI, Npp8u *pDeviceBuffer, NppStreamContext nppStreamCtx)
  1 channel 8-bit signed grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional 32-bit floating point transform. More...
 
NppStatus  nppiDistanceTransformPBA_16u32f_C1R_Ctx (Npp16u *pSrc, int nSrcStep, Npp16u nMinSiteValue, Npp16u nMaxSiteValue, Npp16s *pDstVoronoi, int nDstVoronoiStep, Npp16s *pDstVoronoiIndices, int nDstVoronoiIndicesStep, Npp16s *pDstVoronoiManhattanDistances, int nDstVoronoiManhattanDistancesStep, Npp32f *pDstTransform, int nDstTransformStep, NppiSize oSizeROI, Npp8u *pDeviceBuffer, NppStreamContext nppStreamCtx)
  1 channel 16-bit unsigned grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional 32-bit floating point transform. More...
 
NppStatus  nppiDistanceTransformPBA_16s32f_C1R_Ctx (Npp16s *pSrc, int nSrcStep, Npp16s nMinSiteValue, Npp16s nMaxSiteValue, Npp16s *pDstVoronoi, int nDstVoronoiStep, Npp16s *pDstVoronoiIndices, int nDstVoronoiIndicesStep, Npp16s *pDstVoronoiManhattanDistances, int nDstVoronoiManhattanDistancesStep, Npp32f *pDstTransform, int nDstTransformStep, NppiSize oSizeROI, Npp8u *pDeviceBuffer, NppStreamContext nppStreamCtx)
  1 channel 16-bit signed grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional 32-bit floating point transform. More...
 
NppStatus  nppiSignedDistanceTransformPBA_32f_C1R_Ctx (Npp32f *pSrc, int nSrcStep, Npp32f nCutoffValue, Npp32f nSubPixelXShift, Npp32f nSubPixelYShift, Npp16s *pDstVoronoi, int nDstVoronoiStep, Npp16s *pDstVoronoiIndices, int nDstVoronoiIndicesStep, Npp16s *pDstVoronoiManhattanDistances, int nDstVoronoiManhattanDistancesStep, Npp32f *pDstTransform, int nDstTransformStep, NppiSize oSizeROI, Npp8u *pDeviceBuffer, NppStreamContext nppStreamCtx)
  1 channel 32-bit floating point grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram and 32-bit floating point transform with optional sub-pixel shifts. More...
 

Detailed Description

Performs Exact Euclidean Distance Transform function using the Parallel Banding Algorithm (PBA+) defined by Tiow-Seng Tan, et al paper named "Parallel Banding Algorithm to Compute Exact Distance Transform with the GPU" published dated August 8, 2019.

Output for these functions is an optional 16-bit signed integer voronoi diagram (pairs of signed 16 bit integer x, y distance values) and/or an optional true euclidean distance transform image generated from the internal voronoi diagram in either unsigned 16-bit truncated integer format or 32-bit floating point format. Additional optional output can include an signed 16-bit integer Voronoi diagram containing site indices and/or a signed 16-bit integer Voronoi diagram containing relative Manhattan distances to the closest sites. Minimum and maximum image ROI widths and heights are 64 and 32767.

The nMinSiteValue and nMaxSiteValue parameters can be used to control which source image pixels are considered sites(traditionally 0) and non-sites (everything else).

Function Documentation

NppStatus nppiDistanceTransformPBA_16s16u_C1R_Ctx ( Npp16s pSrc,
int  nSrcStep,
Npp16s  nMinSiteValue,
Npp16s  nMaxSiteValue,
Npp16s pDstVoronoi,
int  nDstVoronoiStep,
Npp16s pDstVoronoiIndices,
int  nDstVoronoiIndicesStep,
Npp16s pDstVoronoiManhattanDistances,
int  nDstVoronoiManhattanDistancesStep,
Npp16u pDstTransform,
int  nDstTransformStep,
NppiSize  oSizeROI,
Npp8u pDeviceBuffer,
NppStreamContext  nppStreamCtx 
)

1 channel 16-bit signed grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional unsigned 16-bit truncated integer transform.

Parameters
pSrc device memory source_image_pointer.
nSrcStep Source-Image Line Step.
nMinSiteValue signed source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
nMaxSiteValue signed source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
pDstVoronoi device memory voronoi diagram destination_image_pointer or NULL for no voronoi output.
nDstVoronoiStep voronoi destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiIndices device memory voronoi diagram destination_image_pointer or NULL for no voronoi indices output.
nDstVoronoiIndicesStep voronoi indices destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiManhattanDistances device memory voronoi relative Manhattan distances destination_image_pointer or NULL for no voronoi Manhattan output.
nDstVoronoiManhattanDistancesStep voronoi Manhattan destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstTransform device memory true euclidean distance transform destination_image_pointer or NULL for no transform output.
nDstTransformStep true euclidean distance transform destination_image_line_step (must be at least oSizeROI.width * sizeof(Npp16u)).
oSizeROI Region-of-Interest (ROI).
pDeviceBuffer pointer to scratch DEVICE memory buffer of size hpBufferSize (see nppiDistanceTransformPBAGetBufferSize() above)
nppStreamCtx Application Managed Stream Context.
Returns
Image Data Related Error Codes, ROI Related Error Codes
NppStatus nppiDistanceTransformPBA_16s32f_C1R_Ctx ( Npp16s pSrc,
int  nSrcStep,
Npp16s  nMinSiteValue,
Npp16s  nMaxSiteValue,
Npp16s pDstVoronoi,
int  nDstVoronoiStep,
Npp16s pDstVoronoiIndices,
int  nDstVoronoiIndicesStep,
Npp16s pDstVoronoiManhattanDistances,
int  nDstVoronoiManhattanDistancesStep,
Npp32f pDstTransform,
int  nDstTransformStep,
NppiSize  oSizeROI,
Npp8u pDeviceBuffer,
NppStreamContext  nppStreamCtx 
)

1 channel 16-bit signed grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional 32-bit floating point transform.

Parameters
pSrc device memory source_image_pointer.
nSrcStep Source-Image Line Step.
nMinSiteValue signed source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
nMaxSiteValue signed source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
pDstVoronoi device memory voronoi diagram destination_image_pointer or NULL for no voronoi output.
nDstVoronoiStep voronoi destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiIndices device memory voronoi diagram destination_image_pointer or NULL for no voronoi indices output.
nDstVoronoiIndicesStep voronoi indices destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiManhattanDistances device memory voronoi relative Manhattan distances destination_image_pointer or NULL for no voronoi Manhattan output.
nDstVoronoiManhattanDistancesStep voronoi Manhattan destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstTransform device memory true euclidean distance transform destination_image_pointer or NULL for no transform output.
nDstTransformStep true euclidean distance transform destination_image_line_step (must be at least oSizeROI.width * sizeof(Npp32f)).
oSizeROI Region-of-Interest (ROI).
pDeviceBuffer pointer to scratch DEVICE memory buffer of size hpBufferSize (see nppiDistanceTransformPBAGetBufferSize() above)
nppStreamCtx Application Managed Stream Context.
Returns
Image Data Related Error Codes, ROI Related Error Codes
NppStatus nppiDistanceTransformPBA_16u16u_C1R_Ctx ( Npp16u pSrc,
int  nSrcStep,
Npp16u  nMinSiteValue,
Npp16u  nMaxSiteValue,
Npp16s pDstVoronoi,
int  nDstVoronoiStep,
Npp16s pDstVoronoiIndices,
int  nDstVoronoiIndicesStep,
Npp16s pDstVoronoiManhattanDistances,
int  nDstVoronoiManhattanDistancesStep,
Npp16u pDstTransform,
int  nDstTransformStep,
NppiSize  oSizeROI,
Npp8u pDeviceBuffer,
NppStreamContext  nppStreamCtx 
)

1 channel 16-bit unsigned grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional unsigned 16-bit truncated integer transform.

Parameters
pSrc device memory source_image_pointer.
nSrcStep Source-Image Line Step.
nMinSiteValue source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
nMaxSiteValue source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
pDstVoronoi device memory voronoi diagram destination_image_pointer or NULL for no voronoi output.
nDstVoronoiStep voronoi destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiIndices device memory voronoi diagram destination_image_pointer or NULL for no voronoi indices output.
nDstVoronoiIndicesStep voronoi indices destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiManhattanDistances device memory voronoi relative Manhattan distances destination_image_pointer or NULL for no voronoi Manhattan output.
nDstVoronoiManhattanDistancesStep voronoi Manhattan destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstTransform device memory true euclidean distance transform destination_image_pointer or NULL for no transform output.
nDstTransformStep true euclidean distance transform destination_image_line_step (must be at least oSizeROI.width * sizeof(Npp16u)).
oSizeROI Region-of-Interest (ROI).
pDeviceBuffer pointer to scratch DEVICE memory buffer of size hpBufferSize (see nppiDistanceTransformPBAGetBufferSize() above)
nppStreamCtx Application Managed Stream Context.
Returns
Image Data Related Error Codes, ROI Related Error Codes
NppStatus nppiDistanceTransformPBA_16u32f_C1R_Ctx ( Npp16u pSrc,
int  nSrcStep,
Npp16u  nMinSiteValue,
Npp16u  nMaxSiteValue,
Npp16s pDstVoronoi,
int  nDstVoronoiStep,
Npp16s pDstVoronoiIndices,
int  nDstVoronoiIndicesStep,
Npp16s pDstVoronoiManhattanDistances,
int  nDstVoronoiManhattanDistancesStep,
Npp32f pDstTransform,
int  nDstTransformStep,
NppiSize  oSizeROI,
Npp8u pDeviceBuffer,
NppStreamContext  nppStreamCtx 
)

1 channel 16-bit unsigned grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional 32-bit floating point transform.

Parameters
pSrc device memory source_image_pointer.
nSrcStep Source-Image Line Step.
nMinSiteValue source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
nMaxSiteValue source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
pDstVoronoi device memory voronoi diagram destination_image_pointer or NULL for no voronoi output.
nDstVoronoiStep voronoi destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiIndices device memory voronoi diagram destination_image_pointer or NULL for no voronoi indices output.
nDstVoronoiIndicesStep voronoi indices destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiManhattanDistances device memory voronoi relative Manhattan distances destination_image_pointer or NULL for no voronoi Manhattan output.
nDstVoronoiManhattanDistancesStep voronoi Manhattan destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstTransform device memory true euclidean distance transform destination_image_pointer or NULL for no transform output.
nDstTransformStep true euclidean distance transform destination_image_line_step (must be at least oSizeROI.width * sizeof(Npp32f)).
oSizeROI Region-of-Interest (ROI).
pDeviceBuffer pointer to scratch DEVICE memory buffer of size hpBufferSize (see nppiDistanceTransformPBAGetBufferSize() above)
nppStreamCtx Application Managed Stream Context.
Returns
Image Data Related Error Codes, ROI Related Error Codes
NppStatus nppiDistanceTransformPBA_8s16u_C1R_Ctx ( Npp8s pSrc,
int  nSrcStep,
Npp8s  nMinSiteValue,
Npp8s  nMaxSiteValue,
Npp16s pDstVoronoi,
int  nDstVoronoiStep,
Npp16s pDstVoronoiIndices,
int  nDstVoronoiIndicesStep,
Npp16s pDstVoronoiManhattanDistances,
int  nDstVoronoiManhattanDistancesStep,
Npp16u pDstTransform,
int  nDstTransformStep,
NppiSize  oSizeROI,
Npp8u pDeviceBuffer,
NppStreamContext  nppStreamCtx 
)

1 channel 8-bit signed grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional unsigned 16-bit truncated integer transform.

Parameters
pSrc device memory source_image_pointer.
nSrcStep Source-Image Line Step.
nMinSiteValue signed source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
nMaxSiteValue signed source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
pDstVoronoi device memory voronoi diagram destination_image_pointer or NULL for no voronoi output.
nDstVoronoiStep voronoi destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiIndices device memory voronoi diagram destination_image_pointer or NULL for no voronoi indices output.
nDstVoronoiIndicesStep voronoi indices destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiManhattanDistances device memory voronoi relative Manhattan distances destination_image_pointer or NULL for no voronoi Manhattan output.
nDstVoronoiManhattanDistancesStep voronoi Manhattan destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstTransform device memory true euclidean distance transform destination_image_pointer or NULL for no transform output.
nDstTransformStep true euclidean distance transform destination_image_line_step (must be at least oSizeROI.width * sizeof(Npp16u)).
oSizeROI Region-of-Interest (ROI).
pDeviceBuffer pointer to scratch DEVICE memory buffer of size hpBufferSize (see nppiDistanceTransformPBAGetBufferSize() above)
nppStreamCtx Application Managed Stream Context.
Returns
Image Data Related Error Codes, ROI Related Error Codes
NppStatus nppiDistanceTransformPBA_8s32f_C1R_Ctx ( Npp8s pSrc,
int  nSrcStep,
Npp8s  nMinSiteValue,
Npp8s  nMaxSiteValue,
Npp16s pDstVoronoi,
int  nDstVoronoiStep,
Npp16s pDstVoronoiIndices,
int  nDstVoronoiIndicesStep,
Npp16s pDstVoronoiManhattanDistances,
int  nDstVoronoiManhattanDistancesStep,
Npp32f pDstTransform,
int  nDstTransformStep,
NppiSize  oSizeROI,
Npp8u pDeviceBuffer,
NppStreamContext  nppStreamCtx 
)

1 channel 8-bit signed grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional 32-bit floating point transform.

Parameters
pSrc device memory source_image_pointer.
nSrcStep Source-Image Line Step.
nMinSiteValue signed source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
nMaxSiteValue signed source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
pDstVoronoi device memory voronoi diagram destination_image_pointer or NULL for no voronoi output.
nDstVoronoiStep voronoi destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiIndices device memory voronoi diagram destination_image_pointer or NULL for no voronoi indices output.
nDstVoronoiIndicesStep voronoi indices destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiManhattanDistances device memory voronoi relative Manhattan distances destination_image_pointer or NULL for no voronoi Manhattan output.
nDstVoronoiManhattanDistancesStep voronoi Manhattan destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstTransform device memory true euclidean distance transform destination_image_pointer or NULL for no transform output.
nDstTransformStep true euclidean distance transform destination_image_line_step (must be at least oSizeROI.width * sizeof(Npp32f)).
oSizeROI Region-of-Interest (ROI).
pDeviceBuffer pointer to scratch DEVICE memory buffer of size hpBufferSize (see nppiDistanceTransformPBAGetBufferSize() above)
nppStreamCtx Application Managed Stream Context.
Returns
Image Data Related Error Codes, ROI Related Error Codes
NppStatus nppiDistanceTransformPBA_8u16u_C1R_Ctx ( Npp8u pSrc,
int  nSrcStep,
Npp8u  nMinSiteValue,
Npp8u  nMaxSiteValue,
Npp16s pDstVoronoi,
int  nDstVoronoiStep,
Npp16s pDstVoronoiIndices,
int  nDstVoronoiIndicesStep,
Npp16s pDstVoronoiManhattanDistances,
int  nDstVoronoiManhattanDistancesStep,
Npp16u pDstTransform,
int  nDstTransformStep,
NppiSize  oSizeROI,
Npp8u pDeviceBuffer,
NppStreamContext  nppStreamCtx 
)

1 channel 8-bit unsigned grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional unsigned 16-bit truncated integer transform.

Parameters
pSrc device memory source_image_pointer.
nSrcStep Source-Image Line Step.
nMinSiteValue source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
nMaxSiteValue source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
pDstVoronoi device memory voronoi diagram destination_image_pointer or NULL for no voronoi output.
nDstVoronoiStep voronoi destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiIndices device memory voronoi diagram destination_image_pointer or NULL for no voronoi indices output.
nDstVoronoiIndicesStep voronoi indices destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiManhattanDistances device memory voronoi relative Manhattan distances destination_image_pointer or NULL for no voronoi Manhattan output.
nDstVoronoiManhattanDistancesStep voronoi Manhattan destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstTransform device memory true euclidean distance transform destination_image_pointer or NULL for no transform output.
nDstTransformStep true euclidean distance transform destination_image_line_step (must be at least oSizeROI.width * sizeof(Npp16u)).
oSizeROI Region-of-Interest (ROI).
pDeviceBuffer pointer to scratch DEVICE memory buffer of size hpBufferSize (see nppiDistanceTransformPBAGetBufferSize() above)
nppStreamCtx Application Managed Stream Context.
Returns
Image Data Related Error Codes, ROI Related Error Codes
NppStatus nppiDistanceTransformPBA_8u32f_C1R_Ctx ( Npp8u pSrc,
int  nSrcStep,
Npp8u  nMinSiteValue,
Npp8u  nMaxSiteValue,
Npp16s pDstVoronoi,
int  nDstVoronoiStep,
Npp16s pDstVoronoiIndices,
int  nDstVoronoiIndicesStep,
Npp16s pDstVoronoiManhattanDistances,
int  nDstVoronoiManhattanDistancesStep,
Npp32f pDstTransform,
int  nDstTransformStep,
NppiSize  oSizeROI,
Npp8u pDeviceBuffer,
NppStreamContext  nppStreamCtx 
)

1 channel 8-bit unsigned grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram output and/or optional 32-bit floating point transform.

Parameters
pSrc Source-Image Pointer.
nSrcStep Source-Image Line Step.
nMinSiteValue source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
nMaxSiteValue source image pixel values >= nMinSiteValue and <= nMaxSiteValue are considered sites (traditionally 0s).
pDstVoronoi device memory voronoi diagram destination_image_pointer or NULL for no voronoi output.
nDstVoronoiStep voronoi destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiIndices device memory voronoi diagram destination_image_pointer or NULL for no voronoi indices output.
nDstVoronoiIndicesStep voronoi indices destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiManhattanDistances device memory voronoi relative Manhattan distances destination_image_pointer or NULL for no voronoi Manhattan output.
nDstVoronoiManhattanDistancesStep voronoi Manhattan destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstTransform device memory true euclidean distance transform destination_image_pointer or NULL for no transform output.
nDstTransformStep true euclidean distance transform destination_image_line_step (must be at least oSizeROI.width * sizeof(Npp32f)).
oSizeROI Region-of-Interest (ROI).
pDeviceBuffer pointer to scratch DEVICE memory buffer of size hpBufferSize (see nppiDistanceTransformPBAGetBufferSize() above)
nppStreamCtx Application Managed Stream Context.
Returns
Image Data Related Error Codes, ROI Related Error Codes
NppStatus nppiDistanceTransformPBAGetBufferSize ( NppiSize  oSizeROI,
size_t *  hpBufferSize 
)

Calculate scratch buffer size needed for the DistanceTransformPBA function based on destination image SizeROI width and height.

Parameters
oSizeROI Region-of-Interest (ROI).
hpBufferSize Required buffer size. Important: hpBufferSize is a host pointer. Scratch Buffer and Host Pointer.
Returns
Image Data Related Error Codes, ROI Related Error Codes
NppStatus nppiSignedDistanceTransformPBA_32f_C1R_Ctx ( Npp32f pSrc,
int  nSrcStep,
Npp32f  nCutoffValue,
Npp32f  nSubPixelXShift,
Npp32f  nSubPixelYShift,
Npp16s pDstVoronoi,
int  nDstVoronoiStep,
Npp16s pDstVoronoiIndices,
int  nDstVoronoiIndicesStep,
Npp16s pDstVoronoiManhattanDistances,
int  nDstVoronoiManhattanDistancesStep,
Npp32f pDstTransform,
int  nDstTransformStep,
NppiSize  oSizeROI,
Npp8u pDeviceBuffer,
NppStreamContext  nppStreamCtx 
)

1 channel 32-bit floating point grayscale to optional 1 channel 16-bit signed integer euclidean distance voronoi diagram and 32-bit floating point transform with optional sub-pixel shifts.

For this particular version of the function acceptable input pixel intensities are 0.0f for those fully outside of connected pixel regions, between 0.0f and 1.0f representing the percentage of connected pixel region sub-pixel coverage within a particular pixel (region contour), and 1.0f for pixels that are fully contained within closed connected pixel regions. This function executes in two passes, the first pass prioritizes pixels outside of closed regions, the second pass prioritizes pixels within closed regions. The two passes are then merged on output. The function assumes that fully covered pixels have centers located at sub-pixel locations of .5,.5 .

ExampleSignedDistanceTransform.png
ExampleShiftedSignedDistanceTransform.png
Parameters
pSrc Source-Image Pointer.
nSrcStep Source-Image Line Step.
nCutoffValue source image pixel values < nCutoffValue will be considered fully outside of pixel regions (and set to -1).
nSubPixelXShift final transform distances will be shifted in the X direction by this sub-pixel fraction.
nSubPixelYShift final transform distances will be shifted in the Y direction by this sub-pixel fraction.
pDstVoronoi device memory voronoi diagram destination_image_pointer or NULL for no voronoi output.
nDstVoronoiStep voronoi destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiIndices device memory voronoi diagram destination_image_pointer or NULL for no voronoi indices output.
nDstVoronoiIndicesStep voronoi indices destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstVoronoiManhattanDistances device memory voronoi relative Manhattan distances destination_image_pointer or NULL for no voronoi Manhattan output.
nDstVoronoiManhattanDistancesStep voronoi Manhattan destination_image_line_step (must be at least oSizeROI.width * 2 * sizeof(Npp16s)).
pDstTransform device memory true euclidean distance transform destination_image_pointer or NULL for no transform output.
nDstTransformStep true euclidean distance transform destination_image_line_step (must be at least oSizeROI.width * sizeof(Npp32f)).
oSizeROI Region-of-Interest (ROI).
pDeviceBuffer pointer to scratch DEVICE memory buffer of size hpBufferSize (see nppiSignedDistanceTransformPBAGetBufferSize() above)
nppStreamCtx Application Managed Stream Context.
Returns
Image Data Related Error Codes, ROI Related Error Codes
NppStatus nppiSignedDistanceTransformPBAGetBufferSize ( NppiSize  oSizeROI,
size_t *  hpBufferSize 
)

Calculate scratch buffer size needed for the SignedDistanceTransformShiftPBA function based on destination image SizeROI width and height.

Parameters
oSizeROI Region-of-Interest (ROI).
hpBufferSize Required buffer size. Important: hpBufferSize is a host pointer. Scratch Buffer and Host Pointer.
Returns
Image Data Related Error Codes, ROI Related Error Codes