return '/'.join(filepath.split('/')[:-1]) + '/'
def topng(inputfile, outfile=None, overwrite=True):
+ """
+ return (64, 64) : the width and height
+ """
try:
dicimg = pydicom.read_file(inputfile) # read dicom image
except pydicom.errors.InvalidDicomError as e:
img = dicimg.pixel_array# get image array (12bits)
# test <<
+ # return img.shape # $$ COMMENT OR REMOVE THIS LINE
print('img', img)
# print('img', type(img))
# print('min', img.min(), 'max', img.max())
cv2.imwrite(savepath, img, [cv2.IMWRITE_PNG_COMPRESSION, 0]) # write png image
+ # test
+ return img.shape
def topngs(inputdir, outdir):
"""
if __name__ == '__main__':
l = sorted(ls(GLOB_DIR))
+
+ # Initiliaze
+ wmin = hmin = None # None is important here, confert the 'minimum' algo
+ wmax = hmax = w = h = 0
+
for cas in l[START:END]:# cas like 'Case0002'
caspath = join(GLOB_DIR, cas)
continue
pass
-
for i, dic in enumerate(l1):
# print('join', r, l2[i])
ref = join(r, l2[i]) # logically, should be the json ref of i dicom image
# print("infarctus:", infarctus) # Testing..
# topng(join(caspath, dic), '%/%-%' % (join(OUT_DIR, 'infarctus'), cas, dic)
# print(join(caspath, dic), '{}/{}-{}'.format(join(OUT_DIR, 'infarctus'), cas, dic)) # Testing..
- topng(join(caspath, dic), '{}/{}-{}'.format(join(OUT_DIR, 'infarctus'), cas, dic))
+ w, h = topng(join(caspath, dic), '{}/{}-{}'.format(join(OUT_DIR, 'infarctus'), cas, dic))
else:
# print("no infarctus:", infarctus) # Testing..
# print(join(caspath, dic), '{}/{}-{}'.format(join(OUT_DIR, 'noinfarctus'), cas, dic)) # Testing..
- topng(join(caspath, dic), '{}/{}-{}'.format(join(OUT_DIR, 'noinfarctus'), cas, dic))
+ w, h = topng(join(caspath, dic), '{}/{}-{}'.format(join(OUT_DIR, 'noinfarctus'), cas, dic))
+
+ # search maximums
+ if wmax < w: wmax = w
+ if hmax < h: hmax = h
+
+ # search width minimum
+ if wmin is None: wmin = w
+ elif wmin > w: wmin = w
+
+ # search height minimum
+ if hmin is None: hmin = h
+ elif hmin > h: hmin = h
+
+ print('min-width, max-width:', (wmin, wmax))
+ print('min-height, max-height:', (hmin, hmax))
- print('Ended!')
\ No newline at end of file
+ print('Ended!')