def test_triangle_float_images(): text = data.text() int_bins = text.max() - text.min() + 1 # Set nbins to match the uint case and threshold as float. assert(round(threshold_triangle( text.astype(np.float), nbins=int_bins)) == 104) # Check that rescaling image to floats in unit interval is equivalent. assert(round(threshold_triangle(text / 255., nbins=int_bins) * 255) == 104) # Repeat for inverted image. assert(round(threshold_triangle( np.invert(text).astype(np.float), nbins=int_bins)) == 151) assert (round(threshold_triangle( np.invert(text) / 255., nbins=int_bins) * 255) == 151)
def test_triangle_flip(): # Depending on the skewness, the algorithm flips the histogram. # We check that the flip doesn't affect too much the result. img = data.camera() inv_img = np.invert(img) t = threshold_triangle(inv_img) t_inv_img = inv_img > t t_inv_inv_img = np.invert(t_inv_img) t = threshold_triangle(img) t_img = img > t # Check that most of the pixels are identical # See numpy #7685 for a future np.testing API unequal_pos = np.where(t_img.ravel() != t_inv_inv_img.ravel()) assert(len(unequal_pos[0]) / t_img.size < 1e-2)
def test_triangle_flip(): # Depending on the skewness, the algorithm flips the histogram. # We check that the flip doesn't affect too much the result. img = data.camera() inv_img = np.invert(img) t = threshold_triangle(inv_img) t_inv_img = inv_img > t t_inv_inv_img = np.invert(t_inv_img) t = threshold_triangle(img) t_img = img > t # Check that most of the pixels are identical # See numpy #7685 for a future np.testing API unequal_pos = np.where(t_img.ravel() != t_inv_inv_img.ravel()) assert (len(unequal_pos[0]) / t_img.size < 1e-2)
def test_triangle_uint_images(): assert(threshold_triangle(np.invert(data.text())) == 151) assert(threshold_triangle(data.text()) == 104) assert(threshold_triangle(data.coins()) == 80) assert(threshold_triangle(np.invert(data.coins())) == 175)
def test_triangle_uint_images(): assert (threshold_triangle(np.invert(data.text())) == 151) assert (threshold_triangle(data.text()) == 104) assert (threshold_triangle(data.coins()) == 80) assert (threshold_triangle(np.invert(data.coins())) == 175)
def test_triangle_images(): assert threshold_triangle(np.invert(data.text())) == 151 assert threshold_triangle(data.text()) == 104 assert threshold_triangle(data.coins()) == 80 assert threshold_triangle(np.invert(data.coins())) == 175