示例#1
0
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)
示例#2
0
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)
示例#3
0
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())
示例#4
0
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())
示例#5
0
文件: fft.py 项目: daurer/afnumpy
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
示例#6
0
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))
示例#7
0
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))
示例#8
0
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())
示例#9
0
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())
示例#10
0
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())
示例#11
0
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())
示例#12
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))
示例#13
0
#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
示例#14
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))