Skip to content

Array API  #22

@AzeezIsh

Description

@AzeezIsh

I believe there's an issue with passing in any value to _asarray. The function refuses to create this image's values despite tedious restructuring. I can provide more code and details if you like, but here is the general code implementation below.

filename = "godfather.jpg"
img = mpimg.imread(filename)
img = rgb2gray(img)
plt.imshow(img, cmap='gray')
def flatten_comprehension(matrix):
    return [item for row in matrix for item in row]
imgL = flatten_comprehension(img)
image = np.reshape(np.asarray(imgL, dtype=np.float32), (600, 900), copy=True)
gradient_magnitude, gradient_direction = sobel_filters(image)

img when implemented here is just an nparray from .imread, have to do a lot of weird tricks to get around the first error (worked w @syurkevi on this)
here's the error stack trace

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[42], line 11
      7 image = np.reshape(np.asarray(imgL, dtype=np.float32), (600, 900), copy=True)
      8 # print(image.shape)
      9 # print(type(image))
     10 # print(image)
---> 11 gradient_magnitude, gradient_direction = sobel_filters(image)
     13 # Display the gradient magnitude as an image
     14 plt.figure(figsize=(10, 5))

Cell In[40], line 19
     16 Ky = np.asarray([[1, 2, 1], [0, 0, 0], [-1, -2, -1]])
     18 # Convolve with Kx and Ky using custom convolve2d function
---> 19 Ix = convolve2d(img, Kx)
     20 Iy = convolve2d(img, Ky)
     22 # Compute gradient magnitude and direction

Cell In[40], line 5
      1 def convolve2d(image, kernel):
      2     """
      3     Apply a 2D convolution operation without padding.
      4     """
----> 5     newImg = np.asarray(image, dtype=np.float32)
      6     output = np.zeros_like(newImg)  # Prepare the output array
...
--> 145     afarray = Array._array if not copy else af.copy_array(Array._array)
    146 elif isinstance(obj, list | tuple):
    147     afarray = _process_nested_sequence(obj)

AttributeError: type object 'Array' has no attribute '_array'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions