small changes
parent
88e065fda0
commit
bc897e4854
16
main.py
16
main.py
|
@ -4,22 +4,19 @@ import matplotlib.pyplot as plt
|
||||||
|
|
||||||
img = sitk.ReadImage("Thorax1.0B40f_Downsampled_by_2.nrrd")
|
img = sitk.ReadImage("Thorax1.0B40f_Downsampled_by_2.nrrd")
|
||||||
|
|
||||||
|
# Abstand zwischen Voxelmittelpunkten
|
||||||
xSp, ySp, zSp = img.GetSpacing()
|
xSp, ySp, zSp = img.GetSpacing()
|
||||||
volumePerVoxel = xSp * ySp * zSp
|
volumePerVoxel = xSp * ySp * zSp
|
||||||
|
|
||||||
#print(f"Spacing: \n{xSp = }\n{ySp = }\n{zSp = }\n")
|
|
||||||
print(f"1) Die Voxel sind Quader mit den verschiedenen Seitenlängen: X: {xSp}, Y: {ySp}, Z: {zSp} \n")
|
print(f"1) Die Voxel sind Quader mit den verschiedenen Seitenlängen: X: {xSp}, Y: {ySp}, Z: {zSp} \n")
|
||||||
|
|
||||||
|
# Menge an Voxeln in eine Richtung
|
||||||
sizeVector = img.GetSize()
|
sizeVector = img.GetSize()
|
||||||
xSi, ySi, zSi = sizeVector
|
xSi, ySi, zSi = sizeVector
|
||||||
|
|
||||||
print(f"Size: \n{xSi = }\n{ySi = }\n{zSi = }\n")
|
|
||||||
|
|
||||||
print(f"2) Das Bild hat in den drei Raumrichtungen {xSi * ySi * zSi} Voxel. \n")
|
print(f"2) Das Bild hat in den drei Raumrichtungen {xSi * ySi * zSi} Voxel. \n")
|
||||||
print(f"3) Die Methode GetSize() gibt den Typ tuple zurück. \n")
|
print(f"3) Die Methode GetSize() gibt den Typ tuple zurück. \n")
|
||||||
|
print(f"4) Der Bildausschnitt in die drei Raumrichtungen ist X: {xSp*xSi} mm, Y: {ySp*ySi} mm, Z: {zSp*zSi} mm\n")
|
||||||
#Sollte man kontrollieren
|
|
||||||
print(f"4) Der Bildausschnitt in die drei Raumrichtungen ist X: {xSp*xSi} mm, Y: {ySp*xSi} mm, Z: {zSp*xSi} mm\n")
|
|
||||||
|
|
||||||
# CT-Bild der Lunge erstellen
|
# CT-Bild der Lunge erstellen
|
||||||
seedList = [(120,140,100)]
|
seedList = [(120,140,100)]
|
||||||
|
@ -30,7 +27,7 @@ sitk.WriteImage(lungs, "lungs.nrrd")
|
||||||
lungsArray = np.array(sitk.GetArrayFromImage(lungs))
|
lungsArray = np.array(sitk.GetArrayFromImage(lungs))
|
||||||
voxelInLungs = lungsArray[lungsArray > 0].size * volumePerVoxel
|
voxelInLungs = lungsArray[lungsArray > 0].size * volumePerVoxel
|
||||||
lungsInLitre = voxelInLungs / 1000000
|
lungsInLitre = voxelInLungs / 1000000
|
||||||
#print(lungsInLitre)
|
#print(f"{lungsInLitre} L \n")
|
||||||
|
|
||||||
# Histogramm des CT-Bilds
|
# Histogramm des CT-Bilds
|
||||||
thoraxArray = np.array(sitk.GetArrayFromImage(img))
|
thoraxArray = np.array(sitk.GetArrayFromImage(img))
|
||||||
|
@ -42,7 +39,7 @@ plt.ylabel("Häufigkeit in Millionen (mio)")
|
||||||
plt.show()
|
plt.show()
|
||||||
plt.clf()
|
plt.clf()
|
||||||
|
|
||||||
# Alle Helligkeitswerte der Lunge seperieren
|
# Alle Helligkeitswerte der Lunge separieren
|
||||||
lungsArray1D = lungsArray.flatten()
|
lungsArray1D = lungsArray.flatten()
|
||||||
lungBrightness = thoraxArray1D[lungsArray1D > 0]
|
lungBrightness = thoraxArray1D[lungsArray1D > 0]
|
||||||
|
|
||||||
|
@ -53,3 +50,6 @@ plt.xlabel("Helligkeitswert in Hounsfield-Einheiten (HU)")
|
||||||
plt.ylabel("Häufigkeit")
|
plt.ylabel("Häufigkeit")
|
||||||
plt.show()
|
plt.show()
|
||||||
plt.clf()
|
plt.clf()
|
||||||
|
|
||||||
|
print("5) In der Lunge treten die Helligkeitswerte ~ -1024 bis -200 auf.")
|
||||||
|
print(" Bei ~ -900 ist ein peak an Helligkeit zu sehen. \n")
|
||||||
|
|
Loading…
Reference in New Issue