Amirparsa-Sal
Add codes
5d1f0ae
import os
import json
import pandas as pd
class ClinicDBSolver(object):
CLSNAMES = [
'colon',
]
def __init__(self, root='data/mvtec'):
self.root = root
self.meta_path = f'{root}/meta.json'
def run(self):
info = dict(train={}, test={})
anomaly_samples = 0
normal_samples = 0
for cls_name in self.CLSNAMES:
cls_dir = f'{self.root}'
for phase in ['test']:
cls_info = []
# is_abnormal = True if specie not in ['good'] else False
img_names = os.listdir(f'{cls_dir}/images')
mask_names = os.listdir(f'{cls_dir}/masks')
img_names.sort()
mask_names.sort() if mask_names is not None else None
for idx, img_name in enumerate(img_names):
info_img = dict(
img_path=f'{cls_dir}/images/{img_name}',
mask_path=f'{cls_dir}/masks/{mask_names[idx]}',
cls_name=cls_name,
specie_name='',
anomaly=1
)
cls_info.append(info_img)
if phase == 'test':
if True:
anomaly_samples = anomaly_samples + 1
else:
normal_samples = normal_samples + 1
info[phase][cls_name] = cls_info
with open(self.meta_path, 'w') as f:
f.write(json.dumps(info, indent=4) + "\n")
print('normal_samples', normal_samples, 'anomaly_samples', anomaly_samples)
if __name__ == '__main__':
runner = ClinicDBSolver(root='/remote-home/iot_zhouqihang/data/medical/CVC-ColonDB')
runner.run()