def _path_to_running_marker_file(self, subject_info): file_name = self.PIPELINE_NAME file_name += '.' + subject_info.subject_id file_name += '_' + subject_info.classifier file_name += '.' + 'RUNNING' archive = ccf_archive.CcfArchive() self.running_status_dir = archive.running_status_dir_full_path(subject_info) path = self.running_status_dir + os.sep + file_name #print("path: " + path) return path
'--check-all', dest='check_all', action='store_true', required=False, default=False) parser.add_argument('-m', '--marked', dest='marked', action='store_true', required=False, default=False) # parse the command line arguments args = parser.parse_args() # check the specified subject for structural preprocessing completion archive = ccf_archive.CcfArchive() subject_info = ccf_subject.SubjectInfo(args.project, args.subject, args.classifier) completion_checker = OneSubjectCompletionXnatChecker() if args.output: processing_output = open(args.output, 'w') else: processing_output = sys.stdout if args.marked: if completion_checker.is_processing_marked_complete( archive=archive, subject_info=subject_info): print("Exiting with 0 code - Marked Completion Check Successful") exit(0) else:
def main(): # create a parser object for getting the command line arguments parser = my_argparse.MyArgumentParser() # mandatory arguments parser.add_argument('-p', '--project', dest='project', required=True, type=str) parser.add_argument('-s', '--subject', dest='subject', required=True, type=str) parser.add_argument('-d', '--study-dir', dest='output_study_dir', required=True, type=str) # optional arguments parser.add_argument('-a', '--scan', dest='scan', required=False, type=str, default=None) parser.add_argument('-c', '--copy', dest='copy', action='store_true', required=False, default=False) parser.add_argument('-l', '--log', dest='log', action='store_true', required=False, default=False) parser.add_argument('-r', '--remove-non-subdirs', dest='remove_non_subdirs', action='store_true', required=False, default=False) phase_choices = [ "STRUCT_PREPROC_PREREQS", "struct_preproc_prereqs", "STRUCT_PREPROC_HAND_EDIT_PREREQS", "struct_preproc_hand_edit_prereqs", "DIFF_PREPROC_PREREQS", "diff_preproc_prereqs", "FUNC_PREPROC_PREREQS", "func_preproc_prereqs", "MULTIRUNICAFIX_PREREQS", "multirunicafix_prereqs", "MSMALL_PREREQS", "msmall_prereqs", "DEDRIFTANDRESAMPLE_PREREQS", "dedriftandresample_prereqs", "REAPPLYFIX_PREREQS", "reapplyfix_prereqs" ] default_phase_choice = phase_choices[0] parser.add_argument('-ph', '--phase', dest='phase', required=False, choices=phase_choices, default=default_phase_choice) parser.add_argument('-cl', '--classifier', dest='session_classifier', required=False, type=str, default='3T') # parse the command line arguments args = parser.parse_args() # convert phase argument to uppercase args.phase = args.phase.upper() # show arguments module_logger.info("Arguments:") module_logger.info(" Project: " + args.project) module_logger.info(" Subject: " + args.subject) module_logger.info(" Session Classifier: " + args.session_classifier) module_logger.info(" Output Dir: " + args.output_study_dir) module_logger.info(" Phase: " + args.phase) if args.copy: module_logger.info(" Copy: " + str(args.copy)) if args.log: module_logger.info(" Log: " + str(args.log)) if args.remove_non_subdirs: module_logger.info(" Remove Non-Subdirs: " + str(args.remove_non_subdirs)) subject_info = ccf_subject.SubjectInfo(args.project, args.subject, args.session_classifier, args.scan) archive = ccf_archive.CcfArchive() data_retriever = DataRetriever(archive) data_retriever.copy = args.copy data_retriever.show_log = args.log # retrieve data based on phase requested if args.phase == "STRUCT_PREPROC_PREREQS": data_retriever.get_struct_preproc_prereqs(subject_info, args.output_study_dir) elif args.phase == "STRUCT_PREPROC_HAND_EDIT_PREREQS": data_retriever.get_struct_preproc_hand_edit_prereqs( subject_info, args.output_study_dir) elif args.phase == "DIFF_PREPROC_PREREQS": data_retriever.get_diffusion_preproc_prereqs(subject_info, args.output_study_dir) elif args.phase == "FUNC_PREPROC_PREREQS": data_retriever.get_functional_preproc_prereqs(subject_info, args.output_study_dir) elif args.phase == "MULTIRUNICAFIX_PREREQS": data_retriever.get_multirunicafix_prereqs(subject_info, args.output_study_dir) elif args.phase == "MSMALL_PREREQS": data_retriever.get_msmall_prereqs(subject_info, args.output_study_dir) elif args.phase == "DEDRIFTANDRESAMPLE_PREREQS": data_retriever.get_dedriftandresample_prereqs(subject_info, args.output_study_dir) # Get the group average drift data # As of February 2017, the group average drift data has been moved from HCP_Staging to # HCP_1200 data_retriever.get_msm_group_average_drift_data( "HCP_1200", args.output_study_dir) elif args.phase == "REAPPLYFIX_PREREQS": data_retriever.get_reapplyfix_prereqs(subject_info, args.output_study_dir) if args.remove_non_subdirs: # remove any non-subdirectory data at the output study directory level data_retriever.remove_non_subdirs(args.output_study_dir)
def __init__(self): super().__init__(ccf_archive.CcfArchive())
print("reg_name: " + args.reg_name) # get list of subjects to check subject_file_name = 'subjectfiles' + os.sep + file_utils.get_subjects_file_name( __file__) module_logger.info("Retrieving subject list from: " + subject_file_name) subject_list = ccf_subject.read_subject_info_list(subject_file_name, separator=":") # open output file output_file = open('ReApplyFix.status', 'w') _write_header() # create archive archive = ccf_archive.CcfArchive('3T') # create one subject completion checker completion_checker = one_subject_completion_checker.OneSubjectCompletionChecker( ) if args.reg_name != "": module_logger.info("setting completion checker reg_name to " + args.reg_name) completion_checker.reg_name = args.reg_name for subject in subject_list: subject_id = subject.subject_id project = subject.project scan = subject.extra module_logger.debug(" id: " + subject_id)