Toggle Light / Dark / Auto color theme
               
               
               
               
             
           
          
            Toggle table of contents sidebar
             
           
         
        
          Source code for CPAC.utils.misc 
# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*- 
# vi: set ft=python sts=4 ts=4 sw=4 et: 
""" 
Miscellaneous utilities 
""" 
# This functionality is adapted from poldracklab/niworkflows: 
# https://github.com/poldracklab/niworkflows/blob/master/niworkflows/utils/misc.py         
# https://fmriprep.readthedocs.io/ 
# https://poldracklab.stanford.edu/ 
# We are temporarily maintaining our own copy for more granular control. 
__all__  =  [ 'get_template_specs' ] 
[docs] def  get_template_specs ( in_template ,  template_spec = None ,  default_resolution = 1 ): 
     """ 
    Parse template specifications 
    >>> get_template_specs('MNI152NLin2009cAsym', {'suffix': 'T1w'})[1]  # doctest: +SKIP 
    {'resolution': 1} 
    >>> get_template_specs('MNI152NLin2009cAsym', {'res': '2', 'suffix': 'T1w'})[1]  # doctest: +SKIP 
    {'resolution': '2'} 
    >>> get_template_specs('MNIInfant', {'res': '2', 'cohort': '10', 'suffix': 'T1w'})[1]  # doctest: +SKIP 
    {'resolution': '2', 'cohort': '10'} 
    >>> get_template_specs('MNI152NLin2009cAsym', 
    ...                    {'suffix': 'T1w', 'cohort': 1})[1] # doctest: +IGNORE_EXCEPTION_DETAIL +SKIP 
    Traceback (most recent call last): 
    RuntimeError: 
    ... 
    >>> get_template_specs('MNI152NLin2009cAsym', 
    ...                    {'suffix': 'T1w', 'res': '1|2'})[1] # doctest: +IGNORE_EXCEPTION_DETAIL +SKIP 
    Traceback (most recent call last): 
    RuntimeError: 
    ... 
    """ 
    # from templateflow.api import get as get_template 
    # Massage spec (start creating if None) 
    template_spec  =  template_spec  or  {} 
    template_spec [ 'desc' ]  =  template_spec . get ( 'desc' ,  None ) 
    template_spec [ 'atlas' ]  =  template_spec . get ( 'atlas' ,  None ) 
    template_spec [ 'resolution' ]  =  template_spec . pop ( 
        'res' ,  template_spec . get ( 'resolution' ,  default_resolution )) 
    common_spec  =  { 'resolution' :  template_spec [ 'resolution' ]} 
    if  'cohort'  in  template_spec : 
        common_spec [ 'cohort' ]  =  template_spec [ 'cohort' ]  
if  __name__  ==  '__main__' : 
    pass