Plotting imshow with a polar projection

So I have a large 2d numpy array (c. 8000 x 16000) that I want to plot using polar coordinates.

Each value in the 2d array represents the depth (distance from observer) for a given field of view.

Associated to this 2d array I have two 1d arrays: One representing the geographic orientations (degrees) of each column in my 2d array (c.16000), and another (c. 8000) representing the angles of inclination (degrees) where negative values are below horizon.

Hence I try the following code,

# Calculate radii
r_min= np.nanmin(depth)
r_max= np.nanmax(depth)

# determine min and max theta
theta_min = radians(orientations[0])  # Left edge
theta_max = radians(orientations[-1]) 

extent = [theta_min, theta_max, r_min, r_max]

# resolution factor
rf= 2

# create polar plot

fig = plt.figure(figsize=(8,8))
ax = fig.add_subplot(1, 1, 1, projection='polar')

# Geographic convention: North at top, angles clockwise

ax.set_theta_zero_location('N')
ax.set_theta_direction(-1)

# Customize ticks for azimuth (N, E, S, W)

ax.set_xticks(np.radians([0, 90, 180, 270]))
ax.set_xticklabels(['N', 'E', 'S', 'W'])

im= ax.imshow(depth[::rf, ::rf],
             extent=extent,
             cmap='viridis')


# Add colorbar
fig.colorbar(im, ax=ax, orientation='vertical', label='Value')
plt.tight_layout()

The result I get is the following,

First, the display does not seem to show the right range nor the right orientation, The theta_min and theta_max are 214 and 314 respectively.

Second, I appear to get some sort of clipping happening at the top.

Third, maximum depth is 2127m but this does not appear to match the radial ticks.

Any ideas, suggestions as to what I might be doing incorrectly??? Thanks