def test_nr(self): nr0, nr1 = 5, 9 ellipse_array = np.random.randint(10, 100, size=(2, 3, 5)) lines_array0 = ret._get_lines_array_from_ellipse_array(ellipse_array, nr=nr0) lines_array1 = ret._get_lines_array_from_ellipse_array(ellipse_array, nr=nr1) for iy, ix in np.ndindex(lines_array0.shape): assert len(lines_array0[iy, ix]) == nr0 assert len(lines_array1[iy, ix]) == nr1
def test_ellipse_array_none(self): ellipse_array = np.empty(shape=(2, 3), dtype=object) for ix, iy in np.ndindex(ellipse_array.shape): ellipse_array[ix, iy] = None lines_array = ret._get_lines_array_from_ellipse_array(ellipse_array) for ix, iy in np.ndindex(lines_array.shape): assert lines_array[ix, iy] is None
def test_correct_values(self): xc_array = np.random.randint(10, 20, size=(2, 3)) yc_array = np.random.randint(30, 40, size=(2, 3)) sx_array = np.random.randint(70, 80, size=(2, 3)) sy_array = np.random.randint(89, 99, size=(2, 3)) ro_array = np.zeros((2, 3)) ellipse_array = np.empty((2, 3), dtype=np.object) for iy, ix in np.ndindex(ellipse_array.shape): xc, yc = xc_array[iy, ix], yc_array[iy, ix] sx, sy = sx_array[iy, ix], sy_array[iy, ix] ro = ro_array[iy, ix] ellipse_array[iy, ix] = (yc, xc, sy, sx, ro) lines_array = ret._get_lines_array_from_ellipse_array(ellipse_array, nr=4) for iy, ix in np.ndindex(ellipse_array.shape): xc, yc = xc_array[iy, ix], yc_array[iy, ix] sx, sy = sx_array[iy, ix], sy_array[iy, ix] ro = ro_array[iy, ix] lines_list = lines_array[iy, ix] assert approx(lines_list[0]) == [yc + sy, xc, yc, xc + sx] assert approx(lines_list[1]) == [yc, xc + sx, yc - sy, xc] assert approx(lines_list[2]) == [yc - sy, xc, yc, xc - sx] assert approx(lines_list[3]) == [yc, xc - sx, yc + sy, xc]