def test_circle_model_residuals(): model = CircleModel() model.params = (0, 0, 5) assert_almost_equal(abs(model.residuals(np.array([[5, 0]]))), 0) assert_almost_equal(abs(model.residuals(np.array([[6, 6]]))), np.sqrt(2 * 6**2) - 5) assert_almost_equal(abs(model.residuals(np.array([[10, 0]]))), 5)
deviations = [] for color in (0, 1, 2): masked = ma.array(hsv[:, :, color], mask=~canvas.astype(np.bool)) deviations.append(masked.std()) mole.h = deviations[0] mole.s = deviations[1] mole.v = deviations[2] # In[104]: from skimage.measure import CircleModel circle_model = CircleModel() circle_model.estimate(contours[0]) symmetry = circle_model.residuals(contours[0]).mean() mole.symmetry = symmetry # In[125]: diameter = (19.05 / coin_radius) * (circle_model.params[2]) mole.diameter = diameter mole.status = 100 db.session.merge(mole) db.session.commit()