Hallo zusammen liebe Forumgemeinde,
ich kämpfe gerade gegen ein Problem bzgl. der Suche von max und min
einer Funktion.
Auf Folie #1 ist ein Radargramm zu sehen. Auf der linken Seite ein
A-scan und auf der rechten Seite das entsprechende B-Scan zu sehen. Ein
A-Scan ist nicht anderes als der Querschnitt eines B-Scans.
Wie es auf dem Bild zu sehen ist, entspricht die Intensität (rot) mit
dem maximalen Wert des elektrischen Feldes. Die Intensität der blauen
Farbe hingegen deutet auf das Minimum des elektrischen Feldes.
In R versuche ich gerade ein Skript zu schreiben, der die Position
dieser maximalen und minimalen Werte findet und daraus eine Linie
erzeugen kann (Folie #2). Wird die Linie auf dem B-Scan überlappt,
entspricht die Linie den Peaks und den Täler des elektrischen Feldes.
In diesem Fall ist die Suche ziemlich trivial. Mit dem folgenden Code
kann ich die gesuchten Linien finden:
1 | E.max.value <- apply( matrix_scan, 2, which.max )
|
2 | E.min.value <- apply( matrix_scan, 2, which.min )
|
Das Problem habe ich allerdings mit einem Verlauf wie auf der dritten
Folie zu sehen ist. In diesem Fall habe ich Hyperbeln in den Scandaten
(grüne Ellipse), die mein Bild erheblich verzerren. D.h. ich habe keine
glatte Linie mehr und, wenn ich versuchen würde, den max oder min Wert
zu ermitteln, verschiebt sich die Linie (die grüne auf der Folie) zu
weit nach oben. Die Linie sollte dennoch auf den "geraden" Segmenten
liegen und die Hyperbeln ganz ignorieren.
Habt ihr eine Idee, wie ich dieses Problem beseitigen kann? Es muss
nicht in R sein. Ein Pseudocode, den ich dann in R umschreiben kann,
würde mir sehr helfen. Irgendwie braucht ich den richtigen Input, um mit
diesem Problem umzugehen.
Danke
Gruß