本文整理汇总了Python中nilearn._utils.testing.generate_maps函数的典型用法代码示例。如果您正苦于以下问题:Python generate_maps函数的具体用法?Python generate_maps怎么用?Python generate_maps使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了generate_maps函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_region_extractor_fit_and_transform
def test_region_extractor_fit_and_transform():
n_regions = 9
n_subjects = 5
maps, mask_img = generate_maps((40, 40, 40), n_regions=n_regions)
# smoke test to RegionExtractor with thresholding_strategy='ratio_n_voxels'
extract_ratio = RegionExtractor(maps, threshold=0.2,
thresholding_strategy='ratio_n_voxels')
extract_ratio.fit()
assert_not_equal(extract_ratio.regions_img_, '')
assert_true(extract_ratio.regions_img_.shape[-1] >= 9)
# smoke test with threshold=string and strategy=percentile
extractor = RegionExtractor(maps, threshold=30,
thresholding_strategy='percentile',
mask_img=mask_img)
extractor.fit()
assert_true(extractor.index_, np.ndarray)
assert_not_equal(extractor.regions_img_, '')
assert_true(extractor.regions_img_.shape[-1] >= 9)
n_regions_extracted = extractor.regions_img_.shape[-1]
shape = (91, 109, 91, 7)
expected_signal_shape = (7, n_regions_extracted)
for id_ in range(n_subjects):
img, data = _make_random_data(shape)
# smoke test NiftiMapsMasker transform inherited in Region Extractor
signal = extractor.transform(img)
assert_equal(expected_signal_shape, signal.shape)
# smoke test with high resolution image
maps, mask_img = generate_maps((20, 20, 20), n_regions=n_regions,
affine=.2 * np.eye(4))
extract_ratio = RegionExtractor(maps,
thresholding_strategy='ratio_n_voxels',
smoothing_fwhm=.6,
min_region_size=.4)
extract_ratio.fit()
assert_not_equal(extract_ratio.regions_img_, '')
assert_true(extract_ratio.regions_img_.shape[-1] >= 9)
# smoke test with zeros on the diagonal of the affine
affine = np.eye(4)
affine[[0, 1]] = affine[[1, 0]] # permutes first and second lines
maps, mask_img = generate_maps((40, 40, 40), n_regions=n_regions,
affine=affine)
extract_ratio = RegionExtractor(maps, threshold=0.2,
thresholding_strategy='ratio_n_voxels')
extract_ratio.fit()
assert_not_equal(extract_ratio.regions_img_, '')
assert_true(extract_ratio.regions_img_.shape[-1] >= 9)
示例2: test_nans_threshold_maps_ratio
def test_nans_threshold_maps_ratio():
maps, _ = generate_maps((10, 10, 10), n_regions=2)
data = maps.get_data()
data[:, :, 0] = np.nan
maps_img = nibabel.Nifti1Image(data, np.eye(4))
thr_maps = _threshold_maps_ratio(maps_img, threshold=0.8)
示例3: test_region_extractor_fit_and_transform
def test_region_extractor_fit_and_transform():
n_regions = 9
n_subjects = 5
maps, mask_img = generate_maps((40, 40, 40), n_regions=n_regions)
# smoke test to RegionExtractor with thresholding_strategy='ratio_n_voxels'
extract_ratio = RegionExtractor(maps, threshold=0.2,
thresholding_strategy='ratio_n_voxels')
extract_ratio.fit()
assert_not_equal(extract_ratio.regions_img_, '')
assert_true(extract_ratio.regions_img_.shape[-1] >= 9)
# smoke test with threshold=string and strategy=percentile
extractor = RegionExtractor(maps, threshold=30,
thresholding_strategy='percentile',
mask_img=mask_img)
extractor.fit()
assert_true(extractor.index_, np.ndarray)
assert_not_equal(extractor.regions_img_, '')
assert_true(extractor.regions_img_.shape[-1] >= 9)
n_regions_extracted = extractor.regions_img_.shape[-1]
shape = (91, 109, 91, 7)
expected_signal_shape = (7, n_regions_extracted)
for id_ in range(n_subjects):
img, data = _make_random_data(shape)
# smoke test NiftiMapsMasker transform inherited in Region Extractor
signal = extractor.transform(img)
assert_equal(expected_signal_shape, signal.shape)
示例4: test_invalid_threshold_strategies
def test_invalid_threshold_strategies():
maps, _ = generate_maps((6, 8, 10), n_regions=1)
extract_strategy_check = RegionExtractor(maps, thresholding_strategy='n_')
valid_strategies = ['ratio_n_voxels', 'img_value', 'percentile']
assert_raises_regex(ValueError,
"'thresholding_strategy' should be either of "
"these".format(valid_strategies),
extract_strategy_check.fit)
示例5: test_isnan_threshold_img_data
def test_isnan_threshold_img_data():
shape = (10, 10, 10)
maps, _ = testing.generate_maps(shape, n_regions=2)
data = maps.get_data()
data[:, :, 0] = np.nan
maps_img = nibabel.Nifti1Image(data, np.eye(4))
# test threshold_img to converge properly when input image has nans.
threshold_img(maps_img, threshold=0.8)
示例6: test_invalid_thresholds_in_threshold_maps_ratio
def test_invalid_thresholds_in_threshold_maps_ratio():
maps, _ = generate_maps((10, 11, 12), n_regions=2)
for invalid_threshold in ['80%', 'auto', -1.0]:
assert_raises_regex(ValueError,
"threshold given as ratio to the number of voxels must "
"be Real number and should be positive and between 0 and "
"total number of maps i.e. n_maps={0}. "
"You provided {1}".format(maps.shape[-1], invalid_threshold),
_threshold_maps_ratio,
maps, threshold=invalid_threshold)
示例7: test_threshold_as_none_and_string_cases
def test_threshold_as_none_and_string_cases():
maps, _ = generate_maps((6, 8, 10), n_regions=1)
extract_thr_none_check = RegionExtractor(maps, threshold=None)
assert_raises_regex(ValueError,
"The given input to threshold is not valid.",
extract_thr_none_check.fit)
extract_thr_string_check = RegionExtractor(maps, threshold='30%')
assert_raises_regex(ValueError,
"The given input to threshold is not valid.",
extract_thr_string_check.fit)
示例8: test_invalids_extract_types_in_connected_regions
def test_invalids_extract_types_in_connected_regions():
maps, _ = generate_maps((10, 11, 12), n_regions=2)
valid_names = ['connected_components', 'local_regions']
# test whether same error raises as expected when invalid inputs
# are given to extract_type in connected_regions function
message = ("'extract_type' should be {0}")
for invalid_extract_type in ['connect_region', 'local_regios']:
assert_raises_regex(ValueError,
message.format(valid_names),
connected_regions,
maps, extract_type=invalid_extract_type)
示例9: test_generate_maps
def test_generate_maps():
# Basic testing of generate_maps()
shape = (10, 11, 12)
n_regions = 9
maps_img, _ = generate_maps(shape, n_regions, border=1)
maps = maps_img.get_data()
assert_true(maps.shape == shape + (n_regions,))
# no empty map
assert_true(np.all(abs(maps).sum(axis=0).sum(axis=0).sum(axis=0) > 0))
# check border
assert_true(np.all(maps[0, ...] == 0))
assert_true(np.all(maps[:, 0, ...] == 0))
assert_true(np.all(maps[:, :, 0, :] == 0))
示例10: test_threshold_img
def test_threshold_img():
# to check whether passes with valid threshold inputs
shape = (10, 20, 30)
maps, _ = testing.generate_maps(shape, n_regions=4)
affine = np.eye(4)
mask_img = nibabel.Nifti1Image(np.ones((shape), dtype=np.int8), affine)
for img in iter_img(maps):
# when threshold is a float value
thr_maps_img = threshold_img(img, threshold=0.8)
# when we provide mask image
thr_maps_percent = threshold_img(img, threshold=1, mask_img=mask_img)
# when threshold is a percentile
thr_maps_percent2 = threshold_img(img, threshold='2%')
示例11: test_threshold_maps_ratio
def test_threshold_maps_ratio():
# smoke test for function _threshold_maps_ratio with randomly
# generated maps
# make sure that n_regions (4th dimension) are kept same even
# in thresholded image
maps, _ = generate_maps((6, 8, 10), n_regions=3)
thr_maps = _threshold_maps_ratio(maps, threshold=1.0)
assert_true(thr_maps.shape[-1] == maps.shape[-1])
# check that the size should be same for 3D image
# before and after thresholding
img = np.zeros((30, 30, 30)) + 0.1 * np.random.randn(30, 30, 30)
img = nibabel.Nifti1Image(img, affine=np.eye(4))
thr_maps_3d = _threshold_maps_ratio(img, threshold=0.5)
assert_true(img.shape == thr_maps_3d.shape)
示例12: test_validity_threshold_value_in_threshold_img
def test_validity_threshold_value_in_threshold_img():
shape = (6, 8, 10)
maps, _ = testing.generate_maps(shape, n_regions=2)
# testing to raise same error when threshold=None case
testing.assert_raises_regex(ValueError,
"The input parameter 'threshold' is empty. ",
threshold_img, maps, threshold=None)
invalid_threshold_values = ['90t%', 's%', 't', '0.1']
name = 'threshold'
for thr in invalid_threshold_values:
testing.assert_raises_regex(ValueError,
'{0}.+should be a number followed by '
'the percent sign'.format(name),
threshold_img, maps, threshold=thr)
示例13: test_connected_regions
def test_connected_regions():
# 4D maps
n_regions = 4
maps, _ = generate_maps((30, 30, 30), n_regions=n_regions)
# 3D maps
map_img = np.zeros((30, 30, 30)) + 0.1 * np.random.randn(30, 30, 30)
map_img = nibabel.Nifti1Image(map_img, affine=np.eye(4))
# smoke test for function connected_regions and also to check
# if the regions extracted should be equal or more than already present.
# 4D image case
for extract_type in ['connected_components', 'local_regions']:
connected_extraction_img, index = connected_regions(maps, min_region_size=10,
extract_type=extract_type)
assert_true(connected_extraction_img.shape[-1] >= n_regions)
assert_true(index, np.ndarray)
# For 3D images regions extracted should be more than equal to one
connected_extraction_3d_img, _ = connected_regions(map_img, min_region_size=10,
extract_type=extract_type)
assert_true(connected_extraction_3d_img.shape[-1] >= 1)
示例14: test_connected_regions
def test_connected_regions():
# 4D maps
n_regions = 4
maps, mask_img = generate_maps((30, 30, 30), n_regions=n_regions)
# 3D maps
map_img = np.zeros((30, 30, 30)) + 0.1 * np.random.randn(30, 30, 30)
map_img = nibabel.Nifti1Image(map_img, affine=np.eye(4))
# smoke test for function connected_regions and also to check
# if the regions extracted should be equal or more than already present.
# 4D image case
for extract_type in ['connected_components', 'local_regions']:
connected_extraction_img, index = connected_regions(maps, min_region_size=10,
extract_type=extract_type)
assert_true(connected_extraction_img.shape[-1] >= n_regions)
assert_true(index, np.ndarray)
# For 3D images regions extracted should be more than equal to one
connected_extraction_3d_img, _ = connected_regions(map_img, min_region_size=10,
extract_type=extract_type)
assert_true(connected_extraction_3d_img.shape[-1] >= 1)
# Test input mask_img
extraction_with_mask_img, index = connected_regions(maps,
mask_img=mask_img)
assert_true(extraction_with_mask_img.shape[-1] >= 1)
# mask_img with different shape
mask = np.zeros(shape=(10, 11, 12), dtype=np.int)
mask[1:-1, 1:-1, 1:-1] = 1
affine = np.array([[2., 0., 0., 0.],
[0., 2., 0., 0.],
[0., 0., 2., 0.],
[0., 0., 0., 2.]])
mask_img = nibabel.Nifti1Image(mask, affine=affine)
extraction_not_same_fov_mask, _ = connected_regions(maps,
mask_img=mask_img)
assert_equal(maps.shape[:3], extraction_not_same_fov_mask.shape[:3])
assert_not_equal(mask_img.shape, extraction_not_same_fov_mask.shape[:3])
示例15: test_nifti_maps_masker_with_nans
def test_nifti_maps_masker_with_nans():
length = 3
n_regions = 8
fmri_img, mask_img = generate_random_img((13, 11, 12),
affine=np.eye(4), length=length)
maps_img, maps_mask_img = testing.generate_maps((13, 11, 12), n_regions,
affine=np.eye(4))
# nans
maps_data = maps_img.get_data()
mask_data = mask_img.get_data()
maps_data[:, 9, 9] = np.nan
maps_data[:, 5, 5] = np.inf
mask_data[:, :, 7] = np.nan
mask_data[:, :, 5] = np.inf
maps_img = nibabel.Nifti1Image(maps_data, np.eye(4))
mask_img = nibabel.Nifti1Image(mask_data, np.eye(4))
masker = NiftiMapsMasker(maps_img, mask_img=mask_img)
sig = masker.fit_transform(fmri_img)
assert_equal(sig.shape, (length, n_regions))
assert_true(np.all(np.isfinite(sig)))