loading
 
Circles
Clint Chapman from Canada  [20 posts]
15 year
The circles module doesn't appear to recognize circles with a radius larger than 100 pixels.  I'm trying to find the position of two circles inside each other in the attached photo.  This is actually the end of a fiber optic cable.  But the circles module doesn't seem to recognize the larger circle.    

What I'm trying to do is find the distance between the centers of the two circles as well as find the radius.  I tried using the Blob Filter module and the Center of Gravity modules and they worked but I was hoping they would return a decimal position and they don't.  Given that amount of information in the picture, I'm assuming I can resolve the center accurately below single pixel resolution.  So I wrote my own center of gravity module in VBScript (which is very very slow) that returns a decimal position.

All that said, is there a reason the circles module doesn't find circles larger than 100pixels?  Might it be possible to change the Center of Gravity module to output decimal positions?  Are is there a better solution that I'm missing?

Thanks,
Clint
Anonymous 15 year
Clint,

We made a two updates to help you in this regard,

1. We extended the COG module to allow decimal X,Y coordinates (i.e. subpixel). See the new checkbox in that module.

2. The circle module will not detect more than one "center" of a circle. So when you have mulitple circles that detect circles with the same center you will only get one circle. You can switch to the outer one by increasing the min and max detected radius in that module.

What you can do is in stages ... i.e. use a fill module to fill the inner circle, detect the outer circle, then restore the image (use Marker module) and then detect the inner circle.

Also, there was a problem with detecting the outer circle since the curvature was too subtle for the detector. This has been fixed in the newest version.

Let us know if these modifications suit your needs.

STeven.
Clint Chapman from Canada  [20 posts] 15 year
STeven,
Thanks for the update.  The center of gravity module is now calculating subpixel values about 500 times faster than my VBScript - thank you!

However (there's always a however isn't there?),  There seems to be a bug in the COG for large images such as the attached (anything over about 1600 pixels in width it seems).  Any idea what the problem is?

Thanks again,
Clint
Anonymous 15 year
Clint,

Please download v 1.8.23.39 as it has increased resolution for the COG coordinate. As the image is so big the COG calculation ran out of counting space and would report the wrong coordinates. This has been fixed by enlarging the calculation space significantly.

Let us know if you need other calculations expanding as RoboRealm is typically not used with such large images and their might be other areas where the resolution needs to be increased.

STeven.
Clint Chapman from Canada  [20 posts] 15 year
Thanks STeven.  That seems to do the trick.  Happy new year!
Clint Chapman from Canada  [20 posts] 15 year
Although it's not an overflow issue, one issue I have had with high resolution pictures is that the DisplayText module doesn't allow the fonts to go big enough so that it is still readable when the image is scaled to the screen size.

Thanks again for the work on the COG module.
Clint Chapman from Canada  [20 posts] 15 year
Steven,
The circles module still doesn't appear to be able to recognized circles much above 200 pixels in radius.  The circles I'm trying to recognize are up around 1500 p in radius.  Any ideas?

Thanks,
Clint

I will be buying a license if I can get roborealm to work for either of the two projects I'm working on.
Anonymous 15 year
Clint,

We've adapted the min radius parameter on the circle module to allow for larger circles to be detected when the min radius is increased. You should set yours to about 250 or higher in order to detect a circle of radius 600 (the image included above). If you need to detect much smaller and much larger circles you will have to use two circle modules, one set to a min of 3 and the other to 250.

See 2.0.8.6 for these changes.

FYI, the commercial license also allows for faster replies to these kinds of issues.

STeven.
Clint Chapman from Canada  [20 posts] 15 year
Thanks for the update Steven.  We do plan to purchase a commercial license as soon as we get one of the two projects I've been work in Roborealm actually working in such a way that it's useful to us.

In case you're curious, in this application we're try to qualify the eccentricity of the core and cladding of optical fiber.  So we're trying to tell close the centers are of the outer circle (cladding) and the inner circle (core).  We're trying to resolve that to less than 0.5 micrometers (hence the high resolution).  We are very close

Thanks again,
Clint

This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index