Ejemplo n.º 1
0
 def input_tree(self):
     sessions = []
     visit_ids = set()
     for subj_id, visits in list(self.PROJECT_STRUCTURE.items()):
         for visit_id, filesets in list(visits.items()):
             sessions.append(
                 Session(subj_id,
                         visit_id,
                         filesets=[
                             Fileset(d,
                                     text_format,
                                     subject_id=subj_id,
                                     visit_id=visit_id,
                                     from_study=((self.STUDY_NAME
                                                  if d != 'one' else None)))
                             for d in filesets
                         ]))
             visit_ids.add(visit_id)
     subjects = [
         Subject(i, sessions=[s for s in sessions if s.subject_id == i])
         for i in self.PROJECT_STRUCTURE
     ]
     visits = [
         Visit(i, sessions=[s for s in sessions if s.visit == i])
         for i in visit_ids
     ]
     return Tree(subjects=subjects, visits=visits)
Ejemplo n.º 2
0
 def input_tree(self):
     fields = [
         Field(name='acquired_field1',
               value=1,
               dtype=int, frequency='per_session',
               subject_id='0', visit_id='0'),
         Field(name='acquired_field1',
               value=2,
               dtype=int, frequency='per_session',
               subject_id='0', visit_id='1'),
         Field(name='acquired_field1',
               value=3,
               dtype=int, frequency='per_session',
               subject_id='1', visit_id='0'),
         Field(name='acquired_field1',
               value=4,
               dtype=int, frequency='per_session',
               subject_id='1', visit_id='1'),
         Field(name='acquired_field2',
               value=10,
               dtype=int, frequency='per_session',
               subject_id='0', visit_id='0'),
         Field(name='acquired_field2',
               value=20,
               dtype=int, frequency='per_session',
               subject_id='0', visit_id='1'),
         Field(name='acquired_field2',
               value=30,
               dtype=int, frequency='per_session',
               subject_id='1', visit_id='0')]
     return Tree.construct(self.dataset.repository, fields=fields)
Ejemplo n.º 3
0
 def input_tree(self):
     sessions = []
     for subj_id in self.SUBJECT_IDS:
         for visit_id in self.VISIT_IDS:
             sessions.append(
                 Session(subj_id,
                         visit_id,
                         filesets=[
                             Fileset('one_input',
                                     text_format,
                                     subject_id=subj_id,
                                     visit_id=visit_id),
                             Fileset('ten_input',
                                     text_format,
                                     subject_id=subj_id,
                                     visit_id=visit_id)
                         ]))
     subjects = [
         Subject(i, sessions=[s for s in sessions if s.subject_id == i])
         for i in self.SUBJECT_IDS
     ]
     visits = [
         Visit(i, sessions=[s for s in sessions if s.visit == i])
         for i in self.VISIT_IDS
     ]
     return Tree(subjects=subjects, visits=visits)
Ejemplo n.º 4
0
 def input_tree(self):
     fields = []
     for subj_i in range(self.NUM_SUBJECTS):
         for visit_i in range(self.NUM_VISITS):
             fields.append(
                 Field(name='acquired_field1', value=visit_i + subj_i * 10,
                       dtype=int, frequency='per_session',
                       subject_id=str(subj_i), visit_id=str(visit_i)))
     return Tree.construct(self.dataset.repository, fields=fields)
Ejemplo n.º 5
0
 def input_tree(self):
     filesets = []
     for subj_id, visit_ids in list(self.PROJECT_STRUCTURE.items()):
         for visit_id, fileset_names in list(visit_ids.items()):
             # Create filesets
             for name in fileset_names:
                 from_analysis = self.STUDY_NAME if name != 'one' else None
                 filesets.append(
                     Fileset(name,
                             text_format,
                             subject_id=subj_id,
                             visit_id=visit_id,
                             from_analysis=from_analysis))
     return Tree.construct(self.dataset.repository, filesets=filesets)
Ejemplo n.º 6
0
 def input_tree(self):
     filesets = []
     for subj_id in self.SUBJECT_IDS:
         for visit_id in self.VISIT_IDS:
             filesets.append(
                 Fileset('one_input',
                         text_format,
                         subject_id=subj_id,
                         visit_id=visit_id))
             filesets.append(
                 Fileset('ten_input',
                         text_format,
                         subject_id=subj_id,
                         visit_id=visit_id))
     return Tree.construct(self.dataset.repository, filesets=filesets)
Ejemplo n.º 7
0
 def get_tree(self, dataset, sync_with_repo=False):
     filesets = [
         # Subject1
         Fileset('ones', text_format,
                 frequency='per_subject',
                 subject_id='subject1',
                 resource_name='text',
                 dataset=dataset),
         Fileset('tens', text_format,
                 frequency='per_subject',
                 subject_id='subject1',
                 resource_name='text',
                 dataset=dataset),
         # subject1/visit1
         Fileset('hundreds', text_format,
                 subject_id='subject1', visit_id='visit1',
                 resource_name='text',
                 dataset=dataset),
         Fileset('ones', text_format,
                 subject_id='subject1', visit_id='visit1',
                 resource_name='text',
                 dataset=dataset),
         Fileset('tens', text_format,
                 subject_id='subject1', visit_id='visit1',
                 resource_name='text',
                 dataset=dataset),
         Fileset('with_header', text_format,
                 frequency='per_session',
                 subject_id='subject1', visit_id='visit1',
                 resource_name='text',
                 dataset=dataset),
         # subject1/visit2
         Fileset('ones', text_format,
                 subject_id='subject1', visit_id='visit2',
                 resource_name='text',
                 dataset=dataset),
         Fileset('tens', text_format,
                 subject_id='subject1', visit_id='visit2',
                 resource_name='text',
                 dataset=dataset),
         # Subject 2
         Fileset('ones', text_format,
                 frequency='per_subject',
                 subject_id='subject2',
                 resource_name='text',
                 dataset=dataset),
         Fileset('tens', text_format,
                 frequency='per_subject',
                 subject_id='subject2',
                 resource_name='text',
                 dataset=dataset),
         # subject2/visit1
         Fileset('ones', text_format,
                 subject_id='subject2', visit_id='visit1',
                 resource_name='text',
                 dataset=dataset),
         Fileset('tens', text_format,
                 subject_id='subject2', visit_id='visit1',
                 resource_name='text',
                 dataset=dataset),
         # subject2/visit2
         Fileset('ones', text_format,
                 subject_id='subject2', visit_id='visit2',
                 resource_name='text',
                 dataset=dataset),
         Fileset('tens', text_format,
                 subject_id='subject2', visit_id='visit2',
                 resource_name='text',
                 dataset=dataset),
         # Visit 1
         Fileset('ones', text_format,
                 frequency='per_visit',
                 visit_id='visit1',
                 resource_name='text',
                 dataset=dataset),
         # Analysis
         Fileset('ones', text_format,
                 frequency='per_dataset',
                 resource_name='text',
                 dataset=dataset)]
     fields = [
         # Subject 2
         Field('e', value=3.33333,
               frequency='per_subject',
               subject_id='subject2',
               dataset=dataset),
         # subject2/visit2
         Field('a', value=22,
               subject_id='subject2', visit_id='visit2',
               dataset=dataset),
         Field('b', value=220,
               subject_id='subject2', visit_id='visit2',
               dataset=dataset),
         Field('c', value='buggy',
               subject_id='subject2', visit_id='visit2',
               dataset=dataset),
         # Subject1
         Field('e', value=4.44444,
               frequency='per_subject',
               subject_id='subject1',
               dataset=dataset),
         # subject1/visit1
         Field('a', value=1,
               subject_id='subject1', visit_id='visit1',
               dataset=dataset),
         Field('b', value=10,
               subject_id='subject1', visit_id='visit1',
               dataset=dataset),
         Field('d', value=42.42,
               subject_id='subject1', visit_id='visit1',
               dataset=dataset),
         # subject1/visit2
         Field('a', value=2,
               subject_id='subject1', visit_id='visit2',
               dataset=dataset),
         Field('c', value='van',
               subject_id='subject1', visit_id='visit2',
               dataset=dataset),
         # Visit 1
         Field('f', value='dog',
               frequency='per_visit',
               visit_id='visit1',
               dataset=dataset),
         # Visit 2
         Field('f', value='cat',
               frequency='per_visit',
               visit_id='visit2',
               dataset=dataset),
         # Analysis
         Field('g', value=100,
               frequency='per_dataset',
               dataset=dataset)]
     # Set URI and IDs if necessary for repository type
     if sync_with_repo:
         for fileset in filesets:
             fileset.get()
         for field in fields:
             field.get()
     tree = Tree.construct(self.dataset, filesets, fields)
     return tree
Ejemplo n.º 8
0
 def get_tree(self, repository, set_ids=False):
     sessions = [
         Session('subject1',
                 'visit1',
                 filesets=[
                     Fileset('hundreds',
                             text_format,
                             subject_id='subject1',
                             visit_id='visit1',
                             repository=repository),
                     Fileset('ones',
                             text_format,
                             subject_id='subject1',
                             visit_id='visit1',
                             repository=repository),
                     Fileset('tens',
                             text_format,
                             subject_id='subject1',
                             visit_id='visit1',
                             repository=repository)
                 ],
                 fields=[
                     Field('a',
                           value=1,
                           subject_id='subject1',
                           visit_id='visit1',
                           repository=repository),
                     Field('b',
                           value=10,
                           subject_id='subject1',
                           visit_id='visit1',
                           repository=repository),
                     Field('d',
                           value=42.42,
                           subject_id='subject1',
                           visit_id='visit1',
                           repository=repository)
                 ]),
         Session('subject1',
                 'visit2',
                 filesets=[
                     Fileset('ones',
                             text_format,
                             subject_id='subject1',
                             visit_id='visit2',
                             repository=repository),
                     Fileset('tens',
                             text_format,
                             subject_id='subject1',
                             visit_id='visit2',
                             repository=repository)
                 ],
                 fields=[
                     Field('a',
                           value=2,
                           subject_id='subject1',
                           visit_id='visit2',
                           repository=repository),
                     Field('c',
                           value='van',
                           subject_id='subject1',
                           visit_id='visit2',
                           repository=repository)
                 ]),
         Session('subject2',
                 'visit1',
                 filesets=[
                     Fileset('ones',
                             text_format,
                             subject_id='subject2',
                             visit_id='visit1',
                             repository=repository),
                     Fileset('tens',
                             text_format,
                             subject_id='subject2',
                             visit_id='visit1',
                             repository=repository)
                 ],
                 fields=[]),
         Session('subject2',
                 'visit2',
                 filesets=[
                     Fileset('ones',
                             text_format,
                             subject_id='subject2',
                             visit_id='visit2',
                             repository=repository),
                     Fileset('tens',
                             text_format,
                             subject_id='subject2',
                             visit_id='visit2',
                             repository=repository)
                 ],
                 fields=[
                     Field('a',
                           value=22,
                           subject_id='subject2',
                           visit_id='visit2',
                           repository=repository),
                     Field('b',
                           value=220,
                           subject_id='subject2',
                           visit_id='visit2',
                           repository=repository),
                     Field('c',
                           value='buggy',
                           subject_id='subject2',
                           visit_id='visit2',
                           repository=repository)
                 ])
     ]
     project = Tree(
         subjects=[
             Subject('subject1',
                     sessions=[
                         s for s in sessions if s.subject_id == 'subject1'
                     ],
                     filesets=[
                         Fileset('ones',
                                 text_format,
                                 frequency='per_subject',
                                 subject_id='subject1',
                                 repository=repository),
                         Fileset('tens',
                                 text_format,
                                 frequency='per_subject',
                                 subject_id='subject1',
                                 repository=repository)
                     ],
                     fields=[
                         Field('e',
                               value=4.44444,
                               frequency='per_subject',
                               subject_id='subject1',
                               repository=repository)
                     ]),
             Subject('subject2',
                     sessions=[
                         s for s in sessions if s.subject_id == 'subject2'
                     ],
                     filesets=[
                         Fileset('ones',
                                 text_format,
                                 frequency='per_subject',
                                 subject_id='subject2',
                                 repository=repository),
                         Fileset('tens',
                                 text_format,
                                 frequency='per_subject',
                                 subject_id='subject2',
                                 repository=repository)
                     ],
                     fields=[
                         Field('e',
                               value=3.33333,
                               frequency='per_subject',
                               subject_id='subject2',
                               repository=repository)
                     ])
         ],
         visits=[
             Visit('visit1',
                   sessions=[s for s in sessions if s.visit_id == 'visit1'],
                   filesets=[
                       Fileset('ones',
                               text_format,
                               frequency='per_visit',
                               visit_id='visit1',
                               repository=repository)
                   ],
                   fields=[
                       Field('f',
                             value='dog',
                             frequency='per_visit',
                             visit_id='visit1',
                             repository=repository)
                   ]),
             Visit('visit2',
                   sessions=[s for s in sessions if s.visit_id == 'visit2'],
                   filesets=[],
                   fields=[
                       Field('f',
                             value='cat',
                             frequency='per_visit',
                             visit_id='visit2',
                             repository=repository)
                   ])
         ],
         filesets=[
             Fileset('ones',
                     text_format,
                     frequency='per_study',
                     repository=repository)
         ],
         fields=[
             Field('g',
                   value=100,
                   frequency='per_study',
                   repository=repository)
         ])
     if set_ids:  # For xnat repository
         for fileset in project.filesets:
             fileset._id = fileset.name
         for visit in project.visits:
             for fileset in visit.filesets:
                 fileset._id = fileset.name
         for subject in project.subjects:
             for fileset in subject.filesets:
                 fileset._id = fileset.name
             for session in subject.sessions:
                 for fileset in session.filesets:
                     fileset._id = fileset.name
     return project