私はイディオムを使います
size_x, size_y, size_z = some_array.shape
numpy 配列を扱うときはよくあります。問題の配列に型がある場合、Cythonでは同じことが機能しないようです。
def someFunc(np.ndarray[np.float32_t, ndim=2] arr):
sx, sy = arr.shape
次のようなコンパイルエラーが発生します
Cannot convert 'npy_intp *' to Python object
これはおそらく、"shape" が C 配列に変換される (アクセスを高速化するため) ため、もはやタプルではありません。
Cythonでも何とかこのタプルを抽出することは可能でしょうか? (それともそのままにしておくべきsx, sy = arr.shape[0], arr.shape[1]
ですか?)