Pre-processing difference between Hough Line Transform and Hough Circle Transform
I have an application in which I would like to use both the Hough Line Transform and the Hough Circle Transform. As far as I understand (from reading the Hough Line Transform Tutorial and the Hough Circle Transform Tutorial), the Hough Line Transform functions (HoughLines and HoughLinesP) do not implicitly include any edge-detection pre-processing, and thus one should first explicitly include that code (such as with Canny or Sobel functions). However, the Hough Circle Transform function HoughCircles seems to implicitly include a Canny detector in its operation.
My question is why is there this disparity? Is there any way to turn off the internal Canny detector in HoughCircles? Since I plan to use both detection methods, it seems like it would be much more efficient if I could perform edge detection a single time on the image and then pass that pre-processed image to both detectors rather than rely on an internal detector in HoughCircles. Processing time is an issue with my application, so cutting out unnecessary calculations would be desirable.