def test_cis_computed_type_filter(): with pytest.raises(TypeError): ri_ex = ri('tests/data/mri.nii.gz', 'MRI', 'T1', '20000123', ['x', 'y', 'z'], [2, 2, 2]) ci_ex1 = ci('tests/data/seg1.nii.gz', ri_ex, 'SegmentationImage', 'NA', 'NA', command_used_to_generate='run1.sh') ci_ex2 = ci('tests/data/seg2.nii.gz', ri_ex, 'RegistrationImage', 'MRI', 'T1', command_used_to_generate='run2.sh') image_set = cis([ci_ex1, ci_ex2]) image_set.filter_by_computed_type('Segmntation')
def test_ci_bad_type(): ri_good = ri('tests/data/mri.nii.gz', 'MRI', 'T1', '20000123', ['x', 'y', 'z'], [2, 2, 2]) with pytest.raises(IOError): # Test image_location format ci_ex = ci('tests/data/blah.nii.gz', ri_good, 'SegmentationImage', 'NA', 'NA') with pytest.raises(TypeError): # Reference radiologic image parameter with incorrect RadiologicImage input format ci_ex = ci('tests/data/seg.nii.gz', 3.0, 'SegmentationImage', 'NA', 'NA') with pytest.raises(TypeError): # Invalid computational type ci_ex = ci('tests/data/seg.nii.gz', ri_good, 'Segmntation', 'NA', 'NA') with pytest.raises(TypeError): # Invalid radiologic type ci_ex = ci('tests/data/seg.nii.gz', ri_good, 'SegmentationImage', 3.0, 'NA', computation_properties=3.0) with pytest.raises(TypeError): # Invalid computation properties type ci_ex = ci('tests/data/seg.nii.gz', ri_good, 'SegmentationImage', 'NA', 'NA', computation_properties=3.0)
def test_cis_good_input(): ri_ex = ri('tests/data/mri.nii.gz', 'MRI', 'T1', '20000123', ['x', 'y', 'z'], [2, 2, 2]) # Test RadiologicImage passed as reference ci_ex1 = ci('tests/data/seg1.nii.gz', ri_ex, 'SegmentationImage', 'NA', 'NA', command_used_to_generate='run1.sh') ci_ex2 = ci('tests/data/seg2.nii.gz', ri_ex, 'RegistrationImage', 'MRI', 'T1', command_used_to_generate='run2.sh') image_set = cis([ci_ex1, ci_ex2]) # Manually create filtered set after filtering by contrast for T2 images only filtered_set = cis(ci_ex2) assert image_set.computed_images == [ci_ex1, ci_ex2] assert image_set.filter_by_radiology_type('MRI').computed_images == filtered_set.computed_images assert image_set.filter_by_computed_type('RegistrationImage').computed_images == filtered_set.computed_images assert image_set.filter_by_contrast('T1').computed_images == filtered_set.computed_images
def test_ci_good_input(): ri_ex = ri('tests/data/mri.nii.gz', 'MRI', 'T1', '20000123', ['x', 'y', 'z'], [2, 2, 2]) # Test RadiologicImage passed as reference ci_ex = ci('tests/data/seg.nii.gz', ri_ex, 'SegmentationImage', 'NA', 'NA', command_used_to_generate='run.sh', computation_properties={'notes': 'just a test case'}) assert ci_ex.computed_type == 'SegmentationImage' assert ci_ex.reference_radiologic_image.radiologic_type == 'MRI' assert ci_ex.reference_radiologic_image.contrast == 'T1' assert ci_ex.reference_radiologic_image.acquisition_date == '20000123' assert ci_ex.reference_radiologic_image.image_dimensions == ['x', 'y', 'z'] assert ci_ex.reference_radiologic_image.image_resolution == [2, 2, 2] assert ci_ex.reference_radiologic_image.image_units == ['mm', 'mm', 'mm'] # Test without command_used_to_generate or computation_properties parameter ci_ex = ci('tests/data/seg.nii.gz', ri_ex, 'SegmentationImage', 'NA', 'NA')