SHTInv

Computes the inverse spherical harmonic transform.

Syntax

IppStatus ipprSHTInv_32f_C1(const Ipp32f* pSrcClm, Ipp32u L, const Ipp32f* pX, const Ipp32f* pY, const Ipp32f* pZ, Ipp32f* pDst, Ipp32u N, IppSHState* pSHState);

IppStatus ipprSHTInv_32f_P3C3(const Ipp32f* pSrcClm[3], Ipp32u L, const Ipp32f* pX, const Ipp32f* pY, const Ipp32f* pZ, Ipp32f* pDst, Ipp32u N, IppSHState* pSHState);

IppStatus ipprSHTInv_32f_P3(const Ipp32f* pSrcClm[3], Ipp32u L, const Ipp32f* pX, const Ipp32f* pY, const Ipp32f* pZ, Ipp32f* pDst[3], Ipp32u N, IppSHState* pSHState);

Parameters

pSrcClm

Pointer to the source vector or an array of pointers to the source vectors of pre-computed SHT coefficients of length (L+1)(L+1).

L

Order, can not be greater than maximum order specified in the function ipprSHInit.

pX, pY, pZ

Pointers to the source vectors representing a unit sphere points in Cartesians coordinates.

pDst

Pointer to the destination vector or array pointers to the destination vectors containing the function values reconstructed for each input point.

N

Number of Cartesians points, that is the length of the source vectors pX, pY, pZ and destination vector (or vectors).

pSHState

Pointer to the external buffer for the SHT state structure that must be initialized with maximum order not less than L.

Description

The function ipprSHTInv is declared in the ippr.h file.

All function flavors perform inverse spherical harmonic transform (SHT), that is they reconstruct the function f(x, y, z) defined on a unit sphere by use of its pre-computed SHT coefficients {Clm:0 ≤ lL, |m| ≤ L}, that are stored in the source vector or array of vectors pSrcClm in order in which they are produced by the function ipprSHTFwd.

For each input point (pX[I], pY[I], pZ[I]), 0 ≤ I < N, it is supposed that pX[I]2 + pY[I]2 + pZ[I]2 =1.

The functions perform the following steps:

1. Compute the SH functions for each input point {Ylm (pX[I], pY[I], pZ[I]) :0 ≤ lL, |m| ≤ L}

2. Approximate a unit sphere function f(x, y, z) for each input point by (pX[I], pY[I], pZ[I]) .

The function ipprSHTInv_32f_C1 calculates



The function ipprSHTInv_32f_P3C3 calculates



for 0 ≤ k ≤ 3.

The function ipprSHTInv_32f_P3 calculates



for 0 ≤ k ≤ 3.

The functions ipprSHTInv_32f_P3C3 and ipprSHTInv_32f_P3 are suitable to reconstruct a color function, for example f:(x, y, z) --> R, G, B, for both pixel-ordered or planar images respectively.

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error.

ippStsNullPtrErr

Indicates an error if one of the specified pointers is NULL.

ippStsSizeErr

Indicates an error if N is equal to 0.

ippStsRangeErr

Indicates an error condition if L is greater that maximum order specified in the function ipprSHInit.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.