Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a7d179f

Browse files
committed
Update image_process.py
1 parent d74ac93 commit a7d179f

File tree

1 file changed

+34
-16
lines changed

1 file changed

+34
-16
lines changed

pymic/util/image_process.py

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -319,26 +319,44 @@ def resample_sitk_image_to_given_spacing(image, spacing, order):
319319
out_img.SetDirection(image.GetDirection())
320320
return out_img
321321

322-
def get_image_info(img_names):
323-
space0, space1, slices = [], [], []
322+
def get_image_info(img_names, output_csv = None):
323+
spacing_list, shape_list = [], []
324324
for img_name in img_names:
325325
img_obj = sitk.ReadImage(img_name)
326326
img_arr = sitk.GetArrayFromImage(img_obj)
327327
spacing = img_obj.GetSpacing()
328-
slices.append(img_arr.shape[0])
329-
space0.append(spacing[0])
330-
space1.append(spacing[2])
331-
print(img_name, spacing, img_arr.shape)
332-
333-
space0 = np.asarray(space0)
334-
space1 = np.asarray(space1)
335-
slices = np.asarray(slices)
336-
print("intra-slice spacing")
337-
print(space0.min(), space0.max(), space0.mean())
338-
print("inter-slice spacing")
339-
print(space1.min(), space1.max(), space1.mean())
340-
print("slice number")
341-
print(slices.min(), slices.max(), slices.mean())
328+
shape = img_arr.shape
329+
spacing_list.append(spacing)
330+
shape_list.append(shape)
331+
print(img_name, spacing, shape)
332+
spacings = np.asarray(spacing_list)
333+
shapes = np.asarray(shape_list)
334+
spacing_min = spacings.min(axis = 0)
335+
spacing_max = spacings.max(axis = 0)
336+
spacing_median = np.percentile(spacings, 50, axis = 0)
337+
print("spacing min", spacing_min)
338+
print("spacing max", spacing_max)
339+
print("spacing median", spacing_median)
340+
341+
shape_min = shapes.min(axis = 0)
342+
shape_max = shapes.max(axis = 0)
343+
shape_median = np.percentile(shapes, 50, axis = 0)
344+
print("shape min", shape_min)
345+
print("shape max", shape_max)
346+
print("shape median", shape_median)
347+
348+
if(output_csv is not None):
349+
img_names_short = [item.split("/")[-1] for item in img_names]
350+
img_names_short.extend(["spacing min", "spacing max", "spacing median",
351+
"shape min", "shape max", "shape median"])
352+
spacing_list.extend([spacing_min, spacing_max, spacing_median,
353+
shape_min, shape_max, shape_median])
354+
shape_list.extend(['']* 6)
355+
out_dict = {"img_name": img_names_short,
356+
"spacing": spacing_list,
357+
"shape": shape_list}
358+
df = pd.DataFrame.from_dict(out_dict)
359+
df.to_csv(output_csv, index=False)
342360

343361
def get_average_mean_std(data_dir, data_csv):
344362
df = pd.read_csv(data_csv)

0 commit comments

Comments
 (0)