bids-matlab
bids-matlab copied to clipboard
inheritance principle - Test failure - metadata picking up per-subject data items
In the tests/test_get_metadata.m
file, there are some commented-out tests.
% define the expected output from bids query metadata
func.RepetitionTime = 7;
func_sub_01.RepetitionTime = 10;
anat.FlipAngle = 5;
anat_sub_01.FlipAngle = 10;
anat_sub_01.Manufacturer = 'Siemens';
[...]
%% test func metadata base directory
metadata = bids.query(BIDS, 'metadata', 'type', 'bold');
%assert(metadata.RepetitionTime == func.RepetitionTime);
%% test func metadata subject 01
metadata = bids.query(BIDS, 'metadata', 'sub', '01', 'type', 'bold');
%assert(metadata.RepetitionTime == func_sub_01.RepetitionTime);
%% test anat metadata base directory
metadata = bids.query(BIDS, 'metadata', 'type', 'T1w');
%assert(metadata.FlipAngle == anat.FlipAngle);
%% test anat metadata subject 01
metadata = bids.query(BIDS, 'metadata', 'sub', '01', 'type', 'T1w');
assert(metadata.FlipAngle == anat_sub_01.FlipAngle);
assert(strcmp(metadata.Manufacturer, anat_sub_01.Manufacturer));
When I comment these assert
s back in, the tests for the "base directory" cases fail. It looks like even when you're not passing the 'sub','01'
filter to bids.query()
, it still picks up the subject 01 metadata instead of the metadata from the task-auditory_bold.json
file in the root of this BIDS directory. (E.g. RepetitionTime
is 10 in both of the 'type','bold'
queries, instead of 7 and 10, respectively.) Is this expected behavior?