1212@pytest .fixture (scope = 'module' )
1313def cammoun_surf (tmp_path_factory ):
1414 tmpdir = str (tmp_path_factory .getbasetemp ())
15- return datasets .fetch_cammoun2012 ('fsaverage' , data_dir = tmpdir , verbose = 0 )
15+ return datasets .fetch_cammoun2012 ('fsaverage5' , data_dir = tmpdir , verbose = 0 )
16+
17+
18+ @pytest .mark .parametrize ('method' , [
19+ 'average' , 'surface' , 'geodesic'
20+ ])
21+ @pytest .mark .parametrize ('scale, parcels, n_right' , [
22+ ('scale033' , 68 , 34 ),
23+ ('scale060' , 114 , 57 ),
24+ ('scale125' , 219 , 108 ),
25+ ('scale250' , 448 , 223 ),
26+ ('scale500' , 1000 , 501 ),
27+ ])
28+ def test_find_parcel_centroids (cammoun_surf , scale , parcels , n_right , method ):
29+ lh , rh = cammoun_surf [scale ]
30+
31+ coords , hemi = freesurfer .find_parcel_centroids (lhannot = lh , rhannot = rh ,
32+ method = method ,
33+ version = 'fsaverage5' )
34+ assert len (coords ) == parcels
35+ assert len (hemi ) == parcels
36+ assert np .sum (hemi ) == n_right
1637
1738
1839@pytest .mark .parametrize ('scale, parcels' , [
@@ -33,7 +54,7 @@ def test_project_reduce_vertices(cammoun_surf, scale, parcels):
3354
3455 # do we get the expected number of vertices in our projection?
3556 projected = freesurfer .parcels_to_vertices (data , rhannot = rh , lhannot = lh )
36- assert len (projected ) == 327684
57+ assert len (projected ) == 20484
3758
3859 # does reduction return our input data, as expected?
3960 reduced = freesurfer .vertices_to_parcels (projected , rhannot = rh , lhannot = lh )
@@ -42,7 +63,7 @@ def test_project_reduce_vertices(cammoun_surf, scale, parcels):
4263 # can we do this with multi-dimensional data, too?
4364 data = np .random .rand (parcels , 2 )
4465 projected = freesurfer .parcels_to_vertices (data , rhannot = rh , lhannot = lh )
45- assert projected .shape == (327684 , 2 )
66+ assert projected .shape == (20484 , 2 )
4667 reduced = freesurfer .vertices_to_parcels (projected , rhannot = rh , lhannot = lh )
4768 assert np .allclose (data , reduced )
4869
@@ -53,5 +74,5 @@ def test_project_reduce_vertices(cammoun_surf, scale, parcels):
5374
5475 # number of vertices != annotation spec
5576 with pytest .raises (ValueError ):
56- freesurfer .vertices_to_parcels (np .random .rand (327685 ),
77+ freesurfer .vertices_to_parcels (np .random .rand (20485 ),
5778 rhannot = rh , lhannot = lh )
0 commit comments