diff --git a/main.py b/main.py index 2854504..a7a0f15 100644 --- a/main.py +++ b/main.py @@ -1,8 +1,10 @@ import SimpleITK as sitk +import numpy as np img = sitk.ReadImage("Thorax1.0B40f_Downsampled_by_2.nrrd") xSp, ySp, zSp = img.GetSpacing() +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") @@ -16,12 +18,14 @@ 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") #Sollte man kontrollieren -print(f"4) Der Bildausschnit in die drei Raumrichtungen ist X: {xSp*xSi} mm, Y: {ySp*xSi} mm, Z: {zSp*xSi} mm\n") +print(f"4) Der Bildausschnitt in die drei Raumrichtungen ist X: {xSp*xSi} mm, Y: {ySp*xSi} mm, Z: {zSp*xSi} mm\n") seedList = [(120,140,100)] - lungs = sitk.ConnectedThreshold(img, seedList , -1100, -200) sitk.WriteImage(lungs, "lungs.nrrd") - +lungsArray = np.array(sitk.GetArrayFromImage(lungs)) +voxelInLungs = lungsArray[lungsArray > 0].size * volumePerVoxel +lungsInLitre = voxelInLungs / 1000000 +#print(lungsInLitre)