Anhang A Archimedisches Auftriebprinzip zur Bestimmung der...

38
Anhang 123 Anhang A Archimedisches Auftriebprinzip zur Bestimmung der Dichte Die Dichte ρ ist durch das Verhältnis der Masse m zum Volumen V definiert: m V ρ = (A1) Die SI-Einheit der Dichte ist kg/cm³. Für Laborzwecke wird jedoch oft die Einheit g/cm³ verwendet. Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“ durchgeführt. Dieses Prinzip besagt, dass jeder Körper, der in eine Flüssigkeit getaucht wird, um soviel leichter wird, wie die von ihm verdrängte Flüssigkeitsmenge wiegt. Die Dichte von Festkörpern wird mit Hilfe einer Flüssigkeit bestimmt, deren Dichte ρ 0 bekannt ist. Als Referenzflüssigkeit wurde destilliertes Ethanol der Dichte ρ 0 =0,78934 g/cm³ bei T=20°C verwendet. Der Festkörper wird mit Hilfe der Dichtewaage einmal in (A) und anschließend in der Referenzflüssigkeit (B) gewogen. Aus den beiden Wägungen lässt sich die Dichte ρ wie folgt berechnen: 0 A A B ρ ρ = . (A2) In den Tabellen 1 und 2 sind die jeweiligen Messdaten für den verstreckten sowie unverstreckten Bereich der POM Proben illustriert. Für die Dichtemessungen wurden Knochen des Typ 3 verwendet.

Transcript of Anhang A Archimedisches Auftriebprinzip zur Bestimmung der...

Page 1: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 123

Anhang

A Archimedisches Auftriebprinzip zur Bestimmung der

Dichte

Die Dichte ρ ist durch das Verhältnis der Masse m zum Volumen V definiert:

mV

ρ = (A1)

Die SI-Einheit der Dichte ist kg/cm³. Für Laborzwecke wird jedoch oft die Einheit g/cm³

verwendet.

Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“ durchgeführt.

Dieses Prinzip besagt, dass jeder Körper, der in eine Flüssigkeit getaucht wird, um soviel

leichter wird, wie die von ihm verdrängte Flüssigkeitsmenge wiegt.

Die Dichte von Festkörpern wird mit Hilfe einer Flüssigkeit bestimmt, deren Dichte ρ0

bekannt ist. Als Referenzflüssigkeit wurde destilliertes Ethanol der Dichte ρ0=0,78934 g/cm³

bei T=20°C verwendet. Der Festkörper wird mit Hilfe der Dichtewaage einmal in (A) und

anschließend in der Referenzflüssigkeit (B) gewogen. Aus den beiden Wägungen lässt sich

die Dichte ρ wie folgt berechnen:

0A

A Bρ ρ= ⋅

−. (A2)

In den Tabellen 1 und 2 sind die jeweiligen Messdaten für den verstreckten sowie

unverstreckten Bereich der POM Proben illustriert. Für die Dichtemessungen wurden

Knochen des Typ 3 verwendet.

Page 2: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 124

Tabelle A1: Ermittelte Messdaten für den verstreckten Bereich der POM Proben.

Probennummer A [g] B [g] ρ0 [g/cm³]

(T=20°C) ρ [g/cm³]

1 0,0809 0,0305 0,78934 1,2670

2 0,1536 0,0571 0,78934 1,2564

3 0,0932 0,0347 0,78934 1,2575

4 0,1138 0,0417 0,78934 1,2459

5 0,0937 0,0343 0,78934 1,2451

Tabelle A2: Ermittelte Messdaten für den unverstreckten Bereich der POM Proben.

Probennummer A [g] B [g] ρ0[g/cm³]

(T=20°C) ρ [g/cm³]

1 0,9566 0,4184 0,78934 1,4030

2 0,9237 0,4040 0,78934 1,4030

3 0,9443 0,4125 0,78934 1,4016

4 0,9056 0,3956 0,78934 1,4016

5 0,9334 0,4073 0,78934 1,4004

Page 3: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 125

B CPMG-Messkurven zur T2-Zeit Bestimmung

Abbildung B1: Mittels biexponentieller Funktion angepasste CPMG-Kurven trockener unverstreckter sowie verstreckter Proben.

Abbildung B2: Mittels triexponentieller Funktion angepasste CPMG-Kurven „nasser“ unverstreckter sowie verstreckter Proben.

Page 4: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 126

C NMR-Flüssigspektrum von POM

Abbildung C1: POM-Flüssigspektrum [BASF03].

D Mathematisches Modell des Diffusionsvorganges

Der Diffusionsprozess wird durch das zweite Ficksche Gesetz beschrieben

2

2

xcD

tc

∂∂

=∂∂ , (D1)

c = Konzentration,

x = Ortskoordinate.

Weiterhin wird die dreidimensionale Geometrie der Proben auf ein eindimensionales

Diffusionsproblem vereinfacht, da Überlagerungseffekte an den Ecken zu vernachlässigen

sind. Aufgrund der flächigen Struktur mit geringer Dicke ist im Wesentlichen nur die

Diffusion normal zu dieser Fläche für die Gewichtszunahme der Probe ausschlaggebend.

Lösung des eindimensionalen Problems:

Eine geschickte Substitution mit Dtx

4=ξ liefert

022

2

ξ+ξ d

dcd

cd (D2)

Page 5: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 127

Gleichung D2 hat die allgemeine Lösung:

( )2exp ξ−⋅=ξ

bddc (D3)

Integration nach dξ liefert die allgemeine Lösung:

( ) ( ) .consterf2

+ξ⋅π

=ξbc (D4)

mit der Fehlerfunktion ( )2

0

2erf( ) expx

x z dzπ

≡ −∫ [Bro99]

Die spezielle Lösung erhält man durch Verknüpfung mit den problemspezifischen

Randbedingungen. Wir gehen zunächst von einem semiinfiniten Problem aus, d.h. das Wasser

tritt nur an der Stelle x=0 ein (siehe Abbildung D1 a):

x

c

c0

H2Oc = ∞ t >0

t = ∞

0

c∞

0 a

H2O H2O

x

a.) b.)

t = 0

Abbildung D1: a) Einseitige Einlagerung von Wasser. b) Symmetrische Einlagerung von

Wasser.

Folgende Randbedingungen sind ausreichend:

1.) Das Wasserreservoir außerhalb der Probe ist unendlich und zeitlich konstant.

2.) Zu Beginn ist die Konzentration innerhalb der Probe gleichmäßig c0, d.h.

für t=0 und für alle x ≥ 0: c(x)=c0 bzw. für ξ=∞ ist c(ξ)=c0.

3.) Nach unendlicher Beobachtungszeit nimmt die Probe eine Sättigungskonzentration c∞ an,

d.h. für t=∞: c(x)=c∞ für alle x≥0 bzw. für ξ=0 ist c(ξ)=c∞.

Aus B4 folgt const.=c∞

Page 6: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 128

und ( )∞−π

= ccb 02 .

Die vollständige Lösung des semiinfinten Problems ist damit

( ) ( ) ( ) ∞∞ +ξ⋅

π

−⋅=ξ c

ccc o erf

2

bzw.

( ) ( )∞

∞ +⎟⎟⎠

⎞⎜⎜⎝

⎛⋅

π

−⋅= c

Dtxcc

txc o

4erf

2, . (D5)

Das Problem ist jedoch symmetrisch, da das Wasser von zwei Seiten (bei x=0 und x=a,

eindimensionale Vereinfachung, siehe Abbildung D1) her eindringt. Daher muss (D5) muss

symmetrisiert werden, was durch die ungerade Symmetrie der Fehlerfunktion

( erf(-x)=-erf(x) ) leicht zu erfüllen ist.

Als Lösung erhält man

( ) ( )0, erf +erf erf2 2 2

x a x ac x t c c cDt Dt Dt∞ ∞

⎡ ⎤−⎛ ⎞ ⎛ ⎞ ⎛ ⎞= − ⋅ − +⎢ ⎥⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠⎣ ⎦

(D6)

Die gravimetrische Analyse registriert allerdings die eingedrungene Wassermenge für die

ganze Probe, so dass für eine korrekte Wiedergabe der Messergebnisse, Gleichung D6 von

x=0 bis a integriert werden muss.

(D7) ( ) ( )∫=a

dxtxctc0

,

( ) ( )⎥⎥⎦

⎢⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛⋅⋅π−

⎭⎬⎫

⎩⎨⎧

−⎟⎟⎠

⎞⎜⎜⎝

⎛−⋅

⋅π

−−= ∞∞

Dtaa

DtaDt

accc

tc2

erf14

exp42

0 (D8)

mit c∞ = Sättigungskonzentration innerhalb der Probe zu t = ∞,

c0 = Anfangskonzentration innerhalb der Probe (t = 0), a = (kleinste) Dicke der Probe [m], D = Diffusionskonstante [m2/s], t = Zeit [s].

Page 7: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 129

E Einlagerungsdynamik von Wasser

Bei Raumtemperatur

Abbildung E1 zeigt die gravimetrischen Messdaten von drei unverstreckten Proben, die nach

vorangegangenem Trocknen in Wasser bei Raumtemperatur gelagert wurden. Die Messreihen

unterlagen keinen auffälligen Abweichungen, so dass eine Anpassung durch alle Messpunkte

möglich war.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 x105100

100.05

100.1

100.15

100.2

100.25

100.3

100.35

100.4

100.45

Zeit [sec.]

Was

serz

unah

me

[%]

Unverstreckte Probe in Wasser bei Raumtemperatur

Messung 1Messung 2Messung 3

c∞

Abbildung E1: Einlagerungsdynamik von Wasser bei Raumtemperatur in eine unverstreckte Probe. Die Messpunkte wurden mit der Gleichung 3.6 angepasst ( rote Linie ). Die Messpunkte liegen innerhalb des Konfidenzintervalls ( gestrichelte grüne Linie ).

Tabelle E1: Diffusionskonstanten und die prozentuale Wasserzunahme von unverstreckten

Proben in Wasser bei Raumtemperatur

Diffusionskonstante[m2/s] Absoluter

statistischer Fehler [m2/s]

Prozentuale Wasserzunahme

∆c = c∞-c0 [%]

Absoluter statistischer

Fehler (Gaußsche Fehleraddition)

[%] Fit an Messung 1 1,8·10-12 ± 6·10-13 0,37 ± 0,04 Fit an Messung 2 1,6·10-12 ± 5,6·10-13 0,38 ± 0,05 Fit an Messung 3 1,6·10-12 ± 4,7·10-13 0,38 ± 0,04

Fit an alle Messungen 1,7·10-12 ± 2,8·10-13 0,38 ± 0,02

Es wurde festgestellt, dass selbst nach 120 h keine Sättigung der Probe eintrat. Der Mittelwert

für die prozentuale Zunahme beträgt 0,38%. Die gemittelte Diffusionskonstante beträgt hier

1,7·10-12 m2/s. Es ist bekannt, dass der Sättigungswert für Wasser in unverstreckten Proben ca.

Page 8: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 130

1% beträgt [BASF].

Wie schon in den unverstreckten Proben festgestellt wurde, ist selbst eine sehr lange

Lagerung in Wasser bei Raumtemperatur nicht ausreichend um eine Sättigung zu erzielen.

Abbildung E2 beschreibt die Einlagerung von Wasser bei Raumtemperatur im verstreckten

Bereich der Probe.

0 1 2 3 4 5 6 7100

100.1

100.2

100.3

100.4

100.5

100.6

100.7

100.8

Zeit [sec.]

Was

serz

unah

me

[%]

Verstreckte Probe in Wasser bei Raumtemperatur

Messung 1Messung 2Messung 3

Messung 1Messung 2Messung 3

x105

c∞

Abbildung E2: Einlagerungsdynamik von Wasser bei Raumtemperatur in den verstreckten Bereich. Die Messpunkte wurden mit der Gleichung 3.6 angepasst ( rote Linie ). Die Messpunkte liegen größtenteils innerhalb des Konfidenzintervalls ( gestrichelte grüne Linie ).

Tabelle E2: Diffusionskonstanten und die prozentuale Wasserzunahme von verstreckten

Proben in Wasser bei Raumtemperatur

Diffusionskonstante[m2/s] Absoluter

statistischer Fehler [m2/s]

Prozentuale Wasserzunahme

∆c = c∞-c0 [%]

Absoluter statistischer

Fehler (Gaußsche Fehleraddition)

[%] Fit an Messung 1 4·10-12 ± 1,2·10-12 0,59 ± 0,03 Fit an Messung 2 5,4·10-12 ± 2,4·10-12 0,58 ± 0,05 Fit an Messung 3 4,8·10-12 ± 1,7·10-12 0,79 ± 0,05

Fit an alle Messungen 4,7·10-12 ± 1,5·10-12 0,62 ± 0,04

Eine Sättigung wird bei Raumtemperatur nicht vollständig erreicht. Vergleicht man nun die

prozentual eingelagerte Wassermenge zwischen unverstreckter und verstreckter Probe, so ist

die Zunahme an Wasser im verstreckten Bereich mit 0.62 % etwa doppelt so groß. Das ist

ebenfalls auf eine größere Diffusionskonstante zurückzuführen, die hier mit 4,7·10-12 m2/s um

einen Faktor vier größer ist als für unverstrecktes POM.

Page 9: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 131

Bei definierter Luftfeuchtigkeit

Es ist bekannt, dass POM bei Normalklima (DIN 55014-23/50-2) etwa 0,2% Wasser aus der

Umgebung aufnimmt [BASF]. Dabei wurde aber nicht zwischen verstreckten und

unverstreckten Bereichen unterschieden. Bei den folgenden Messungen wurde mit Hilfe eines

Hygrometers die relative Luftfeuchtigkeit eines klimatisierten Labors gemessen. Die

Raumtemperatur betrug 21,6°C und die relative Luftfeuchtigkeit wurde auf 45,8% bestimmt.

Alle Proben wurden vorher bei 100°C im Vakuum getrocknet.

0 0.5 1 1.5 2 2.5 3 3.5 x 105100

100.02

100.04

100.06

100.08

100.1

100.12

100.14

100.16

Zeit [sec.]

Was

serz

unah

me

[%]

Unverstreckte Probe in normaler Atmosphäre

Messung 1Messung 2

c∞

Abbildung E3: Einlagerungsdynamik von atmosphärischem Wasser bei relativer Luftfeuchtigkeit von 45,8 % in den unverstreckten Bereich. Die Messpunkte wurden mit der Gleichung 3.6 angepasst ( rote Linie ). Die Messpunkte liegen innerhalb des Konfidenzintervalls ( gestrichelte grüne Linie ).

Tabelle E3: Diffusionskonstanten und die prozentuale Wasserzunahme von atmosphärischem

Page 10: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 132

Wasser (Luftfeuchtigkeit von 45,8 %) in unverstreckten Proben.

Diffusionskonstante[m2/s] Absoluter

statistischer Fehler [m2/s]

Prozentuale Wasserzunahme

∆c = c∞-c0 [%]

Absoluter statistischer

Fehler (Gaußsche Fehleraddition)

[%] Fit an Messung 1 1,1·10-11 ± 3·10-12 0,13 ± 0,01 Fit an Messung 2 7,4·10-12 ± 1,7·10-12 0,13 ± 0,01 Fit an Messung 3 8,9·10-12 ± 2,4·10-12 0,13 ± 0,01

0 0.5 1 1.5 2 2.5 3 3.5 x 105100

100.02

100.04

100.06

100.08

100.1

100.12

100.14

Zeit [sec.]

Was

serz

unah

me

[%]

Verstreckte Probe in normaler Atmosphäre

Messung 1Messung 2Messung 3

Messung 1Messung 2Messung 3

c∞

Abbildung E4: Einlagerungsdynamik von atmosphärischem Wasser bei relativer Luftfeuchtigkeit von 45,8 % in den verstreckten Bereich. Die Messpunkte wurden mit der Gleichung 3.6 angepasst ( rote Linie ). Die Messpunkte liegen größtenteils innerhalb des Konfidenzintervalls ( gestrichelte grüne Linie ).

Tabelle E4: Diffusionskonstanten und die prozentuale Wasserzunahme von atmosphärischem

Wasser (Luftfeuchtigkeit von 45,8 %) in verstreckten Proben.

Diffusionskonstante[m2/s] Absoluter

statistischer Fehler [m2/s]

Prozentuale Wasserzunahme

∆c = c∞-c0 [%]

Absoluter statistischer

Fehler (Gaußsche Fehleraddition)

[%] Fit an Messung 1 1,2·10-11 ± 2,65·10-12 0,12 ± 0,01 Fit an Messung 2 1,1·10-11 ± 3,45·10-12 0,13 ± 0,01 Fit an Messung 3 1,1·10-11 ± 3·10-12 0,13 ± 0,01

Fit an alle Messungen 1,1·10-11 ± 1,98·10-12 0,13 ± 0,01

Sehr erstaunlich war bei dieser Untersuchung, dass sowohl die Diffusionskonstanten als auch

Page 11: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 133

die prozentuale Wasserzunahme keine Unterschiede zwischen verstreckten und

unverstreckten Proben zeigten. Die prozentuale Zunahme an Wasser betrug im Mittel im

unverstreckten Bereich sowie im verstreckten Bereich 0,13%. Des Weiteren wurde festgestellt,

dass auch die ermittelten Diffusionskonstanten für beide Bereiche eine innerhalb des Fehlers

liegende Größenordnung aufwiesen.

F Experimentelle Bedingungen zu den NMR-Bildern und

Matlab Auswerteroutinen Die in dieser Arbeit vorgestellten NMR-Bilder sind an einem Bruker DSX 300 der Feldstärke

7T gemessen worden. Mit Ausnahme der POM-Werkstücke, die in einem Birdcage (l = 5cm

und d = 2.5cm) untersucht worden sind wurde eine Solenoidspule mit einem Durchmesser

von 5mm verwendet. In diesem Abschnitt werden die jeweiligen Pulssprogramme der

NMR-Bildgebungssequenzen mit den dazugehörigen Zeiten bzw. Parameter auflistet.

Anschließend wird die Matlab Auswerteroutine zur Diffusionstensorbildgebung vorgestellt.

Pulsprogramm zu Abbildung 4.1 (Magisches Echo)

Messung: me 2d pom_loch

p1: 3.75 µs

p2: 7.5 µs

O1: 8398 Hz

swh: 100kHz

d31:5 µs

d2: 500 µs

d3: 200 µs

aq: 1.33 ms

# 1 "/u/exp/stan/nmr/lists/pp/me_2d"

;magic echo

;1D dimension

1s ze

5m pl1:f1 ;set rf power level

Page 12: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 134

1 p1 ph1 ;90 degree pulse

d31:ngrad

d2 ;tau (time delay)

d31:ngrad

p1 ph2 ;90 degree pulse

10u pl2:f1

p2 ph1 ;first Burstpulse +x

p2 ph3 ;second Burstpulse -x

10u pl1:f1

p1 ph4 ;90 degree pulse

d31:ngrad

d3 ;second delay

5u ph31 syrec

aq adc ph0

d31:ngrad

rcycnp=1

d1 st

lo to 1 times nbl

ipp0

ipp1

ipp2

ipp3

ipp4

lo to 1 times l1

wr #0

exit

ph0=0 0 1 1 2 2 3 3

ph1=0 0 1 1 2 2 3 3 ; first 90

ph2=1 1 0 0 3 3 2 2 ;

ph3=2 2 3 3 0 0 1 1

ph4=3 1 2 0 1 3 0 2

ph31=0

Pulsprogramm zu Abbildung 4.2 und 4.3 (Spin Echo)

Messung: im2dhard_8 und 9

Page 13: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 135

p1: 3.5 µs

p2: 7 µs

O1: -2000 Hz

swh: 100kHz

d31:5 µs

d1: 98.835 ms

d2: 100 µs

d3: 740 µs

d9: 5µs

aq: 1.33 ms

# 1 "/u/exp/stan/nmr/lists/pp/im2dhard"

# 1 "/u/exp/stan/nmr/lists/pp//Grad_Blank.incl"

;Grad_Blank.incl - include file to handle the Gradient blanking unit

;avance-version

;version 951214 KLZ

# 3 "/u/exp/stan/nmr/lists/pp/im2dhard"

1s ze ; zero data block and initialize

10u setnmr0|32 setnmr0|33 setnmr0|34

5 p1:f1 ph1

d3

p2:f1 ph2

d3

d1

d1

lo to 5 times l2 ;dummy scans

20u pl1:f1

10 10u ; relaxation delay, set transmitter o1

p1:f1 ph1 ; (90 degree) excitation hard pulse

d31:ngrad ; dephasing read gradient and phase incrementcnst1xfbcnst1 ; gradient on

d3

d31:ngrad ; gradients off

d9 ; delay for long TE

p2:f1 ph2 ; 180 degree hard pulse

Page 14: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 136

d9 ; for long TE

d31:ngrad ; read gradient on

d2 ph3 ; gradient stabilization delay

d11

aq adc ph0 ; acquisition

d31:ngrad ; read gradient off

rcycnp=10 ; ns=1

d1

d1 st

lo to 10 times nbl ; nbl=number of projections

ipp0 ; phase cycle

ipp1 ; phase cycle

ipp2 ; phase cycle

3u

lo to 10 times l1 ; # of averages

d1 wr #0 ; write data to disc

exit

ph0 = 0 2 0 2 1 3 1 3

ph1 = 0 2 0 2 1 3 1 3

ph2 = 1 1 3 3 2 2 0 0

ph3 = 0

Pulsprogramm zu Abbildung 4.5 (Spin Echo)

Messung: POM_Punkt3

p1: 2.5 µs

p2: 5 µs

O1: -11812.73 Hz

swh: 100kHz

d31:5 µs

d1: 98.835 ms

d2: 100 µs

d3: 740 µs

aq: 1.33 ms

# 1 "/u/exp/stan/nmr/lists/pp//Grad_Blank.incl"

Page 15: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 137

;Grad_Blank.incl - include file to handle the Gradient blanking unit

;avance-version

;version 951214 KLZ

# 3 "/u/exp/stan/nmr/lists/pp/im2dhard"

1s ze ; zero data block and initialize

10u setnmr0|32 setnmr0|33 setnmr0|34

5 p1:f1 ph1

d3

p2:f1 ph2

d3

d1

d1

lo to 5 times l2 ;dummy scans

20u pl1:f1

10 10u ; relaxation delay, set transmitter o1

p1:f1 ph1 ; (90 degree) excitation hard pulse

d31:ngrad ; dephasing read gradient and phase incrementcnst1xfbcnst1 ; gradient on

d3

d31:ngrad ; gradients off

d9 ; delay for long TE

p2:f1 ph2 ; 180 degree hard pulse

d9 ; for long TE

d31:ngrad ; read gradient on

d2 ph3 ; gradient stabilization delay

d11

aq adc ph0 ; acquisition

d31:ngrad ; read gradient off

rcycnp=10 ; ns=1

d1

d1 st

lo to 10 times nbl ; nbl=number of projections

ipp0 ; phase cycle

ipp1 ; phase cycle

ipp2 ; phase cycle

3u

Page 16: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 138

lo to 10 times l1 ; # of averages

d1 wr #0 ; write data to disc

exit

ph0 = 0 2 0 2 1 3 1 3

ph1 = 0 2 0 2 1 3 1 3

ph2 = 1 1 3 3 2 2 0 0

ph3 = 0

Pulsprogramm zu Abbildung 4.8 (Stimuliertes Echo)

Messung: ste_pom

p1: 3.8 µs

p2: 7.6 µs

O1: -10023.46 Hz

swh: 50kHz

d3:2.5 µs (δ)

d4: 670 µs

d5: 10 ms

d6: 200 ms (∆)

d10: 10 µs

aq: 2.61 ms

2D stimulated echo sequence

"d30 = td*dw"

1s ze

5m pl1:f1 ;set rf power level

; DUMMY SCANS (# = L6)

1 p1 ph1

d3

d4

p1 ph2

d5

d6

p1 ph2

Page 17: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 139

d3

d10

d30

d1

lo to 1 times l6

;EXPERIMENT IN MEMORY (NS = 1, 2nd dim = NBL)xfb

10 p1 ph1 ;90 degree pulse

d2:ngrad

d3 ;diff gradient on

d2:ngrad ;diff gradient off read/phase on

d4 ;=aq/2

d2:ngrad ;all gradient ring down time

p1 ph2 ;90 degree pulse

d2:ngrad

d5 ;Gradient spoiler pulse

d2:ngrad

d6

p1 ph2 ;90 degree pulse

d2:ngrad

d3 ;gradient on time

d2:ngrad ;gradient ring down time

d10 ;tau

d2:ngrad

5u adc ph0 ;start acquisition

aq ;acquisition

d2:ngrad ;gradient ring down time

d1

rcyc=10

d1 st ;increment echo pointer

lo to 10 times nbl ;nbl=number of projections

5m ip0

5m ip0

5m ip1

5m ip1

lo to 1 times l1 ;# of averages

d1 wr #0

exit

Page 18: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 140

ph0=0

ph1=0

ph2=2

ph3=0

Pulsprogramm zu Abbildung 4.10 und 4.11 (Magisches Echo)

Messung: me_zahnrad_2D

p1: 34.5 µs

p2: 530 µs

O1: -12136.13 Hz

swh: 100kHz

d31:5 µs

d1: 96.9675 ms

d3: 250 µs

aq: 1.33 ms

;magic echo

;2D dimension

1s ze

5m pl1:f1 ;set rf power level

1 p1 ph1 ;90 degree pulse

d31:ngrad

d2 ;tau (time delay)

d31:ngrad

p1 ph2 ;90 degree pulse

10u pl2:f1

p2 ph1 ;first Burstpulse +x

p2 ph3 ;second Burstpulse -x

10u pl1:f1

p1 ph4 ;90 degree pulse

Page 19: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 141

d31:ngrad

d3 ;second delay

5u ph31 syrec

aq adc ph0

d31:ngrad

rcycnp=1

d1 st

lo to 1 times nbl

ipp0

ipp1

ipp2

ipp3

ipp4

lo to 1 times l1

wr #0

exit

ph0=0 0 1 1 2 2 3 3

ph1=0 0 1 1 2 2 3 3 ; first 90

ph2=1 1 0 0 3 3 2 2 ;

ph3=2 2 3 3 0 0 1 1

ph4=3 1 2 0 1 3 0 2

ph31=0

Pulsprogramm zu Abbildung 4.12 (Spin-Echo)

Messung: dishwash p3d

p1: 33 µs

p2: 66 µs

O1: -5000 Hz

swh: 100kHz

d31:5 µs

d1: 245.835 ms

d2: 100 µs

d3: 740 µs

d9: 50 µs

Page 20: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 142

aq: 1.33 ms

;Grad_Blank.incl - include file to handle the Gradient blanking unit

;avance-version

;version 951214 KLZ

# 3 "/u/exp/stan/nmr/lists/pp/im2dhard"

1s ze ; zero data block and initialize

10u setnmr0|32 setnmr0|33 setnmr0|34

5 p1:f1 ph1

d3

p2:f1 ph2

d3

d1

d1

lo to 5 times l2 ;dummy scans

20u pl1:f1

10 10u ; relaxation delay, set transmitter o1

p1:f1 ph1 ; (90 degree) excitation hard pulse

d31:ngrad ; dephasing read gradient and phase incrementcnst1xfbcnst1 ; gradient on

d3

d31:ngrad ; gradients off

d9 ; delay for long TE

p2:f1 ph2 ; 180 degree hard pulse

d9 ; for long TE

d31:ngrad ; read gradient on

d2 ph3 ; gradient stabilization delay

d11

aq adc ph0 ; acquisition

d31:ngrad ; read gradient off

rcycnp=10 ; ns=1

d1

d1 st

lo to 10 times nbl ; nbl=number of projections

ipp0 ; phase cycle

ipp1 ; phase cycle

Page 21: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 143

ipp2 ; phase cycle

3u

lo to 10 times l1 ; # of averages

d1 wr #0 ; write data to disc

exit

ph0 = 0 2 0 2 1 3 1 3

ph1 = 0 2 0 2 1 3 1 3

ph2 = 1 1 3 3 2 2 0 0

ph3 = 0

Pulsprogramm zu Abbildung 4.14 (Spin Echo) Messung: im2dhard_test 30 und 31

p1: 75 µs

p2: 150 µs

O1: -12000 Hz

swh: 100kHz

d31:5 µs

d1: 98.835 ms

d2: 100 µs

d3: 700 µs

d9: 50 µs

aq: 1.33 ms

# 1 "/u/exp/stan/nmr/lists/pp/im2dhard"

# 1 "/u/exp/stan/nmr/lists/pp//Grad_Blank.incl"

;Grad_Blank.incl - include file to handle the Gradient blanking unit

;avance-version

;version 951214 KLZ

# 3 "/u/exp/stan/nmr/lists/pp/im2dhard"

1s ze ; zero data block and initialize

10u setnmr0|32 setnmr0|33 setnmr0|34

Page 22: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 144

5 p1:f1 ph1

d3

p2:f1 ph2

d3

d1

d1

lo to 5 times l2 ;dummy scans

20u pl1:f1

10 10u ; relaxation delay, set transmitter o1

p1:f1 ph1 ; (90 degree) excitation hard pulse

d31:ngrad ; dephasing read gradient and phase incrementcnst1xfbcnst1 ; gradient on

d3

d31:ngrad ; gradients off

d9 ; delay for long TE

p2:f1 ph2 ; 180 degree hard pulse

d9 ; for long TE

d31:ngrad ; read gradient on

d2 ph3 ; gradient stabilization delay

d11

aq adc ph0 ; acquisition

d31:ngrad ; read gradient off

rcycnp=10 ; ns=1

d1

d1 st

lo to 10 times nbl ; nbl=number of projections

ipp0 ; phase cycle

ipp1 ; phase cycle

ipp2 ; phase cycle

3u

lo to 10 times l1 ; # of averages

d1 wr #0 ; write data to disc

exit

ph0 = 0 2 0 2 1 3 1 3

ph1 = 0 2 0 2 1 3 1 3

ph2 = 1 1 3 3 2 2 0 0

ph3 = 0

Matlab Auswerteroutine zur Diffusionstensorbildgebung

Page 23: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 145

Die Auswerteroutine besteht aus folgenden Programmen (m-files):

• read_diff.m (laden der Daten, Filter, Fourier-Transformation, Korrektur, Speichern

der Daten)

• gaussmod.m (Routine für die Gauß-Anpassung)

• calc_ADC (berechnet den ADC für die verschiedenen Orientierungen)

• calc_eig.m (berechnet den Diffusionstensor und diagonalisiert ihn)

• ellipsoid.m (Subroutine zur Berechnung der Ellipsoide)

• calc_elip.m (berechnet die Ellipsoide und stellt sie dar)

Ein typischer Auswerteablauf läuft folgendermaßen ab:

>> param=[11, 7, .02, 128, 128, 43, 98, 1, 1]

>>data=read_diff(′d:\temp\ste_pom_2dort\′,param, ′d:\temp\pom3d_data.mat′);

>> adc=calc_ADC(′d:\temp\ pom3d_data.mat′ ,20, ′d:\temp\pom3d_ADC.mat′);

Page 24: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 146

>> ev=calc_eig(′d:\temp\ pom3d_ADC.mat′ , ′d:\temp\pom3d_eig.mat′);

Damit sind die Berechnungen abgeschlossen. Aus den berechneten Daten kann nun der

Tensor durch einen Ellipsoid visualisiert werden.

Page 25: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 147

>> p=[20, 10, 10, 1, 128, 1, 128]

>> ev=calc_elip(′d:\temp\ pom3d_eig.mat′ ,p, ′d:\temp\pom3d_elips.mat′);

Eine Erklärung der einzelnen Funktionen und Parameter befinden sich im Header des

jeweiligen Programms.

READ_DIFF %#

%# This function reads NMR-data in, which has a structure as in the

%# following protocol:

%#

%# The data consists of n_diff diffusion-weighted images with varying

%# gradient strengths in n_orient different (non-collinear) directions.

%# The first of these data is aquired with G=(0,0,0).

%# So that in total n_diff*n_orient+1 images exist.

%# For amplitude control, FIDs can be intercalated.

%#

%# Usage:

%#

%# data=read_diff(direc,process,outfile);

%#

%# direc=BRUKER-style directory of the input data including final slash

%# this directory containes subdirectories of style 10\...

%#

%# outfile= output-file im MATLAB format (full filename)

%#

%# process=vector of the following style:

%# =[n_diff,n_orient,fw,nzx,nzy,shx,shy,fide,fidc]

%#

%# where, n_diff= number of experiments of constant G-direction but

%# vaying strengths

Page 26: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 148

%# n_orient= number of G-orientations for 3D-tensors at least 6

%# fw = width of Gaussian lowpass filter

%# (the smaller the narrower the filter)

%# nzx= width for zero-filling (rows)

%# nzy= width for zero-filling (columns)

%# shx= spatial shifting of images (rows)

%# shy= spatial shifting of images (columns)

%# fide= 0-> no FID acquired, 1-> FID/SER

%# fidc= 0-> no correction of data with FID, 1-> correction

%#

%# Example:

%# >> p=[11,7,.02,128,128,43,98,1,1];

%# >> data=read_diff('d:\temp\ste_pom_2dort\',p,'d:\temp\pom3d_data.mat');

%#

%######################################################################

function data=read_diff(direc,proc,outfile)

n_diff=proc(1);

n_orient=proc(2);

fw=proc(3);

nzx=proc(4);

nzy=proc(5);

shx=proc(6);

shy=proc(7);

fide=proc(8);

fidc=proc(9);

grad_cal=[1,1,1.1]/100; %gradient calibration % -> T/m

if fide==1

%Reading FID data

dat_control=zeros(n_diff*n_orient,1);

for i=1:n_diff*n_orient+1

filef=[direc,num2str(i*2-1),'\fid'];

disp(['Reading FID-file: ',filef]);

fid=fopen(filef,'r','b');

data=fread(fid,'int32');

fclose(fid);

[fsize,c]=size(data);

data=reshape(data,2,fsize/2);

data=complex(data(1,:),data(2,:));

Page 27: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 149

dat_control(i)=sum(abs(fft(data))); %sum over FID spectrum as reference

end

end

dat_control=dat_control./dat_control(1); %normalised to 1 @ 1st point

figure('name','read / FFT control')

subplot(2,2,1);plot(dat_control,'b','LineWidth',2);

title('Amplitude of FIDs');

disp('######################################################');

%read data for G=(0,0,0)

if fide==0

filef=[direc,'1\'];

else

filef=[direc,'2\'];

end

head0=textread([filef,'acqus'],'%s');

for i=1:3

g(i)=str2num(char(head0(strmatch('##$CNST=',head0')+i+2)));

end

if (g(1)==0)&(g(2)==0)&(g(3)==0)

disp(['Reading ZERO-file: ',filef]);

else

disp('ERROR: Incorrect DATA setup (wrong ZERO-G data)');

end

dim=str2num(char(head0(strmatch('##$PARMODE=',head0')+1)))+1;

if dim==2

rx=str2num(char(head0(strmatch('##$TD=',head0')+1)))/2;

if rx<=128

nx=128;

else

nx=rx;

end

ny=str2num(char(head0(strmatch('##$NBL=',head0')+1)));

disp(['Spatial dimensions: x= ',num2str(nx),' y= ',num2str(ny)]);

else

disp('ERROR: Data is not 2D!');

end

%Defining FILTER function

filter=apod('G',[nzx,nzy],[nzx,nzy]/2,[fw,fw]);

%x=linspace(-1,1,nzx);

Page 28: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 150

%y=linspace(-1,1,nzy);

%[X,Y]=meshgrid(x,y);

%filter=exp(-(X.^2+Y.^2)/fw); %Gaussian of width fw

%Plotting filter function

subplot(2,2,2); surf(filter,'EdgeColor','none','FaceColor','green');

camlight headlight; lighting phong; view(45,50); axis tight; axis off;

title('Filter function');

%Reading Dataset G=0,0,0

fid=fopen([filef,'ser'],'r','b');

dat=fread(fid,'int32');

fclose(fid);

[fsize,c]=size(dat);

dat=reshape(dat,2,fsize/2);

dat=complex(dat(1,:),dat(2,:));

dat=reshape(dat,nx,ny);

datz=zeros(nzx,nzy); %Zerofilling

datz(1:nx,1:ny)=dat;

datz=shift2d(datz,round((nzx-rx)/2),round((nzy-ny)/2)).*filter;

%Plotting filter function

subplot(2,2,3); surf(real(datz),'EdgeColor','none','FaceColor','red');

camlight headlight; lighting phong; view(45,50); axis tight; axis off;

title('Filtered real part');

data0=shift2d(abs(fftshift(fft2(datz))),shx,shy);

subplot(2,2,4); imagesc(data0); colormap gray; axis off;

title('G=(0,0,0)');

disp('######################################################');

%Definitions

grad_value=zeros(3,n_diff,n_orient);

data=zeros(nx,ny,n_diff,n_orient);

epsilon=zeros(n_diff,n_orient);

delta=zeros(n_diff,n_orient);

for i=2:n_diff*n_orient+1

if fide==0 %if no FID data taken every next file

file_index=i;

else % if FID taken every other file

file_index=i*2;

end

filef=[direc,num2str(file_index)];

Page 29: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 151

head0=textread([filef,'\acqus'],'%s');

m=mod(i+n_diff-2,n_diff)+1; %row of matrix

n=floor((i+n_diff-2)/n_diff); %column of matrix

disp(['Reading data-file: ',filef,' #:',num2str(i),' = (',num2str(m),'/',num2str(n),')']);

for j=1:3

grad_value(j,m,n)=str2num(char(head0(strmatch('##$CNST=',head0')+j+2)))*grad_cal(j);

end

disp(['Gx= ',num2str(grad_value(1,m,n)),'T/m, Gy= ',num2str(grad_value(2,m,n)),'T/m, Gz=

',num2str(grad_value(3,m,n)),'T/m']);

for j=1:31

d(j)=str2num(char(head0(strmatch('##$D=',head0')+j+2)));

end

for j=1:31

p(j)=str2num(char(head0(strmatch('##$P=',head0')+j+2)));

end

epsilon(m,n)=d(3);

delta(m,n)=5.*d(2)+d(3)+d(4)+d(5)+d(6)+2*p(1)*1e-6;

disp(['delta: ',num2str(epsilon(m,n)),' Delta: ',num2str(delta(m,n))]);

%read in data sets

fid=fopen([filef,'\ser'],'r','b');

dat=fread(fid,'int32');

fclose(fid);

[fsize,c]=size(dat);

dat=reshape(dat,2,fsize/2);

dat=complex(dat(1,:),dat(2,:));

dat=reshape(dat,nx,ny);

datz=zeros(nzx,nzy); %Zerofilling

datz(1:nx,1:ny)=dat;

datz=shift2d(datz,round((nzx-rx)/2),round((nzy-ny)/2)).*filter;

if fidc==1 %correct with FID data

data(1:nzx,1:nzy,m,n)=shift2d(abs(fftshift(fft2(datz))),shx,shy)/dat_control(i);

disp(['Correct with FID: factor= ',num2str(dat_control(i))]);

else %no correction

data(1:nzx,1:nzy,m,n)=shift2d(abs(fftshift(fft2(datz))),shx,shy)

end

disp('___________________________________________________________');

end

save(outfile,'data','data0','epsilon','delta','grad_value');

Page 30: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 152

gaussmod

function estim=gaussmod(beta,x)

estim=beta(1)*exp(-(x-beta(2)).^2/beta(3));

calc_ADC %#

%# This function calculates the apparent diffusion coefficient (ADC)

%# from NMR-images as processed/saved by the routine READ_DIFF.

%#

%# Usage:

%#

%# data=calc_ADC(infile,threshold,outfile);

%#

%# infile=input file name as saved by READ_DIFF

%#

%# threshold= noise threshold in % of max of 0-G image (points below are ignored)

%#

%# outfile= output-file im MATLAB format (full filename)

%#

%#

%# Example:

%#

%# >> adc=calc_ADC('d:\temp\pom3d_data.mat',20,'d:\temp\pom3d_ADC.mat')

%#

%######################################################################

function local_ADC=calc_ADC(infile,noise_threshold,outfile)

load(infile,'-mat'); %load data

gamma=3e8/7.0463; %for 1H

[nx,ny,n_diff,n_orient]=size(data);

local_ADC=zeros(nx,ny,n_orient);

chi2=zeros(nx,ny,n_orient);

noise_threshold=max(max(data0))*noise_threshold/100;

%check if time varies within the n_diff dimension (later take just 1st entry

Page 31: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 153

for k=1:n_orient

if round(epsilon(1,k)*1e6)~= round(mean(epsilon(:,k))*1e6)

disp(['ERROR in orientation',num2str(k) ,' : delta varies within n_diff dimension']);

end

if round(delta(1,k)*1e6)~= round(mean(delta(:,k))*1e6)

disp(['ERROR in orientation',num2str(k) ,': Delta varies within n_diff dimension']);

end

end

for k=1:n_orient

for j=1:ny

disp(['Fitting orient: ',num2str(k),' of ',num2str(n_orient),' | row: ',num2str(j),' of ',num2str(ny)]);

for i=1:nx

if data0(i,j)>=noise_threshold

%linear estimate for gaussfit

%1) BRING DATA IN GOOD SHAPE

fit_data=data(i,j,:,k); %assign diffusion data for each point and orientation

fit_data=reshape(fit_data,n_diff,1); %bring it in suitable form

fit_data(n_diff+1)=data0(i,j); %insert 0-value

g=sqrt(grad_value(1,:,k).^2+grad_value(2,:,k).^2+grad_value(3,:,k).^2); %strength of gradient

g=reshape(g,n_diff,1); %bring it in suitable form

g(n_diff+1)=0; %insert 0-value

%2) MAKE A ESTIMATE

amp=data0(i,j); %estimated maximum from 0-data

lin=sqrt(abs(-log(fit_data./amp))); %linearisation

lin=reshape(lin,n_diff+1,1); %bring it in suitable form

a=polyfit(g,lin,1); %linear regression

width=1/a(1)^2; %Gaussian width approx.

init_val=[amp, 0, width]'; %Initial values for fit

%3) the following lines does a least square fit of a Gaussian

%to the data using the model in the file GAUSSMOD.M

dfit=nlinfit(g,fit_data,'gaussmod',init_val);

local_ADC(i,j,k)=1/(width*gamma^2*epsilon(1,k)^2*(delta(1,k)-epsilon(1,k)/3))/2/pi;

chi2(i,j,k)=sum(abs(fit_data-dfit(1)*exp(-(g-dfit(2)).^2/dfit(3))))^2;

end

end

end

end

disp('Gaussian fit completed!');

Page 32: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 154

minl=min(min(min(local_ADC)));

maxl=max(max(max(local_ADC)));

figure('name','Apparent Diffusion Coefficients');

for k=1:n_orient

subplot(2,2,k);imagesc(local_ADC(:,:,k),[minl,maxl]);colormap gray; axis off; axis equal;

gm=sqrt(grad_value(1,1,k).^2+grad_value(2,1,k).^2+grad_value(3,1,k).^2);

gx=round(grad_value(1,1,k)/gm*100)/100;

gy=round(grad_value(2,1,k)/gm*100)/100;

gz=round(grad_value(3,1,k)/gm*100)/100;

title(['(',num2str(gx),'/',num2str(gy),'/',num2str(gz),')']);

end

save(outfile,'local_ADC','data0','grad_value','chi2');

calc_eig %#

%# This function calculates the Diffusion Tensor and subsequently

%# diagonalises it and displays anisotropies. Using data as

%# processed/saved by the routine calc_ADC.

%#

%# Usage:

%#

%# data=calc_eig(infile,outfile);

%#

%# infile=input file name as saved by calc_ADC

%#

%# outfile= output-file im MATLAB format (full filename)

%#

%#

%# Example:

%#

%# >>ev=calc_eig('d:\temp\pom3d_ADC.mat','d:\temp\pom3d_eig.mat');

%#

%######################################################################

function eigen_values=calc_eig(infile,outfile)

infile='E:\Ko\temp\bambus_XYZ1fit.mat'

outfile='E:\ko\temp\bambus_test.mat'

load(infile,'-mat'); %load data

Page 33: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 155

[nx,ny,n_orient]=size(ADC);

grad_orient=zeros(3,n_orient);

dac=zeros(n_orient,6);

for i=1:n_orient

%calc grad magnitude

Gabs=sqrt(grad_value(1,1,i)^2+grad_value(2,1,i)^2+grad_value(3,1,i)^2);

grad_orient(1,i)=grad_value(1,1,i)/Gabs;

grad_orient(2,i)=grad_value(2,1,i)/Gabs;

grad_orient(3,i)=grad_value(3,1,i)/Gabs;

%calc equation system

dac(i,1)=grad_orient(1,i)*grad_orient(1,i);

dac(i,2)=grad_orient(2,i)*grad_orient(2,i);

dac(i,3)=grad_orient(3,i)*grad_orient(3,i);

dac(i,4)=2*grad_orient(1,i)*grad_orient(2,i);

dac(i,5)=2*grad_orient(2,i)*grad_orient(3,i);

dac(i,6)=2*grad_orient(1,i)*grad_orient(3,i);

end

ADC=permute(ADC,[3,1,2]);

D_tensor=zeros(nx,ny,6);

%solve overdetermined equation system for Diffusion Tensor

for i=1:nx

for j=1:ny

if ADC(1,i,j)~=0

D_tensor(i,j,:)=lsqr(dac, ADC(:,i,j),1e-3,10)';

end

end

end

disp('Tensor calculation completed!');

mint=min(min(min(D_tensor)));

maxt=max(max(max(D_tensor)));

figure('name','Diffusion Tensor');

subplot(3,2,1);imagesc(D_tensor(:,:,1),[mint,maxt]);colormap gray; axis off; axis equal;

title('Dxx');

subplot(3,2,2);imagesc(D_tensor(:,:,2),[mint,maxt]);colormap gray; axis off; axis equal;

title('Dyy');

subplot(3,2,3);imagesc(D_tensor(:,:,3),[mint,maxt]);colormap gray; axis off; axis equal;

title('Dzz');

subplot(3,2,4);imagesc(D_tensor(:,:,4),[mint,maxt]);colormap gray; axis off; axis equal;

Page 34: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 156

title('Dxy');

subplot(3,2,5);imagesc(D_tensor(:,:,5),[mint,maxt]);colormap gray; axis off; axis equal;

title('Dyz');

subplot(3,2,6);imagesc(D_tensor(:,:,6),[mint,maxt]);colormap gray; axis off; axis equal;

title('Dxz');

%create eigenvalues and -vectors

eigen_values=zeros(3,3,nx,ny);

eigen_vectors=zeros(3,3,nx,ny);

local_tensor=zeros(3,3);

for i=1:nx;

for j=1:ny;

local_tensor=[[D_tensor(i,j,1), D_tensor(i,j,4), D_tensor(i,j,6)]',[D_tensor(i,j,4), D_tensor(i,j,2),

D_tensor(i,j,5)]',[D_tensor(i,j,6), D_tensor(i,j,5), D_tensor(i,j,3)]'];

[eigen_vectors(:,:,i,j),eigen_values(:,:,i,j)]=eig(local_tensor);

end

end

eigen_vectors=shiftdim(eigen_vectors,2);

eigen_values=shiftdim(eigen_values,2);

disp('Tensor diagonalisation completed!');

mine=min(min(min(D_tensor)));

maxe=max(max(max(D_tensor)));

figure('name','Eigenvalues');

subplot(3,1,1);imagesc(eigen_values(:,:,1,1),[mine,maxe]);colormap gray; axis off; axis equal;

title('D1');

subplot(3,1,2);imagesc(eigen_values(:,:,2,2),[mine,maxe]);colormap gray; axis off; axis equal;

title('D2');

subplot(3,1,3);imagesc(eigen_values(:,:,3,3),[mine,maxe]);colormap gray; axis off; axis equal;

title('D3');

save(outfile,'D_tensor','eigen_vectors','eigen_values','data0');

end

Page 35: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 157

ellipsoid

function data3d=ellipsoid(n,d,v);

% creates a 3D ellipsoid of n*n*n points

% d is a 1*3 vector of the lengths of the semiaxes (eigenvalues) max=1

% v is the 3*3 transformation matrix

x=linspace(-1,1,n);

data3d=zeros(n,n,n);

if d(1)<=2/n

d(1)=2/n;

end

if d(2)<=2/n

d(2)=2/n;

end

if d(3)<=2/n

d(3)=2/n;

end

for i=1:n;for j=1:n; for k=1:n;

if (1-x(i)^2/d(1)^2-x(j)^2/d(2)^2-x(k)^2/d(3)^2)>=0

r=[x(i),x(j),x(k)];

r=((v*r'+1)/2)*(n-1)+1;

data3d(round(r(1)),round(r(2)),round(r(3)))=1;

end;

end;end;end;

data3d=smooth3(data3d,'box',5);

%figure

%p1 = patch(isosurface(data3d,0.1),'FaceColor','blue','EdgeColor','none');

%view(3); daspect([1,1,1]); axis([1 n 1 n 1 n -1 1]);

%camlight; camlight(-80,-10); lighting phong;

calc_elip

%#

%# This function calculates the dataset required for displaying the eigen-

%# values and -vectors of diffusion tensors as ellipsoids rotated in 3D.

%#

%# Usage:

Page 36: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 158

%#

%# image=calc_elip(infile,param,outfile);

%#

%# infile=input file name as saved by calc_eig

%#

%# outfile= output-file im MATLAB format (full filename)

%#

%# param = parameter-vector = [n,dx,dy,sx,ex,sy,ey]

%# n =points^3 for each ellipoid

%# dx=spacing of ellipoids in x-direction

%# (every dx points of the image an ellpsoid is drawn)

%# dy=spacing of ellipoids in y-direction

%# sx=starting point in the image in x-direction

%# ex=ending point in the image in x-direction

%# sy=starting point in the image in y-direction

%# ey=ending point in the image in y-direction

%#

%# Example:

%#

%# >> p=[20,10,10,1,128,1,128];

%# >> im=calc_elip('d:\temp\pom3d_eig.mat',p,'d:\temp\pom3d_elips.mat');

%#

%######################################################################

function image=calc_elip(infile,param,outfile)

load(infile,'-mat'); %load data

n=param(1);

dx=param(2);

dy=param(3);

sx=param(4);

ex=param(5);

sy=param(6);

ey=param(7);

nnx=(ex-sx)/dx+1;

nnx=round(nnx); %Aenderung

nny=(ey-sy+1)/dy+1;

nny=round(nny); %Aenderung

image=zeros(nnx*n,nny*n,n);

Page 37: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 159

dmd=max(max(max(max(eigen_values))));

ev=zeros(3,3);

%calc ellipsoids and place in matrix image

for i=0:nnx-1

for j=0:nny-1

ix=sx+i*dx;

iy=sy+j*dy;

if eigen_values(ix,iy,1,1).*eigen_values(ix,iy,2,2).*eigen_values(ix,iy,3,3)~=0

dimag=abs([eigen_values(ix,iy,1,1),eigen_values(ix,iy,2,2),eigen_values(ix,iy,3,3)])/dmd;

ev(:,:)=eigen_vectors(ix,iy,:,:);

image(i*n:(i+1)*n-1,j*n:(j+1)*n-1,:)=ellipsoid(n,dimag,ev);

end

end

end

%insert the data0 as lowest slice in the image

%therefore interpolate on image grid

[X,Y]=meshgrid(sx:ex,sy:ey);

xi=linspace(sx,ex,nnx*n);

yi=linspace(sy,ey,nny*n);

[XI,YI]=meshgrid(xi,yi);

ZI=interp2(X,Y,data0(sx:ex,sy:ey),XI,YI);

image0=zeros(nnx*n,nny*n,n+1);

image0(:,:,2:n+1)=image;

image0(:,:,1)=ZI/max(max(ZI));

image=image0;

save(outfile,'image');

%draw ellipsoids

figure('name','Ellipsoids');

p1 = patch(isosurface(image(:,:,2:n+1),.1),'FaceColor','red','EdgeColor','none');

hold on;

s=slice(image0,[],[],[1]);

set(s,'FaceColor','interp','EdgeColor','none');colormap gray;

view(3); daspect([1,1,1]); axis([1 nnx*n 1 nny*n 1 n+1 -1 1]); axis off;

camlight; camlight(-80,-10); lighting phong;

hold off;

Page 38: Anhang A Archimedisches Auftriebprinzip zur Bestimmung der ...tuprints.ulb.tu-darmstadt.de/534/7/DR_Anhang_4.pdf · Dichtebestimmungen werden häufig nach dem „Archimedischen Prinzip“

Anhang 160

G Vorversuche zu den Gardinenhaltern

Abbildung G1: Vorversuchsmessungen zu den Gardinenhaltern. a) unbelastete Probe, b) belastete Probe, c) belastete Probe nach wiederholter Lagerung in Wasser für 2 Stunden.