def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None): num = int(num) # Convert float/complex array scalars to float, gh-3504 start = start * 1. stop = stop * 1. if dtype is None: dtype = result_type(start, stop, float(num)) if num <= 0: return array([], dtype) if endpoint: if num == 1: return array([start], dtype=dtype) step = (stop - start) / float((num - 1)) y = afnumpy.arange(0, num, dtype=dtype) * step + start y[-1] = stop else: step = (stop - start) / float(num) y = afnumpy.arange(0, num, dtype=dtype) * step + start if retstep: return y.astype(dtype), step else: return y.astype(dtype)
def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None): num = int(num) # Convert float/complex array scalars to float, gh-3504 start = start * 1. stop = stop * 1. if dtype is None: dtype = result_type(start, stop, float(num)) if num <= 0: return array([], dtype) if endpoint: if num == 1: return array([start], dtype=dtype) step = (stop-start)/float((num-1)) y = afnumpy.arange(0, num, dtype=dtype) * step + start y[-1] = stop else: step = (stop-start)/float(num) y = afnumpy.arange(0, num, dtype=dtype) * step + start if retstep: return y.astype(dtype), step else: return y.astype(dtype)
def test_comparisons(): a = afnumpy.arange(10, dtype="float32") - 5. b = afnumpy.ones((10), dtype="float32") a.eval() a_mask = a < 0. a_sum = a_mask.sum() a -= b assert(a_sum == a_mask.sum()) a_mask = a > 0. a_sum = a_mask.sum() a -= b assert(a_sum == a_mask.sum()) a_mask = a >= 0. a_sum = a_mask.sum() a -= b assert(a_sum == a_mask.sum()) a_mask = a <= 0. a_sum = a_mask.sum() a -= b assert(a_sum == a_mask.sum()) a_mask = a == 0. a_sum = a_mask.sum() a *= 0 assert(a_sum == a_mask.sum()) a = afnumpy.arange(10, dtype="float32") - 5. a.eval() a_mask = a != 0. a_sum = a_mask.sum() a *= 0 assert(a_sum == a_mask.sum())
def test_comparisons(): a = afnumpy.arange(10, dtype="float32") - 5. b = afnumpy.ones((10), dtype="float32") a.eval() a_mask = a < 0. a_sum = a_mask.sum() a -= b assert (a_sum == a_mask.sum()) a_mask = a > 0. a_sum = a_mask.sum() a -= b assert (a_sum == a_mask.sum()) a_mask = a >= 0. a_sum = a_mask.sum() a -= b assert (a_sum == a_mask.sum()) a_mask = a <= 0. a_sum = a_mask.sum() a -= b assert (a_sum == a_mask.sum()) a_mask = a == 0. a_sum = a_mask.sum() a *= 0 assert (a_sum == a_mask.sum()) a = afnumpy.arange(10, dtype="float32") - 5. a.eval() a_mask = a != 0. a_sum = a_mask.sum() a *= 0 assert (a_sum == a_mask.sum())
def ifftshift(x, axes=None): tmp = afnumpy.asarray(x) ndim = len(tmp.shape) if axes is None: axes = list(range(ndim)) elif isinstance(axes, numbers.Integral): axes = (axes,) y = tmp for k in axes: n = tmp.shape[k] p2 = n-(n+1)//2 mylist = afnumpy.concatenate((afnumpy.arange(p2, n), afnumpy.arange(p2))) y = afnumpy.take(y, mylist, k) return y
def test_argmin(): a = afnumpy.arange(6).reshape((2, 3)) b = numpy.array(a) iassert(afnumpy.argmin(a), numpy.argmin(b)) iassert(afnumpy.argmin(a, axis=0), numpy.argmin(b, axis=0)) b[0, 1] = 5 a[0, 1] = 5 iassert(afnumpy.argmin(a), numpy.argmin(b))
def test_argmin(): a = afnumpy.arange(6).reshape((2,3)) b = numpy.array(a) iassert(afnumpy.argmin(a),numpy.argmin(b)) iassert(afnumpy.argmin(a, axis=0),numpy.argmin(b, axis=0)) b[0,1] = 5 a[0,1] = 5 iassert(afnumpy.argmin(a),numpy.argmin(b))
def test_unary(): a = afnumpy.arange(10, dtype="float32")-5 a.eval() c = -a c_sum = c.sum() a *= -1 assert(c_sum == c.sum()) c = +a c_sum = c.sum() a *= -1 assert(c_sum == c.sum())
def test_unary(): a = afnumpy.arange(10, dtype="float32") - 5 a.eval() c = -a c_sum = c.sum() a *= -1 assert (c_sum == c.sum()) c = +a c_sum = c.sum() a *= -1 assert (c_sum == c.sum())
def test_arithmetic(): a = afnumpy.arange(10, dtype="float32") a.eval() c = a % 3 c_sum = c.sum() a += 1 assert(c_sum == c.sum()) c = 3 % a c_sum = c.sum() a += 1 assert(c_sum == c.sum()) c = a**1 c_sum = c.sum() a -= 1 assert(c_sum == c.sum()) c = 1.02**a c_sum = c.sum() a += 1 assert(c_sum == c.sum()) c = a+1 c_sum = c.sum() a -= 1 assert(c_sum == c.sum()) c = 1+a c_sum = c.sum() a += 1 assert(c_sum == c.sum()) c = a-1 c_sum = c.sum() a -= 1 assert(c_sum == c.sum()) c = 1-a c_sum = c.sum() a += 1 assert(c_sum == c.sum()) c = a*2 c_sum = c.sum() a -= 1 assert(c_sum == c.sum()) c = 2*a c_sum = c.sum() a += 1 assert(c_sum == c.sum()) c = a/2 c_sum = c.sum() a -= 1 assert(c_sum == c.sum()) c = 2/a c_sum = c.sum() a += 1 assert(c_sum == c.sum())
def test_arithmetic(): a = afnumpy.arange(10, dtype="float32") a.eval() c = a % 3 c_sum = c.sum() a += 1 assert (c_sum == c.sum()) c = 3 % a c_sum = c.sum() a += 1 assert (c_sum == c.sum()) c = a**1 c_sum = c.sum() a -= 1 assert (c_sum == c.sum()) c = 1.02**a c_sum = c.sum() a += 1 assert (c_sum == c.sum()) c = a + 1 c_sum = c.sum() a -= 1 assert (c_sum == c.sum()) c = 1 + a c_sum = c.sum() a += 1 assert (c_sum == c.sum()) c = a - 1 c_sum = c.sum() a -= 1 assert (c_sum == c.sum()) c = 1 - a c_sum = c.sum() a += 1 assert (c_sum == c.sum()) c = a * 2 c_sum = c.sum() a -= 1 assert (c_sum == c.sum()) c = 2 * a c_sum = c.sum() a += 1 assert (c_sum == c.sum()) c = a / 2 c_sum = c.sum() a -= 1 assert (c_sum == c.sum()) c = 2 / a c_sum = c.sum() a += 1 assert (c_sum == c.sum())
def test_arange(): iassert(afnumpy.arange(10), numpy.arange(10)) iassert(afnumpy.arange(1,10), numpy.arange(1,10)) iassert(afnumpy.arange(10,1,-1), numpy.arange(10,1,-1)) iassert(afnumpy.arange(10,1,-1,dtype=numpy.int32), numpy.arange(10,1,-1,dtype=numpy.int32))
#data_fourier = np.zeros((1024,1024)).astype(np.complex64) # True image true_image = fft.fftshift(fft.ifftn(data_fourier)) #import arrayfire #print arrayfire.backend.name #print type(true_image) #print true_image.dtype #print intensities.dtype #print data_fourier.dtype # Initial image image = (1j + np.random.random(intensities.shape)).astype(np.complex64) # Define support yy,xx = np.meshgrid(np.arange(image.shape[0]), np.arange(image.shape[1])) rr = np.sqrt((xx-image.shape[1]/2)**2 + (yy-image.shape[0]/2)**2) support = rr < 24 #support = np.abs(true_image)>1 # Define Nr. of iterations nr_iterations = 500 # Define data constraint def data_constraint(fourier, intensities): return (fourier / np.abs(fourier)) * np.sqrt(intensities) # Define support constraint def support_constraint(img, support): img = img.flatten() img[support == 0] = 0
def test_arange(): iassert(afnumpy.arange(10), numpy.arange(10)) iassert(afnumpy.arange(1, 10), numpy.arange(1, 10)) iassert(afnumpy.arange(10, 1, -1), numpy.arange(10, 1, -1)) iassert(afnumpy.arange(10, 1, -1, dtype=numpy.int32), numpy.arange(10, 1, -1, dtype=numpy.int32))