File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
niworkflows/interfaces/tests Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -806,3 +806,27 @@ def test_BIDSDataGrabber():
806
806
807
807
x = bintfs .BIDSDataGrabber (anat_derivatives = 'derivatives' )
808
808
assert x ._require_t1w is False
809
+
810
+
811
+ def test_require_func_pet_behavior ():
812
+ from niworkflows .interfaces .bids import BIDSDataGrabber
813
+ import pytest
814
+
815
+ subject_data_pet = {'t1w' : ['t1.nii' ], 'bold' : [], 'pet' : ['pet.nii' ]}
816
+ subject_data_bold = {'t1w' : ['t1.nii' ], 'bold' : ['bold.nii' ], 'pet' : []}
817
+
818
+ # PET present, functional not required
819
+ grabber_pet = BIDSDataGrabber (subject_data = subject_data_pet , subject_id = '01' , require_pet = True )
820
+ assert grabber_pet ._require_funcs is False
821
+ assert grabber_pet ._require_pet is True
822
+ grabber_pet .run () # Should succeed without bold data
823
+
824
+ # PET absent, functional required by default
825
+ grabber_func = BIDSDataGrabber (subject_data = subject_data_bold , subject_id = '01' )
826
+ assert grabber_func ._require_funcs is True
827
+ grabber_func .run () # Should succeed with bold data
828
+
829
+ # Fail when bold is required but missing
830
+ grabber_fail = BIDSDataGrabber (subject_data = subject_data_pet , subject_id = '01' )
831
+ with pytest .raises (FileNotFoundError , match = 'No functional images found' ):
832
+ grabber_fail .run ()
You can’t perform that action at this time.
0 commit comments