R - Einführung in Datenverarbeitung (Teil 2) mit Analyse (Stefan Bosse) [11.2025]

Wir verwenden hier Pakete math, plot, pca. Ggfs. in einem Snippet mittels use einbinden. Rechts unten gibt es den ChatBot für eine R+ Hilfe.

Analyse von Bild- und Matrixdaten

Zweidimensionale Daten werden häufig in Matrizen oder Arrays organisiert und gespeichert. Eine matrix besteht aus Zeilen und Spalten, ein Array kann beliebig viele Dimensionen besitzen.

Bilder können in verschiedenen Formaten vorliegen:

  1. Intensitätsmatrix (XY Grauwertbild)
  2. Multikanal Arrays (XY Farbbilder, mit den Kanälen Rot, Grün, Blau, und eventuell Alpha)
  3. Dreidimensional als Bildervolumes (z.B. XY Schichtbilder entlang Z-Achse in CT Voumes), also auch wieder dreidimensionale Arrays)

Es gibt verschiedene Merkmale von Bilder, i.A. statistische Art:

  1. Mittelwert der Intensität, oder einzelner (Farb-) Kanäle
  2. Standardabweichung der Intensität
  3. Frequenspektrum der Intensität, d.h. die Fouriertransformation vom Orts- in den Wellenvektorruam
  4. Intensitätsverteilung (Histogramm)

Literatur

Statistische Größen


Mittelwert, Median und Momente höherer Ordnugn am Beispiel von Matrizen

 ▸ 
[]
 ✗ 
 ≡ 

Histogramm

Ein Histogramm gibt die Intensitätsverteilung eines Bildes an. Diese ist eine Häufigkeit (Pixelwerte) von Intensitäten in diskreten Intervallen (bins).


Histogramm von Bildern (Matrizen)

 ▸ 
[]
 ✗ 
 ≡ 

Die Histogramm Funktion gehört zum plot Package, kann aber mit der plot=FALSE Option auch eine Liste u.A. mit der Dichteverteitlung (Vektor) zurück geben.

Bildprofile

Neben skalare Aggegaten könne auch Profile von Bildern ermittelt werden. Besonders wichtig sind horizontale und vertikale Profillinien eines Bildes, um z.B. danach eine Intensisätshomogenisierung (gleichmäßige Beleuchtung) durchzuführen. Dabei kann man entweder eine Linie in horizontale oder vertikale Richtung entnehmen oder besser in die jeweils orthogonale Richtung integrieren (also Mittelwert):

#label

function core::apply(
  x:data.frame|matrix
  MARGIN:number|vector
  FUN:function|string
  keep.type?:boolean=false) => vector|matrix

Choices:
  MARGIN=1|2|[1,2]

Apply takes data frame or matrix as an input and gives output in vector or matrix.
MARGIN:
 1:iterate over rows and transpose (function(vector))
 2:iterate over columns (function(vector)),
[1,2]: iterate over cells (function (*)).
Row names: given by FUN result.


Horizontale und vertikale Intensitätsprofile von Bildern

 ▸ 
[]
 ✗ 
 ≡ 

Will man mit den Profilen Beleuchtungsinhomogenitäten in Bildern beseitigen sind diese rohen Profile nicht gut geeignet da sie auch die Bildmerkmale enthalten, d.h. z.B. Intensitätsschwankungen in Röntgenbidlern durch Fremdeinschlüsse oder Poren.


Beleuchtungskorrektur eines Rauschbildes und überlagerte Gaussinhomogenität mit horizontalen und vertikalen Intensitätsprofilen (mit einfacher Mittelwertglättung der Profile). Das Ergebnis überzeugt nicht wirklich!

 ▸ 
[]
 ✗ 
 ≡ 

Eine radiale Intensiätsinhomogenität kann mit der getrennten Linearisierung mit horizotntalen und vertikalen Profilen nicht flächug richtig kompensiert werden!

Frage 1. Welche Funktion müsste man anstelle von Linien für eine solche Korrektur verwenden?


Analyse eines Beispieldatensatzes

Daten

DATA: Variable dataImage0 Type: Binary DATA: Variable dataImage0R Type: Binary DATA: Variable dataImage2000 Type: Binary DATA: Variable dataImage2000R Type: Binary DATA: Variable dataImage10000 Type: Binary DATA: Variable dataImage10000R Type: Binary DATA: Variable dataImage20000 Type: Binary DATA: Variable dataImage20000R Type: Binary


Die Bilddaten in einem Datenrahmen. Die shift=true Bilder sind azentrische Ausschnitte von Originalbildern (größeres Format) mit stärkeren Intensitätsinhomogenität.

 ▸ 
[]
 ✗ 
 ≡ 

Aufgabe 2. Ergänze die Datentabelle mit den Spalten mean, sd, median sowie min und max. Diese sollen für jedes Bild die statische Analyse der Bilder enthalten.


Statische Analyse der Bilder

 ▸ 
[]
 ✗ 
 ≡ 


Aufgabe 3. Ergänze nun die Datentabelle mit den Spalten hp und vp. Diese sollen für jedes Bild die geglätteten h/v Profile enthalten.


H/V Profile der Bilder gemäß obiger Berechnung

 ▸ 
[]
 ✗ 
 ≡ 


Aufgabe 4. Homogenisiere alle Bilder. Teste das Ergebnise durch einen Plot.


Homogenisierung der Bilder und Speicherung in der Tabelle

 ▸ 
[]
 ✗ 
 ≡ 




Hilfe



Einreichung (Assignment #2025-41328)



Prüfen



Bewerten (Lehrer)




Created by the NoteBook Compiler Ver. 1.41.1 (c) Dr. Stefan Bosse (Mon Nov 24 2025 23:31:10 GMT+0100 (Central European Standard Time))