The points are puntures through the film by a physical template, so the distance between the true points should be very close to the measured distance for the template. But when the holes are made the film might be slightly rotated. What this means is that the scanned film x,y values are meaningless when comparing to the template x,y values. BUT the delta values (relative distances) between the points should closely correlate.

You might have more luck with a rigid point correspondence algorithm, then.

Edit: Oops, posted too soon. Provided that the deltas are pretty small, the Voronoi diagram solution should still work. If it does, it will probably be easier to implement and much quicker than a point-correspondence algorithm (most of the PC approaches I'm aware of start by building an affinity matrix between all of the feature points, then do an eigenvalue decomposition on that, so they're going to be pretty slow compared to a Voronoi-cell lookup).

If you're looking for hella speed and have the resources to do it, you could probably do the Voronoi lookup fairly easily with programmable graphics hardware (read: consumer graphics cards no more than, say, two years old). Iterating through, say, a thousand possible rotations of the film onto the template should be a piece of cake; that's exactly the sort of thing that modern graphics cards are optimized for. If this sounds like something you have the resources to do, send me a /msg -- we're getting a bit off-topic here, but we're also getting closer to my area of research.

--
F o x t r o t U n i f o r m
Found a typo in this node? /msg me
% man 3 strfry


In reply to Re^2: Interesting problem fitting points to a template (algorithm?) by FoxtrotUniform
in thread Interesting problem fitting points to a template (algorithm?) by doowah2004

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.