Example #1
0
def test_combine_labels5():
    in1 = [
        OrderedDict(index=1, name='T1', abbr='blah'),
        OrderedDict(index=2, name='T2')
    ]
    in2 = [OrderedDict(index=1, name='T3'), OrderedDict(index=2, name='T4')]
    with pytest.raises(ValueError):
        utils.combine_labels(in1, in2)
Example #2
0
def _update_args(args):
    args.plugin_args = _get_plugin_args(args)
    if args.analysis_level == 'participant':
        if args.subcortical:
            for req in [
                    'subcortical_model', 'subcortical_model_brain_mask',
                    'subcortical_atlas', 'subcortical_model_space'
            ]:
                if getattr(args, req) is None:
                    raise ValueError(
                        'If "--subcortical" is set then {req} must be specified'
                    )
        if args.intracranial_volume:
            if args.intracranial_mask is None:
                raise ValueError(
                    'If "--intracranial_volume" is set then "intracranial_mask" must be specified'
                )
        for label_name in ['atlas', 'tissue', 'subcortical']:
            setattr(args, f'{label_name}_labels',
                    Labels.from_args(args, label_name))
        setattr(
            args, 'tissue_and_atlas_labels',
            Labels.from_labels(
                utils.combine_labels(args.tissue_labels.labels,
                                     args.atlas_labels.labels)))
        bids_filter = {}
        for filter_par in [
                'filter_session', 'filter_acquisition',
                'filter_reconstruction', 'filter_run'
        ]:
            if filter_par in args:
                bids_filter[filter_par.split('_')[1]] = getattr(
                    args, filter_par)
        args.bids_filter = bids_filter
Example #3
0
def test_combine_labels():
    in1 = [OrderedDict(index=1, name='T1'), OrderedDict(index=2, name='T2')]
    in2 = [OrderedDict(index=1, name='T3'), OrderedDict(index=2, name='T4')]
    out = utils.combine_labels(in1, in2)
    indices = [1, 2, 3, 4]
    names = ['T1+T3', 'T2+T3', 'T1+T4', 'T2+T4']
    for outtmp, index, name in zip(out, indices, names):
        assert outtmp['index'] == index
        assert outtmp['name'] == name
Example #4
0
def test_combine_labels2():
    in1 = [
        OrderedDict(index=1, name='T1'),
        OrderedDict(index=2, name='T2'),
        OrderedDict(index=3, name='T3')
    ]
    in2 = [OrderedDict(index=1, name='T4'), OrderedDict(index=2, name='T5')]
    out = utils.combine_labels(in1, in2)
    indices = list(range(1, 7))
    names = ['T1+T4', 'T2+T4', 'T3+T4', 'T1+T5', 'T2+T5', 'T3+T5']
    for outtmp, index, name in zip(out, indices, names):
        assert outtmp['index'] == index
        assert outtmp['name'] == name
Example #5
0
def test_combine_labels3():
    in1 = [
        OrderedDict(index=1, name='A1'),
        OrderedDict(index=2, name='A2'),
        OrderedDict(index=3, name='A3')
    ]
    in2 = [OrderedDict(index=1, name='B1'), OrderedDict(index=2, name='B2')]
    in3 = [OrderedDict(index=4, name='C4'), OrderedDict(index=5, name='C5')]
    out = utils.combine_labels(in1, in2, in3)
    indices = [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
    names = [
        'A1+B1+C4', 'A2+B1+C4', 'A3+B1+C4', 'A1+B2+C4', 'A2+B2+C4', 'A3+B2+C4',
        'A1+B1+C5', 'A2+B1+C5', 'A3+B1+C5', 'A1+B2+C5', 'A2+B2+C5', 'A3+B2+C5'
    ]
    for outtmp, index, name in zip(out, indices, names):
        assert outtmp['index'] == index
        assert outtmp['name'] == name
Example #6
0
def test_combine_labels6():
    in1 = [OrderedDict(index=1, name='T1'), OrderedDict(index=2, name='T2')]
    in2 = [OrderedDict(index=1), OrderedDict(index=2)]
    with pytest.raises(ValueError):
        utils.combine_labels(in1, in2)