Performs the look-up coordinate mapping of the elements of the source volume.
Operation on non-contiguous volume data
IppStatus ipprRemap_8u_C1PV(const Ipp8u* const pSrc[], IpprVolume srcVolume, int srcStep, IpprCuboid srcVoi, const Ipp32f* const pxMap[], const Ipp32f* const pyMap[], const Ipp32f* const pzMap[], int mapStep, Ipp8u* const pDst[], int dstStep, IpprVolume dstVolume, int interpolation);
IppStatus ipprRemap_16u_C1PV(const Ipp16u* const pSrc[], IpprVolume srcVolume, int srcStep, IpprCuboid srcVoi, const Ipp32f* const pxMap[], const Ipp32f* const pyMap[], const Ipp32f* const pzMap[], int mapStep, Ipp16u* const pDst[], int dstStep, IpprVolume dstVolume, int interpolation);
IppStatus ipprRemap_32f_C1PV(const Ipp32f* const pSrc[], IpprVolume srcVolume, int srcStep, IpprCuboid srcVoi, const Ipp32f* const pxMap[], const Ipp32f* const pyMap[], const Ipp32f* const pzMap[], int mapStep, Ipp32f* const pDst[], int dstStep, IpprVolume dstVolume, int interpolation);
pSrc |
Array of pointers to the planes in the source volume. |
srcVolume |
Size of the source volume. |
srcStep |
Distance in bytes between starts of consecutive lines in every plane of the source volume. |
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. |
pDst |
Array of the pointers to the planes in the destination volume. |
dstStep |
Distance in bytes between starts of consecutive lines in every plane of the destination volume. |
dstVolume |
Size of the destination volume. |
interpolation |
The type of interpolation, the following values are possible: IPPI_INTER_NN - nearest neighbor interpolation, IPPI_INTER_LINEAR - trilinear interpolation, IPPI_INTER_CUBIC - tricubic interpolation, IPPI_INTER_CUBIC2P_BSPLINE - B-spline, IPPI_INTER_CUBIC2P_CATMULLROM - Catmull-Rom spline, IPPI_INTER_CUBIC2P_B05C03 - special two-parameters filter (1/2, 3/10). |
The function ipprRemap is declared in the ippr.h file. It 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 condition if one of the specified pointers is NULL. |
ippStsSizeErr |
Indicates an error condition if width, or height, or depth of the source and destination volumes has zero or negative value. |
ippStsInterpolationErr |
Indicates an error condition if interpolation has an illegal value. |
ippStsWrongIntersectVOI |
Indicates a warning if srcVoi has not intersection with the source volume, operation is not performed. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.