예제 #1
0
 def __generate_yaml(entry):
     scans = []
     assessors = []
     for input in entry['yaml_inputs']:
         resources = []
         for r in input['resources']:
             resources.append({
                 'type': r.restype,
                 'name': r.varname,
                 'required': r.required
             })
         if input['category'] == 'scan':
             scans.append({
                 'name': input['label'],
                 'types': input['type'],
                 'select': input['select'],
                 'select-session': input['select-session'],
                 'qc': input['needs_qc'],
                 'resources': resources
             })
         if input['category'] == 'assessor':
             assessors.append({
                 'name': input['label'],
                 'types': input['type'],
                 'select': input['select'],
                 'select-session': input['select-session'],
                 'qc': input['needs_qc'],
                 'resources': resources
             })
     yaml_src = yamls.generate_yaml(scans=scans)
     return yaml_doc.YamlDoc().from_string(yaml_src)
예제 #2
0
 def _make_yaml_source(resource):
     return yaml_doc.YamlDoc().from_string(resource)
예제 #3
0
 def test_new_processor(self):
     yd = yaml_doc.YamlDoc().from_string(scan_gif_parcellation_yaml)
     ap = AutoProcessor(common.FakeXnat, yd)
예제 #4
0
    def __getabcdscenario():
        proc_a = yamls.generate_yaml(procname="Proc_A",
                                     scans=[{
                                         'name':
                                         'scan1',
                                         'types':
                                         'T1',
                                         'resources': [{
                                             'type': 'NIFTI',
                                             'name': 't1'
                                         }]
                                     }])
        proc_b = yamls.generate_yaml(procname="Proc_B",
                                     scans=[{
                                         'name':
                                         'scan1',
                                         'types':
                                         'T1',
                                         'resources': [{
                                             'type': 'NIFTI',
                                             'name': 't1'
                                         }]
                                     }])
        proc_c = yamls.generate_yaml(procname="Proc_C",
                                     assessors=[{
                                         'name':
                                         'proc1',
                                         'types':
                                         'Proc_A_v1',
                                         'resources': [{
                                             'type': 'SEG',
                                             'name': 'proc_a'
                                         }]
                                     }, {
                                         'name':
                                         'proc2',
                                         'types':
                                         'Proc_B_v1',
                                         'resources': [{
                                             'type': 'SEG2',
                                             'name': 'proc_b'
                                         }]
                                     }])
        proc_d = yamls.generate_yaml(procname="Proc_D",
                                     assessors=[{
                                         'name':
                                         'proc1',
                                         'types':
                                         'Proc_C_v1',
                                         'resources': [{
                                             'type': 'THING',
                                             'name': 'proc_c'
                                         }]
                                     }, {
                                         'name':
                                         'proc2',
                                         'types':
                                         'Proc_B_v1',
                                         'resources': [{
                                             'type': 'SEG2',
                                             'name': 'proc_b'
                                         }]
                                     }])

        return [('Proc_A_v1', yaml_doc.YamlDoc().from_string(proc_a)),
                ('Proc_B_v1', yaml_doc.YamlDoc().from_string(proc_b)),
                ('Proc_C_v1', yaml_doc.YamlDoc().from_string(proc_c)),
                ('Proc_D_v1', yaml_doc.YamlDoc().from_string(proc_d))]