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

3 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Patrick Kalita
Patrick Kalita am 19 Sep. 2011
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.
  2 Kommentare
Rafay
Rafay am 19 Sep. 2011
I dont understand the data outputted by CData it gives me a 2 dimensional set from with many NaN followed by some numbers, surprisingly when i run vi = interp3(x,y,z,v,xd,yd,zd); i get the exact same output. what do these outputs represent?
Patrick Kalita
Patrick Kalita am 20 Sep. 2011
Those are the values found by interpolating your original data ( v = f(x,y,z) ) at the points defined by the mesh (xd, yd, zd).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by