Extract Gridded Data from Isosurface
Mostrar comentarios más antiguos
I want to get the x, y and z data of a surface that I extract from a volume via isosurface. I am doing it in the following way, but I suspect that it's horribly inefficient (because I cannot believe there isn't a more straightforward way) and possibly inaccurate because of some of the results I have been getting. Can anyone suggest a simplier way?
I want the data at points given by (just an example):
[x,y] = meshgrid(linspace(0,10,30),linspace(0,10,30))
The data is available from this:
[faces,verts] = isosurface(Xa, Ya, Za, data, 0);
Then I am doing this to get the surface on the coordinates I want (x,y):
[X1,Y1,Z1] = xyz2grid(verts(:,1),verts(:,2),verts(:,3));
MySurface = interp2(X1,Y1,Z1,x,y);
NaNres = sum(isnan(MySurface(:)));
if NaNres > 0
MySurface = inpaint_nans(MySurface,3);
end
2 comentarios
darova
el 25 de Mzo. de 2021
Everything looks ok. What is wrong?
Paul Safier
el 25 de Mzo. de 2021
Editada: Paul Safier
el 25 de Mzo. de 2021
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Image Processing Toolbox en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

