-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpkdVolumeComputation_1.py
More file actions
40 lines (31 loc) · 944 Bytes
/
pkdVolumeComputation_1.py
File metadata and controls
40 lines (31 loc) · 944 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import itk
import os
import sys
import numpy
numpy.set_printoptions(threshold=sys.maxsize) #show entire array in numpy
path=input("Enter the path: T2_labeled_ok.mha")
Dim=3
LabelPixelType=itk.US
LabeledImageType=itk.Image[LabelPixelType,Dim]
LabelReaderType=itk.ImageFileReader[LabeledImageType]
labelReader=LabelReaderType.New()
labelReader.SetFileName(path)
try:
labelReader.Update()
except Exception as error:
print(error)
sys.exit(1)
labeledImage=labelReader.GetOutput()
spacing=labeledImage.GetSpacing()
voxelVolume=spacing[0]*spacing[1]*spacing[2]
array=itk.GetArrayViewFromImage(labeledImage)
numberOfCystVoxels=0
print("Processing pixels")
for z in array:
for y in z:
for x in y:
if(x!=0):
numberOfCystVoxels=numberOfCystVoxels+1
cystVolume=numberOfCystVoxels*voxelVolume
print("Volume: ",round(cystVolume,3)," mm^3")
print("Volume: ",round(cystVolume/1000,3)," ml")