Spaces:
Sleeping
Sleeping
File size: 3,801 Bytes
1cc0005 |
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
import argparse
import sys
from Utils.fileconverter import itk_to_nrrd
from Engine.train import initiate as train_initiate
from Engine.evaluate import initiate as evaluate_initiate
from Utils.MSD_utilities import generate_training_data
from Utils.plot import plot_train_data
from Utils.PETCT_LungDx_utilities import convert_nsclc_petct
class Parser(object):
def __init__(self):
parser = argparse.ArgumentParser(
description='Interface for utilities',
usage='''interface <command> [<args>]
Available commands:
itk_to_nrrd Converts files in folder from other ITK formats to .nrrd format
train Initiates training
evaluate Initiates evaluation
plot Generates and shows plot based on specified metric file
msd_generate_data_file Generates a datafile for training on MSD dataset
format_petct_dataset Converts the the LUNGPTCT dataset to nifti files and generates segboxes for each scan
''')
parser.add_argument('command', help='Subcommand to run')
args = parser.parse_args(sys.argv[1:2])
if(not hasattr(self, args.command)):
print('Unrecognized command')
parser.print_help()
exit(1)
getattr(self, args.command)()
def itk_to_nrrd(self):
parser = argparse.ArgumentParser(
description='Converts files in folder from other ITK formats to .nrrd format')
parser.add_argument("source")
parser.add_argument("destination")
args = parser.parse_args(sys.argv[2:])
itk_to_nrrd(args.source, args.destination)
def train(self):
parser = argparse.ArgumentParser(
description='Initiates training of model based on specified config file')
parser.add_argument("config")
args = parser.parse_args(sys.argv[2:])
train_initiate(args.config)
def evaluate(self):
parser = argparse.ArgumentParser(
description='Initiates evaluation of model based on specified config file')
parser.add_argument("config")
args = parser.parse_args(sys.argv[2:])
evaluate_initiate(args.config)
def plot(self):
parser = argparse.ArgumentParser(
description='Generates and shows plot based on specified metric file')
parser.add_argument("metric_file")
parser.add_argument("-store_file")
parser.add_argument("--dont_show", "-d", default=False)
parser.add_argument("-steps_per_epoch", default=-1)
args = parser.parse_args(sys.argv[2:])
plot_train_data(args.metric_file, args.store_file, not args.dont_show, steps_in_epoch=int(args.steps_per_epoch))
def msd_generate_data_file(self):
parser = argparse.ArgumentParser(
description='Generates a datafile for training on MSD dataset')
parser.add_argument("datafile_save_path")
parser.add_argument("msd_directory")
parser.add_argument("target_platform")
args = parser.parse_args(sys.argv[2:])
generate_training_data(args.datafile_save_path, args.msd_directory, args.target_platform)
def format_petct_dataset(self):
parser = argparse.ArgumentParser(
description='Converts the the LUNGPTCT dataset to nifti files and generates segboxes for each scan')
parser.add_argument("annotation_folder")
parser.add_argument("dataset_folder")
parser.add_argument("label_folder")
parser.add_argument("input_folder")
args = parser.parse_args(sys.argv[2:])
convert_nsclc_petct(args.annotation_folder, args.dataset_folder, args.label_folder, args.input_folder)
if __name__ == '__main__':
Parser() |