26
26
[61 , 59 , 60 ],
27
27
[61 , 60 , 59 ],
28
28
[80 , 90 , 92 ]]),
29
- ('CIFTI_STRUCTURE_CORTEX_LEFT' , [0 , 1000 , 1301 , 19972 , 27312 ])]
29
+ ('CIFTI_STRUCTURE_CORTEX_LEFT' , [0 , 1000 , 1301 , 19972 , 27312 ]),
30
+ ('CIFTI_STRUCTURE_CORTEX_RIGHT' , [207 ])
31
+ ]
30
32
31
33
32
34
def create_geometry_map (applies_to_matrix_dimension ):
@@ -35,25 +37,34 @@ def create_geometry_map(applies_to_matrix_dimension):
35
37
model_type = 'CIFTI_MODEL_TYPE_VOXELS' ,
36
38
brain_structure = brain_models [0 ][0 ],
37
39
voxel_indices_ijk = voxels )
40
+
38
41
vertices = ci .Cifti2VertexIndices (np .array (brain_models [1 ][1 ]))
39
42
left_cortex = ci .Cifti2BrainModel (index_offset = 4 , index_count = 5 ,
40
43
model_type = 'CIFTI_MODEL_TYPE_SURFACE' ,
41
44
brain_structure = brain_models [1 ][0 ],
42
45
vertex_indices = vertices )
43
46
left_cortex .surface_number_of_vertices = number_of_vertices
47
+
48
+ vertices = ci .Cifti2VertexIndices (np .array (brain_models [2 ][1 ]))
49
+ right_cortex = ci .Cifti2BrainModel (index_offset = 9 , index_count = 1 ,
50
+ model_type = 'CIFTI_MODEL_TYPE_SURFACE' ,
51
+ brain_structure = brain_models [2 ][0 ],
52
+ vertex_indices = vertices )
53
+ right_cortex .surface_number_of_vertices = number_of_vertices
54
+
44
55
volume = ci .Cifti2Volume (dimensions ,
45
56
ci .Cifti2TransformationMatrixVoxelIndicesIJKtoXYZ (- 3 ,
46
57
affine ))
47
58
return ci .Cifti2MatrixIndicesMap (applies_to_matrix_dimension ,
48
59
'CIFTI_INDEX_TYPE_BRAIN_MODELS' ,
49
- maps = [left_thalamus , left_cortex , volume ])
60
+ maps = [left_thalamus , left_cortex , right_cortex , volume ])
50
61
51
62
52
63
def check_geometry_map (mapping ):
53
64
assert_equal (mapping .indices_map_to_data_type ,
54
65
'CIFTI_INDEX_TYPE_BRAIN_MODELS' )
55
- assert_equal (len (list (mapping .brain_models )), 2 )
56
- left_thalamus , left_cortex = mapping .brain_models
66
+ assert_equal (len (list (mapping .brain_models )), 3 )
67
+ left_thalamus , left_cortex , right_cortex = mapping .brain_models
57
68
58
69
assert_equal (left_thalamus .index_offset , 0 )
59
70
assert_equal (left_thalamus .index_count , 4 )
@@ -71,9 +82,18 @@ def check_geometry_map(mapping):
71
82
assert_equal (left_cortex .vertex_indices ._indices , brain_models [1 ][1 ])
72
83
assert_equal (left_cortex .surface_number_of_vertices , number_of_vertices )
73
84
85
+ assert_equal (right_cortex .index_offset , 9 )
86
+ assert_equal (right_cortex .index_count , 1 )
87
+ assert_equal (right_cortex .model_type , 'CIFTI_MODEL_TYPE_SURFACE' )
88
+ assert_equal (right_cortex .brain_structure , brain_models [2 ][0 ])
89
+ assert_equal (right_cortex .voxel_indices_ijk , None )
90
+ assert_equal (right_cortex .vertex_indices ._indices , brain_models [2 ][1 ])
91
+ assert_equal (right_cortex .surface_number_of_vertices , number_of_vertices )
92
+
74
93
assert_equal (mapping .volume .volume_dimensions , dimensions )
75
94
assert_true ((mapping .volume .transformation_matrix_voxel_indices_ijk_to_xyz .matrix == affine ).all ())
76
95
96
+
77
97
parcels = [('volume_parcel' , ([[60 , 60 , 60 ],
78
98
[61 , 59 , 60 ],
79
99
[61 , 60 , 59 ],
@@ -84,7 +104,10 @@ def check_geometry_map(mapping):
84
104
[0 , 100 , 381 ]))),
85
105
('mixed_parcel' , ([[71 , 81 , 39 ],
86
106
[53 , 21 , 91 ]],
87
- ('CIFTI_STRUCTURE_CORTEX_LEFT' , [71 , 88 , 999 ])))]
107
+ ('CIFTI_STRUCTURE_CORTEX_LEFT' , [71 , 88 , 999 ]))),
108
+ ('single_element' , ([[71 , 81 , 39 ]],
109
+ ('CIFTI_STRUCTURE_CORTEX_LEFT' , [40 ]))),
110
+ ]
88
111
89
112
90
113
def create_parcel_map (applies_to_matrix_dimension ):
@@ -109,7 +132,7 @@ def create_parcel_map(applies_to_matrix_dimension):
109
132
110
133
def check_parcel_map (mapping ):
111
134
assert_equal (mapping .indices_map_to_data_type , 'CIFTI_INDEX_TYPE_PARCELS' )
112
- assert_equal (len (list (mapping .parcels )), 3 )
135
+ assert_equal (len (list (mapping .parcels )), len ( parcels ) )
113
136
for (name , elements ), parcel in zip (parcels , mapping .parcels ):
114
137
assert_equal (parcel .name , name )
115
138
idx_surface = 0
0 commit comments