def make_method_list(fs_subject_dir, user_feature_paths, user_feature_type='dir_of_dirs'):
    '\n    Returns an organized list of feature paths and methods to read in features.\n\n    Parameters\n    ----------\n    fs_subject_dir : str\n    user_feature_paths : list of str\n    user_feature_type : str\n\n    Returns\n    -------\n    feature_dir : list\n    method_list : list\n\n\n    '
    freesurfer_readers = [aseg_stats_subcortical, aseg_stats_whole_brain]
    userdefined_readers = {'dir_of_dirs': get_dir_of_dirs, 'data_matrix': get_data_matrix, 'pyradigm': get_pyradigm, 'arff': get_arff}
    feature_dir = list()
    method_list = list()
    if not_unspecified(user_feature_paths):
        if (user_feature_type not in userdefined_readers):
            raise NotImplementedError('Invalid feature type or its reader is not implemented yet!')
        for upath in user_feature_paths:
            feature_dir.append(upath)
            method_list.append(userdefined_readers[user_feature_type])
    if not_unspecified(fs_subject_dir):
        for fsrdr in freesurfer_readers:
            feature_dir.append(fs_subject_dir)
            method_list.append(fsrdr)
    if (len(method_list) != len(feature_dir)):
        raise ValueError('Invalid specification for features!')
    if (len(method_list) < 1):
        raise ValueError('Atleast one feature set must be specified.')
    print('\nRequested features for analysis:')
    for (mm, method) in enumerate(method_list):
        print('{} from {}'.format(method.__name__, feature_dir[mm]))
    return (feature_dir, method_list)
Returns an organized list of feature paths and methods to read in features.

Parameters
----------
fs_subject_dir : str
user_feature_paths : list of str
user_feature_type : str

Returns
-------
feature_dir : list
method_list : list
def make_method_list(fs_subject_dir, user_feature_paths, user_feature_type='dir_of_dirs'):
    '\n    Returns an organized list of feature paths and methods to read in features.\n\n    Parameters\n    ----------\n    fs_subject_dir : str\n    user_feature_paths : list of str\n    user_feature_type : str\n\n    Returns\n    -------\n    feature_dir : list\n    method_list : list\n\n\n    '
    freesurfer_readers = [aseg_stats_subcortical, aseg_stats_whole_brain]
    userdefined_readers = {'dir_of_dirs': get_dir_of_dirs, 'data_matrix': get_data_matrix, 'pyradigm': get_pyradigm, 'arff': get_arff}
    feature_dir = list()
    method_list = list()
    if not_unspecified(user_feature_paths):
        if (user_feature_type not in userdefined_readers):
            raise NotImplementedError('Invalid feature type or its reader is not implemented yet!')
        for upath in user_feature_paths:
            feature_dir.append(upath)
            method_list.append(userdefined_readers[user_feature_type])
    if not_unspecified(fs_subject_dir):
        for fsrdr in freesurfer_readers:
            feature_dir.append(fs_subject_dir)
            method_list.append(fsrdr)
    if (len(method_list) != len(feature_dir)):
        raise ValueError('Invalid specification for features!')
    if (len(method_list) < 1):
        raise ValueError('Atleast one feature set must be specified.')
    print('\nRequested features for analysis:')
    for (mm, method) in enumerate(method_list):
        print('{} from {}'.format(method.__name__, feature_dir[mm]))
    return (feature_dir, method_list)