MATLAB: Volumetric Interpolation using Slice function, how to obtain colour values from the image of the plane

3d interpolationinterpolationslice

Hi guys,
I have been playing around with the flow example provided on this link http://www.mathworks.com/help/techdoc/visualize/f5-3558.html and at the part where we take a slice of the 3d data set using
rotate(hslice,[-1,0,0],-45)
xd = get(hslice,'XData');
yd = get(hslice,'YData');
zd = get(hslice,'ZData');
h = slice(x,y,z,v,xd,yd,zd);
I was wondering if it is possible to get the V values of the function at the points of xd,yd and zd or atleast get the colour values at these points that are generated in the image. Since MatLAB documentation says the slice function uses 3d interpolation to colour the image I was wondering if there is a way to extract the interpolated values that it gets for the function V (the values at the points xd,yd,zd) before it does the colouration.

Best Answer

You can extract the CData property of the slice surface h:
get(h, 'CData')
That should get you the values you're looking for.
However, if you only want those values and you aren't interested in the visualization at all, you can just use interp3.