MATLAB: What is the underlying code for the ‘imfindcircles’ function

computer vision

I'm currently working on a computer vision project to measure the radii of silica microspheres based on scanning electron microscope images that I've taken. Previously, I've been using Python's openCV package to do the detection work but I find that the Matlab imfindcircles function works much better for my project. However, from what little I've read online, I understand that it is essentially operates using Hough transformation. That really surprises me because I was not able to get the same microsphere detection results with openCV's HoughCircles function.
Is there any way that I can see the underlying code for the imfindcircles function? I'm quite curious with regard to how they've implemented this function.
Thank you for your help.

Best Answer

dbtype imfindcircles
In particular look somewhere near line 169, starting at "%% Compute the accumulator array". It calls %CHACCUM Compute 2D accumulator array using Circular Hough Transform. You can read the source for that,
dbtype(cell2mat(which('-all','chaccum')))