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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions