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

In summary, metch can interpolate a point cloud on the surface of a mesh. However, it is not as accurate as griddata3 and may produce NaN values.
  • #1
grumpymrgruff
17
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
  • #2
  • #3
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?
 
  • #4
I didn't read over it too carefully, but perhaps this blog post might be useful.
 
  • #5
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:
  • #6
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:

1. What is "imaging data" in Matlab?

Imaging data in Matlab refers to the numerical representation of images or other visual data that can be analyzed and manipulated using the Matlab software. This can include point clouds, which are collections of 3D points in space, and interpolated surfaces, which are 3D surfaces created from point cloud data.

2. How can I import point cloud data into Matlab?

To import point cloud data into Matlab, you can use the pcread function, which allows you to read point cloud data from various file formats such as PLY, LAS, and XYZ. You can also use the pointCloud function to create a point cloud object from a matrix of point coordinates.

3. What is an interpolated surface in Matlab?

An interpolated surface in Matlab is a 3D surface that is created from a point cloud using interpolation methods. This means that the surface is estimated based on the points in the point cloud and does not necessarily pass through all of the points. Interpolated surfaces are useful for visualizing and analyzing point cloud data in a more continuous and smooth manner.

4. How do I create an interpolated surface from a point cloud in Matlab?

To create an interpolated surface from a point cloud in Matlab, you can use the pcfitplane or pcfitpoly functions to fit a plane or polynomial surface to the points in the point cloud. Alternatively, you can use the griddata function to create a regular grid of points and then interpolate values for those points based on the point cloud data.

5. Can I export interpolated surfaces from Matlab?

Yes, you can export interpolated surfaces from Matlab using the pcwrite function, which allows you to export point cloud data to various file formats including PLY, LAS, and XYZ. You can also use the surf2stl function to export a 3D surface in STL format, which is commonly used for 3D printing.

Similar threads

  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
3K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • General Engineering
Replies
1
Views
4K
Replies
4
Views
2K
  • Mechanical Engineering
Replies
1
Views
3K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
8K
Replies
1
Views
2K
  • Calculus and Beyond Homework Help
Replies
11
Views
11K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
4K
Back
Top