2016-07-06 3 views
0

Wenn ich ein 100x100 2D Numpy Array habe, möchte ich das Kreuzprofil extrahieren, das bei (50,50) in einem Winkel von 25 Grad (zur Horizontalen) zentriert ist. Wie kann dies erreicht werden?Ein diagonales Kreuzprofil aus einem 2D Numpy Array extrahieren

Ich habe versucht, numpy.diagonal ohne Erfolg zu verwenden.

+0

Können Sie Ihre Frage klären? Es ist nicht offensichtlich, was "ein Winkel von 25 Grad" im Zusammenhang mit einem diskreten Array bedeutet. – senderle

+0

Hoffentlich fügte Klarheit der Frage hinzu. Vielen Dank – Sam

Antwort

1

Das ist, was ich tun würde. Angenommen, deine Matte ist mymat.

import numpy as np 

ang = 25 

extract = [] 
for i in range(100): 
    j = int(50 + (50 - i) * np.tan(ang * np.pi /180)) 
    if j<=99 and j>=0: 
     extract.append(mymat[i,j]) 

Zahlen sollten für andere Größen angepasst werden.