Does anyone know if it is possible to use the curve fitting tool to measure the radius of curvature of surfaces?

조회 수: 2 (최근 30일)
Hi,
I am interested in measuring the the principal curvatures of teeth using surface files. I am new to MatLab and have no training but I was wondering if anyone knows if it is possible to import surfaces to MatLab and then use an application to measure radius of curvature from certain points of the surface.
Any help would be greatly appreciated,
Karen
  댓글 수: 2
Star Strider
Star Strider 2014년 7월 1일
Are your data images (CT, MRI) or something else? We may not (at least I don’t) know what a ‘surface file’ is or how it’s formatted.
It also depends on how many data you have and how noisy they are. In my very limited experience, some teeth have many radii-of-curvature on the occlusal surface, so it also depends on those details. What part(s) of teeth are you measuring and modeling?
Karen
Karen 2014년 7월 3일
Hello, images are created from CT scans which are then used to produce a surface file (ply., stl. etc.)
Teeth often have highly complex surfaces but the parts I'm interested in are the cusps which are the small cone like features on the biting surface.
Hope this makes a a bit more sense :-S sorry I should have been a bit more detailed

댓글을 달려면 로그인하십시오.

답변 (3개)

Star Strider
Star Strider 2014년 7월 3일
‘Hello, images are created from CT scans which are then used to produce a surface file (ply., stl. etc.)’
That helps clarify the problem. There are a suite of programmes available, of which STLA Files - ASCII stereolithography files is one, that will import .stl files into MATLAB. (I couldn’t find any for .tri files, there or elsewhere.) Surf the list of files in MATLAB Source Codes there for other options.
I get the impression that you will eventually want to do finite-element analyses on your data, estimating forces, stress, strain, and such. You might also consider Bezier surface construction as well. I would be surprised if someone has not already done something along those lines, but I am not at all familiar with the dental biomechanics literature. (Biomechanics are entirely outside of my areas of expertise, so I will only mention them here and not go further.) Searching the File Exchange, there are 62 submissions on various aspects of finite element modeling that may help in your research.
  댓글 수: 4
Star Strider
Star Strider 2014년 7월 3일
My pleasure!
Most MATLAB programs to fit surfaces (and all that I’m aware of) need quad rather than triangular surface meshes to fit parameters. See the documentation for Delaunay Triangulation for help on this.

댓글을 달려면 로그인하십시오.


John D'Errico
John D'Errico 2014년 7월 3일
If your goal is to compute radii of curvature at some maximum point on the surface, Sean suggests a sphere fit, which is I think in the right direction, but not the right answer.
I'd suggest that you choose a set of points that lie in the immediate vicinity of your chosen location. Then run an ellipsoid fit through them.
An ellipsoid will have three axes of interest here.
However, there is NO assurance at any arbitrary location on the surface, that the surface even has the correct sign on those curvatures for any such fit to be correct. For example, suppose you choose a saddle point? Here we might have a positive curvature in one arbitrary direction, and negative one in the perpendicular direction. And there is no assurance at all that these directions will be aligned with the axes. So really, even an ellipsoid fit is inappropriate in general.
Perhaps a better choice is to fit a general complete quadratic polynomial model at any location to the points in the immediate vicinity. You could then trivially compute a Hessian matrix from that model. (In fact, if you have a gridded surface, you should be able to do it all with three calls to conv2, which would give you estimated hessian matrices over the entire gridded domain. This only works if you have a nice 2-d rectangularly gridded surface though, and I gather you don't have that, but a triangulated surface.)
Anyway, once you have a Hessian matrix, the radius of curvature in any direction is easily computed, regardless of the local shape.

Sean de Wolski
Sean de Wolski 2014년 7월 1일
I would use sphereFit on the File Exchange to fit the sphere.
Here's a blog post with an example:
  댓글 수: 2
John D'Errico
John D'Errico 2014년 7월 3일
편집: John D'Errico 2014년 7월 3일
I don't think a sphere fit is right, as the surface likely has differing radius in various directions. An ellipsoid fit seems more correct, but if the curvature may be positive or negative at some locations (the surface of a toooth!) then even an ellipsoid is incorrect.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Delaunay Triangulation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by