// 'range': a minimum and maximum radius.
// 'scale': <= 1.0, to speed up the process.
-let findRadius (img: Image<Gray, byte>) (range: int * int) (scale: float) : int =
+let findRadius (img: Image<Gray, 'TDepth>) (range: int * int) (scale: float) : int =
use scaledImg = if scale = 1.0 then img else img.Resize(scale, CvEnum.Inter.Area)
let r1, r2 = range