Needing help fitting a parametric path to a surface defined by noisy X Y Z data (better explanation)
dan_sinclair
I've had problems describing my problem in such a way that people can understand what I'm trying to do. To assist, I've put together a graphic which explains things a more clearly (I hope). To access this graphic, please go to http://www.box.net/shared/7prtbkil0q This link takes you to a 1.1 MByte .jpg file I've uploaded to the file-sharing website called simply 'Box' (www.box.net). This is a safe site, and I can guarantee that the jpg file is free of nasties.
I would appreciate any input from anyone. The schematic shows all of what I'm trying to do, and I think that there might be a much easier/mathematically elegant way of doing what I'm attempting.
Thank you very much for your help!
Cheers,
Dan Sinclair
Just a thought -- using the fit to slope as a boundary constraint is, if I understand, constraining the curvature across the entire ring based on the curvature(s) of a (sometimes limited) segment. From the dispersal of curvatures I see for many of the partial rings, I wonder whether this fitting method might eventually prove too unreliable.
Even though you cannot see entire rings, can you assign each (or some of them) segments to a "sequence number" in order from inner to outer? Then, you might be able to fit segments belonging to the same "sequence number" that go partially around in more than one location. On hand the completed set of fitted rings, set "artificial" data points at random theta locations between those completed rings, constraining the r values to be between the innermost and outermost defined ring position for that given (as yet incomplete ring) sequence number. Then, fit to the partial rings segments + artificial data points.
In other words, rather than trying to use the slope of a partial ring segment as a guide to where the rest of that ring segment should be going, use (r,theta) positions of two neighboring (inner- and outer-most), already well-defined and complete rings as clear constraints on where it must not go. The problem then becomes one of sequentially defining complete rings as boundaries for the bordering incomplete ones, then "filling in the gaps" with the partials.
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAH
December 8, 2009 at 03:50 pm - Permalink
What you're asking for isn't an implicit fit; Igor can do that (FuncFit/ODR=3). This is called "multi-response modelling" in some circles. The ODRPACK fitting package that supports Igor's ODR fitting actually does support this, but I haven't implemented access to it. Darn.
It occurs to me that you can use the technique described in technote PTN002 complex fit. A fit to complex data is just a special case of multi-response fitting. And since you want just two values, you can think of your y and z as real and imaginary parts.
Find technotes in the Igor Pro folder, in Technical Notes:Igor Pro Tech Notes:.
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
December 8, 2009 at 03:52 pm - Permalink