MATLAB Imaging data in Matlab: Point cloud -> interpolated surface?

AI Thread Summary
The discussion centers on the challenge of interpolating protein concentration values from a point cloud onto a triangular mesh representing an embryo's surface. The user has aligned the point cloud with the mesh but finds that standard interpolation functions in Matlab, such as griddata, are inadequate. Specifically, griddata3 only offers linear interpolation or nearest neighbor matching, which leads to issues like NaN values and excessive error. Suggestions include exploring Matlab's spline or polynomial interpolation methods and utilizing MeshLab, an open-source tool for mesh processing, which can handle tasks like projecting and transferring attributes between meshes and point clouds. Ultimately, the user opted for a beta software package called metch, which offers similar functionalities, and plans to compare it with MeshLab.
grumpymrgruff
Messages
16
Reaction score
2
I've been trying to massage my data into a usable form for a while now and thought I'd consult the brain trust.

I have a triangular mesh that represents the surface of an embryo. I also have a (x,y,z,c) point cloud near that surface where c represents a protein concentration (proportional to image intensity).

I have aligned the point cloud with the mesh and projected the point cloud coordinates onto the surface of the mesh.

My question is this: Are there any built-in or user-made Matlab tools that will let me interpolate on the surface to estimate protein concentration values at my mesh vertices? The generic interp functions don't seem to be what I'm looking for.

Thanks!
 
Physics news on Phys.org
matonski said:
What about griddata?

Thanks for the suggestion.

I gave griddata3 a try, but it can only do linear interpolation or nearest neighbor matching. For some reason, linear interp returns half of the interpolated points as NaNs. Nearest neighbor assignment introduces too much error.

Any idea how to take advantage of Matlab's spline or polynomial interp algorithms in this case?
 
I didn't read over it too carefully, but perhaps this blog post might be useful.
 
You should try to use http://meshlab.sourceforge.net" , a portable open source mesh processing tool that can do a lot of things with point clouds and meshes (like projecting, transferring attribute between meshes and point clouds, measuring distances etc);
for more info look at the MeshLab site and to the development blog:

http://meshlab.sourceforge.net"
http://meshlabstuff.blogspot.com"
 
Last edited by a moderator:
ALoopingIcon said:
You should try to use http://meshlab.sourceforge.net" , a portable open source mesh processing tool that can do a lot of things with point clouds and meshes (like projecting, transferring attribute between meshes and point clouds, measuring distances etc);
for more info look at the MeshLab site and to the development blog:

http://meshlab.sourceforge.net"
http://meshlabstuff.blogspot.com"

Thanks. I ended up using metch, a beta software package which has similar functionality. I'll have to play with meshlab and compare.
 
Last edited by a moderator:
Back
Top