Communicative_CRN / src /visualiser.py
Sanni Henry
Initial deploy: Gradio landmark detection demo
377b913
Raw
History Blame Contribute Delete
1.87 kB
import argparse
from medical import MedicalPlayer
IMAGE_SIZE = (45, 45, 45)
def main(files_list, file_type, landmark_ids, agents):
env = MedicalPlayer(
screen_dims=IMAGE_SIZE,
viz=0.01,
saveGif=False,
saveVideo=False,
task="eval",
files_list=files_list,
file_type=file_type,
landmark_ids=landmark_ids,
history_length=1,
multiscale=False,
agents=agents
)
seen_files = set()
while True:
env.reset(fixed_spawn = "on_landmark")
file_name = env._image[0].name
if file_name in seen_files:
break
seen_files.add(file_name)
print(f"Dimension of image {file_name}: {env._image[0].dims}")
print("Landmarks", tuple(map(tuple, env._target_loc)))
env.display()
print("Press Enter to go to the next image...")
input()
print("All images have been visualised.")
if __name__ == "__main__":
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'--file_type', help='Type of the training and validation files',
choices=['brain', 'cardiac', 'fetal'], default='train')
parser.add_argument(
'--files', type=argparse.FileType('r'), nargs='+',
help="""Filepath to the text file that contains list of images.
Each line of this file is a full path to an image scan.
For (task == train or eval) there should be two input files
['images', 'landmarks']""")
parser.add_argument(
'--landmarks', nargs='*', help='Landmarks to use in the images',
type=int, default=[1])
parser.set_defaults(write=False)
args = parser.parse_args()
agents = len(args.landmarks)
main(args.files, args.file_type, args.landmarks, agents)