How to use the dax.dax_settings.DEFAULT_FS_DATATYPE.lower function in dax

To help you get started, we’ve selected a few dax examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github VUIIS / dax / dax / XnatUtils.py View on Github external
# Get the sessions list to get the different variables needed:
        session_list = self.get_sessions(projectid)
        sess_id2mod = dict((sess['session_id'], [sess['subject_label'],
                            sess['type'], sess['handedness'], sess['gender'],
                            sess['yob'], sess['age'], sess['last_modified'],
                            sess['last_updated']]) for sess in session_list)

        if has_fs_datatypes(self):
            # First get FreeSurfer
            post_uri = SE_ARCHIVE_URI
            post_uri += ASSESSOR_FS_PROJ_POST_URI.format(
                project=projectid, fstype=DEFAULT_FS_DATATYPE)
            assessor_list = self._get_json(post_uri)

            pfix = DEFAULT_FS_DATATYPE.lower()
            for asse in assessor_list:
                if asse['label']:
                    key = asse['label']
                    if assessors_dict.get(key):
                        res = '%s/out/file/label' % pfix
                        assessors_dict[key]['resources'].append(asse[res])
                    else:
                        anew = {}
                        anew['ID'] = asse['ID']
                        anew['label'] = asse['label']
                        anew['uri'] = asse['URI']
                        anew['assessor_id'] = asse['ID']
                        anew['assessor_label'] = asse['label']
                        anew['assessor_uri'] = asse['URI']
                        anew['project_id'] = projectid
                        anew['project_label'] = projectid
github VUIIS / dax / dax / processors.py View on Github external
def create_assessor(self, xnatsession, inputs, relabel=False):
        attempts = 0
        while attempts < 100:
            guid = str(uuid4())
            assessor = xnatsession.assessor(guid)
            if not assessor.exists():
                kwargs = {}
                if self.xsitype.lower() == DEFAULT_FS_DATATYPE.lower():
                    fsversion = '{}/fsversion'.format(self.xsitype.lower())
                    kwargs[fsversion] = 0
                elif self.xsitype.lower() == DEFAULT_DATATYPE.lower():
                    proctype = '{}/proctype'.format(self.xsitype.lower())
                    kwargs[proctype] = self.name
                    procversion = '{}/procversion'.format(self.xsitype.lower())
                    kwargs[procversion] = self.version
                input_key = '{}/inputs'.format(self.xsitype.lower())
                kwargs[input_key] = self._serialize_inputs(inputs)
                if relabel:
                    _proj = assessor.parent().parent().parent().label()
                    _subj = assessor.parent().parent().label()
                    _sess = assessor.parent().label()
                    label = '-x-'.join([_proj, _subj, _sess, self.name, guid])
                else:
                    label = guid
github VUIIS / dax / dax / XnatUtils.py View on Github external
assr_info['inputs'] = parse_assessor_inputs(
                self.get('proc:inputs'))
            assr_info['ID'] = self.get('ID')
            assr_info['label'] = self.get('label')
            assr_info['assessor_id'] = assr_info['ID']
            assr_info['assessor_label'] = assr_info['label']
            assr_info['project_id'] = self.get('project')
            assr_info['project_label'] = assr_info['project_id']
            assr_info['subject_id'] = self.parent().get('xnat:subject_ID')
            assr_info['subject_label'] = self.parent().subject
            assr_info['session_id'] = self.parent().get('ID')
            assr_info['session_label'] = self.parent().get('label')
            xmltype = '{http://www.w3.org/2001/XMLSchema-instance}type'
            assr_info['xsiType'] = self.get(xmltype).lower()

            if assr_info['xsiType'].lower() == DEFAULT_FS_DATATYPE.lower():
                # FreeSurfer
                assr_info['procstatus'] = self.get('fs:procstatus')
                assr_info['qcstatus'] = self.get('xnat:validation/status')
                assr_info['qcnotes'] = self.get('xnat:validation/notes')
                assr_info['version'] = self.get('fs:procversion')
                assr_info['jobid'] = self.get('fs:jobid')
                assr_info['jobstartdate'] = self.get('fs:jobstartdate')
                assr_info['memused'] = self.get('fs:memused')
                assr_info['walltimeused'] = self.get('fs:walltimeused')
                assr_info['jobnode'] = self.get('fs:jobnode')
                assr_info['proctype'] = 'FreeSurfer'

            elif assr_info['xsiType'].lower() == DEFAULT_DATATYPE.lower():
                # genProcData
                assr_info['procstatus'] = self.get('proc:procstatus')
                assr_info['proctype'] = self.get('proc:proctype')
github VUIIS / dax / dax / task.py View on Github external
"""
        if cached_sessions:
            for csess in cached_sessions:
                for cassr in csess.assessors():
                    if cassr.label() == self.assessor_label:
                        pstatus = cassr.info()['procstatus']
                        qstatus = cassr.info()['qcstatus']
                        jobid = cassr.info()['jobid']
                        return pstatus, qstatus, jobid

        if not self.assessor.exists():
            xnat_status = DOES_NOT_EXIST
            qcstatus = DOES_NOT_EXIST
            jobid = ''
        elif self.atype.lower() in [DEFAULT_DATATYPE.lower(),
                                    DEFAULT_FS_DATATYPE.lower()]:
            xnat_status, qcstatus, jobid = self.assessor.attrs.mget([
                '%s/procstatus' % self.atype,
                '%s/validation/status' % self.atype,
                '%s/jobid' % self.atype
            ])
        else:
            xnat_status = 'UNKNOWN_xsiType: %s' % self.atype
            qcstatus = 'UNKNOWN_xsiType: %s' % self.atype
            jobid = ''

        return xnat_status, qcstatus, jobid
github VUIIS / dax / dax / XnatUtils.py View on Github external
# Get the sessions list to get the different variables needed:
        session_list = self.get_sessions(projectid)
        sess_id2mod = dict((sess['session_id'], [sess['subject_label'],
                            sess['type'], sess['handedness'], sess['gender'],
                            sess['yob'], sess['age'], sess['last_modified'],
                            sess['last_updated']]) for sess in session_list)

        if has_fs_datatypes(self):
            # First get FreeSurfer
            post_uri = SE_ARCHIVE_URI
            post_uri += ASSESSOR_FS_PROJ_POST_URI.format(
                project=projectid, fstype=DEFAULT_FS_DATATYPE)
            assessor_list = self._get_json(post_uri)

            pfix = DEFAULT_FS_DATATYPE.lower()
            for asse in assessor_list:
                if asse['label']:
                    key = asse['label']
                    if assessors_dict.get(key):
                        res = '%s/out/file/label' % pfix
                        assessors_dict[key]['resources'].append(asse[res])
                    else:
                        anew = {}
                        anew['ID'] = asse['ID']
                        anew['label'] = asse['label']
                        anew['uri'] = asse['URI']
                        anew['assessor_id'] = asse['ID']
                        anew['assessor_label'] = asse['label']
                        anew['assessor_uri'] = asse['URI']
                        anew['project_id'] = projectid
                        anew['project_label'] = projectid
github VUIIS / dax / dax / task.py View on Github external
def get_status(self):
        """
        Get the procstatus of an assessor

        :return: The string of the procstatus of the assessor.
         DOES_NOT_EXIST if the assessor does not exist

        """
        if not self.assessor.exists():
            xnat_status = DOES_NOT_EXIST
        elif self.atype.lower() in [DEFAULT_DATATYPE.lower(),
                                    DEFAULT_FS_DATATYPE.lower()]:
            xnat_status = self.assessor.attrs.get('%s/procstatus'
                                                  % self.atype.lower())
        else:
            xnat_status = 'UNKNOWN_xsiType: %s' % self.atype
        return xnat_status
github VUIIS / dax / dax / XnatUtils.py View on Github external
:param projectid: ID of a project on XNAT
        :param subjectid: ID/label of a subject
        :param sessionid: ID/label of a session
        :return: List of all the assessors
        """
        new_list = list()

        if has_fs_datatypes(self):
            # First get FreeSurfer
            post_uri = ASSESSORS_URI.format(project=projectid,
                                            subject=subjectid,
                                            session=sessionid)
            post_uri += ASSESSOR_FS_POST_URI.format(fstype=DEFAULT_FS_DATATYPE)
            assessor_list = self._get_json(post_uri)

            pfix = DEFAULT_FS_DATATYPE.lower()
            for asse in assessor_list:
                anew = {}
                anew['ID'] = asse['ID']
                anew['label'] = asse['label']
                anew['uri'] = asse['URI']
                anew['assessor_id'] = asse['ID']
                anew['assessor_label'] = asse['label']
                anew['assessor_uri'] = asse['URI']
                anew['project_id'] = projectid
                anew['project_label'] = projectid
                anew['subject_id'] = asse['xnat:imagesessiondata/subject_id']
                anew['session_id'] = asse['session_ID']
                anew['session_label'] = asse['session_label']
                anew['procstatus'] = asse['%s/procstatus' % pfix]
                anew['qcstatus'] = asse['%s/validation/status' % pfix]
                anew['proctype'] = 'FreeSurfer'