Beschleunigung der linearen Interpolation vieler Pixelpositionen in NumPy

9

Ich habe versucht, den größten Engpass in einem meiner Programme zu replizieren.

Ich möchte die linear (oder eher bilinear) interpolierten Werte mehrerer nicht ganzzahliger Pixelwerte gleichzeitig erhalten. Es ist nicht der Fall, dass jede Pixelkoordinate auf die gleiche Weise gestört wird. Unten finden Sie ein vollständiges / minimales Skript zusammen mit Kommentaren, die das Problem veranschaulichen. Wie kann ich die Berechnung von result beschleunigen?

%Vor%     
YXD 23.02.2012, 16:21
quelle

1 Antwort

5

Danke an @JoeKington für den Vorschlag. Hier ist das Beste, was ich mit scipy.ndimage.map_coordinates

erreichen kann %Vor%

Update: Fügte die in den Kommentaren vorgeschlagenen Verbesserungen hinzu und probierte ein oder zwei andere Dinge aus. Dies ist die schnellste Version:

%Vor%

Beispiel Laufzeit:

%Vor%     
YXD 23.02.2012, 17:14
quelle