LabVIEWForum.de - Interpolate 2D (bikubische Interpolation)

LabVIEWForum.de

Normale Version: Interpolate 2D (bikubische Interpolation)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich suche eine einfachere Variante dieses VIs, oder ein anderes besser geeignetes VI für folgenden Anwendungsfall:
Ich suche das Maximum eines 2D-Arrays und möchte den genauen Ort des Maximums durch Interpolation herausfinden. Wenn ich dies mit dem o.g. VI tue, bekomme ich jeweils nur feiner gerasterte Arrays, in denen ich natürlich wieder das Maximum suchen kann....
Gibt es eine Implementierung der bikubischen Interpolation in LabView, die genau dies tut?

Danke vorab!
Ich denke, dass hier eher der Fit mit einer Modellfunktion gefragt ist. Insbesondere wenn das Datenarray verrauscht ist, kommt man mit Interpolation gleich welcher Art nicht weiter. Kubische Interpolation ist beim Wechsel von Koordinatensystem hilfreich (z. B. Drehung), da hier grob gesprochen keine Information weggeworfen wird und keine Artefakte hinzugefügt werden. Also bei rauscharmen 2D Array-Daten könnte man schon das Maximum aus den Parametern der Interpolation berechnen, das irgendwo um das Maximum des Datenarrays herum liegt.
Ich denke nicht, daß das genannte VI für Deinen Zweck weiterführend ist. Aber warum nicht selbst etwas basteln?
Ich würde das maximale Element ermitteln, und ausgehend von diesem Element mir die bedien Spaltenelemente links und rechts daneben und die beiden Zeilenelemente oben und unten herausziehen, also so:
[attachment=30235]
Mit diesen Werten kann man dann eine Gleichung der Form
Z = Z0*(a1*x+a2*x^2)*(b1*y+b2*y^2)
erstellen, wobei Z0 das maximale Element ist und x,y der Deltawert des Zeilen/Spaltenindex.
Und mit dieser Gleichung das Maximunm von Z zu ermittln ist denn auch nicht schwer.

Das Ganze ist denn allerdings nur eine quadratieche Aproximation, aber es wäre zumindest superschnell.
Referenz-URLs