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

Click For Summary

Discussion Overview

The discussion revolves around the challenge of interpolating protein concentration values from a point cloud onto a triangular mesh surface in Matlab. Participants explore various tools and methods for achieving this interpolation, focusing on the limitations of existing functions and alternative software options.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Experimental/applied

Main Points Raised

  • One participant describes their data setup, including a triangular mesh of an embryo's surface and a point cloud representing protein concentration.
  • Another participant suggests using the griddata function for interpolation.
  • A follow-up response mentions trying griddata3, noting its limitations with linear interpolation and nearest neighbor methods, which result in NaN values and excessive error, respectively.
  • There is a suggestion to explore Matlab's spline or polynomial interpolation algorithms as potential solutions.
  • One participant recommends using MeshLab, an open-source tool for processing point clouds and meshes, highlighting its various functionalities.
  • A later reply mentions using a beta software package called metch, which has similar capabilities to MeshLab, and expresses intent to compare the two tools.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the best method for interpolation, as multiple approaches and tools are suggested, each with its own limitations and challenges.

Contextual Notes

Participants express uncertainty about the effectiveness of various interpolation methods and the specific conditions under which they fail, such as the occurrence of NaN values in griddata3.

Who May Find This Useful

Researchers and practitioners working with point cloud data and mesh surfaces in Matlab, particularly in fields related to imaging and computational biology.

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:

Similar threads

Replies
1
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
6K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
9K
  • · Replies 11 ·
Replies
11
Views
12K
Replies
1
Views
5K