hough_ellipse
has many parameters and is therefore a bit hard to use, but in your case, fitting with a circle instead of an ellipse gives good results
from skimage import io, draw, filters, feature, transform, img_as_ubyte
import plotly.express as px
img = img_as_ubyte(io.imread('droplet.png', as_gray=True))
px.imshow(img)
edges = feature.canny(img, sigma=2, low_threshold=0.65, high_threshold=0.8)
px.imshow(edges)
import numpy as np
radii = np.arange(100, 150, 2)
result = transform.hough_circle(edges, radii)
accums, cx, cy, radii = transform.hough_circle_peaks(result, radii,
total_num_peaks=2)
from skimage import color, draw
image = color.gray2rgb(img)
for center_y, center_x, radius in zip(cy, cx, radii):
circy, circx = draw.circle_perimeter(center_y, center_x, radius,
shape=image.shape)
image[circy, circx] = (220, 20, 20)
px.imshow(image)
As for ellipses, it is true that I could not make it work with hough_ellipse
and your image… I will try to investigate a bit more.