Interpolointifunktioista toteutetaan sekä reaaliset että kompleksiset versiot.
Reaaliversiot:
real interpolate_nn_real(image_real *in, point p);
real interpolate_linear_real(image_real *in, point p);
real interpolate_nn_around_X_real(image_real *in,
double y, double z, int i);
real interpolate_nn_around_Y_real(image_real *in,
double z, double x, int j);
real interpolate_nn_around_Z_real(image_real *in,
double x, double y, int k);
real interpolate_linear_around_X_real(image_real *in,
double y, double z, int i);
real interpolate_linear_around_Y_real(image_real *in,
double z, double x, int j);
real interpolate_linear_around_Z_real(image_real *in,
double x, double y, int k);
real interpolate_sinc_around_X_real(image_real *in,
double y, double z, int i);
real interpolate_sinc_around_Y_real(image_real *in,
double z, double x, int j);
real interpolate_sinc_around_Z_real(image_real *in,
double x, double y, int k);
Imaginääriversiot:
complex interpolate_nn_complex(image_complex *in, point p);
complex interpolate_linear_complex(image_complex *in, point p);
complex interpolate_nn_around_X_complex(image_complex *in,
double y, double z, int i);
complex interpolate_nn_around_Y_complex(image_complex *in,
double z, double x, int j);
complex interpolate_nn_around_Z_complex(image_complex *in,
double x, double y, int k);
complex interpolate_linear_around_X_complex(image_complex *in,
double y, double z, int i);
complex interpolate_linear_around_Y_complex(image_complex *in,
double z, double x, int j);
complex interpolate_linear_around_Z_complex(image_complex *in,
double x, double y, int k);
complex interpolate_sinc_around_X_complex(image_complex *in,
double y, double z, int i);
complex interpolate_sinc_around_Y_complex(image_complex *in,
double z, double x, int j);
complex interpolate_sinc_around_Z_complex(image_complex *in,
double x, double y, int k);
Interpolointifunktioiden reaali- ja kompleksiversiot toimivat analogisesti,
joten seuraavassa rajoitutaan tarkastelemaan ainoastaan reaalista tapausta.
Interpolointialgoritmin toimintaa on käsitelty tarkemmin luvussa
7.1.
Funktio interpolate_nn_real palauttaa sen kuvan in pisteen intensiteetin, joka on pisteen p lähin naapuri. Jos pisteen p lähin naapuri on kuvan ulkopuolella, palautetaan 0.
Funktio interpolate_linear_real palauttaa lineaarisen interpoloinnin mukaisen approksimaation pisteen p intensiteetille. Funktio interpolate_sinc_real puolestaan käyttää interpolointiin sinc-interpolointimenetelmää.
Edellä mainitut funktiot interpoloivat kolmiulotteisesti. Projisoinnissa tarvitaan myös kaksiulotteista interpolointia, jota varten kustakin interpolointifunktiosta interpolate_I_real on myös versiot interpolate_I_around_X_real, interpolate_I_around_Y_real ja interpolate_I_around_Z_real. Nämä funktiot interpoloivat kaksiulotteisesti interpolointimenetelmää I käyttäen tasojen yz, zx ja xy suuntaisissa pisteen p sisältävissä tasoissa.
Kompleksi-interpolointifunktiot toimivat samoin kuin reaaliset vastineensa, paitsi että ne huomioivat erikseen kompleksikuvan reaali- ja imaginääriosat.