Developer Reference for Intel® Integrated Performance Primitives
Performs the look-up coordinate mapping of the elements of the source volume.
Case 1: Operation on non-contiguous volume data
IppStatus ipprRemap_8u_C1PV(const Ipp8u* pSrc[], IpprVolume srcVolume, int srcStep, IpprCuboid srcVoi, const Ipp32f* pxMap[], const Ipp32f* pyMap[], const Ipp32f* pzMap[], int mapStep, Ipp8u* pDst[], int dstStep, IpprVolume dstVolume, int interpolation);
IppStatus ipprRemap_16u_C1PV(const Ipp16u* pSrc[], IpprVolume srcVolume, int srcStep, IpprCuboid srcVoi, const Ipp32f* pxMap[], const Ipp32f* pyMap[], const Ipp32f* pzMap[], int mapStep, Ipp16u* pDst[], int dstStep, IpprVolume dstVolume, int interpolation);
IppStatus ipprRemap_32f_C1PV(const Ipp32f* pSrc[], IpprVolume srcVolume, int srcStep, IpprCuboid srcVoi, const Ipp32f* pxMap[], const Ipp32f* pyMap[], const Ipp32f* pzMap[], int mapStep, Ipp32f* pDst[], int dstStep, IpprVolume dstVolume, int interpolation);
Case 2: Operation on contiguous volume data
IppStatus ipprRemap_8u_C1V(const Ipp8u* pSrc, IpprVolume srcVolume, int srcStep, int srcPlaneStep, IpprCuboid srcVoi, const Ipp32f* pxMap, const Ipp32f* pyMap, const Ipp32f* pzMap, int mapStep, int mapPlaneStep, Ipp8u* pDst, int dstStep, int dstPlaneStep, IpprVolume dstVolume, int interpolation);
IppStatus ipprRemap_16u_C1V(const Ipp16u* pSrc, IpprVolume srcVolume, int srcStep, int srcPlaneStep, IpprCuboid srcVoi, const Ipp32f* pxMap, const Ipp32f* pyMap, const Ipp32f* pzMap, int mapStep, int mapPlaneStep, Ipp16u* pDst, int dstStep, int dstPlaneStep, IpprVolume dstVolume, int interpolation);
IppStatus ipprRemap_32f_C1V(const Ipp32f* pSrc, IpprVolume srcVolume, int srcStep, int srcPlaneStep, IpprCuboid srcVoi, const Ipp32f* pxMap, const Ipp32f* pyMap, const Ipp32f* pzMap, int mapStep, int mapPlaneStep, Ipp32f* pDst, int dstStep, int dstPlaneStep, IpprVolume dstVolume, int interpolation);
ippi.h
Headers: ippcore.h, ippvm.h, ipps.h
Libraries: ippcore.lib, ippvm.lib, ipps.lib
pSrc |
Array of pointers to the planes in the source volume. |
srcVolume |
Size of the source volume. |
srcStep |
Distance, in bytes, between the starting points of consecutive lines in every plane of the source volume. |
srcPlaneStep |
Distance, in bytes, between the starting points of consecutive lines in every plane of the source volume (for 8u_C1V, 16u_C1V, and 32f_C1V flavors). |
srcVoi |
Region of interest in the source volume. |
pxMap, pyMap, pzMap |
Arrays of pointers to the starts of the 2D buffers, containing tables of the x-, y- and z-coordinates. If the referenced coordinates correspond to a voxel outside of the source VOI, no mapping of the source pixel is done. |
mapStep |
Step, in bytes, through the buffers containing tables of the x-, y- and z-coordinates. |
mapPlaneStep |
Distance, in bytes, between the starting points of consecutive lines in every plane of the buffers containing tables (for 8u_C1V, 16u_C1V, and 32f_C1V flavors). |
pDst |
Array of the pointers to the planes in the destination volume. |
dstStep |
Distance, in bytes, between the starting points of consecutive lines in every plane of the destination volume. |
dstPlaneStep |
Distance, in bytes, between the starting points of consecutive lines in every plane of the destination volume (for 8u_C1V, 16u_C1V, and 32f_C1V flavors). |
dstVolume |
Size of the destination volume. |
interpolation |
The type of interpolation, the following values are possible:
|
This function operates with volume of interest (VOI).
This function transforms the source volume by remapping its voxels. Voxel remapping is performed using pxMap, pyMap and pzMap buffers to look-up the coordinates of the source volume voxel that is written to the target destination volume voxel. The application has to supply these look-up tables.
The remapping of the source voxels to the destination voxels is made according to the following formulas:
dst_voxel[i, j, k] = src_voxel[ pxMap[i, j, k], pyMap[i, j,k], pzMap [i , j,k]]
where i, j, k are the x-, y- and z-coordinates of the target destination volume voxel dst_voxel;
pxMap[i, j, k] contains the x-coordinates of the source volume voxels src_voxel that are written to dst_voxel.
pyMap[i, j, k] contains the y-coordinates of the source volume voxels src_voxel that are written to dst_voxel.
pzMap[i, j, k] contains the z-coordinates of the source volume voxels src_voxel that are written to dst_voxel.
ippStsNoErr |
Indicates no error. Any other value indicates an error or a warning. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
ippStsSizeErr |
Indicates an error when width, or height, or depth of the source and destination volumes has zero or negative value. |
ippStsInterpolationErr |
Indicates an error when interpolation has an illegal value. |
ippStsWrongIntersectVOI |
Indicates a warning when srcVoi has no intersection with the source volume, operation is not performed. |