12
12
from nibabel import cifti2 as ci
13
13
from nibabel .tmpdirs import InTemporaryDirectory
14
14
15
- from nose .tools import assert_true , assert_equal
15
+ from nose .tools import assert_true , assert_equal , assert_raises
16
16
17
17
affine = [[- 1.5 , 0 , 0 , 90 ],
18
18
[0 , 1.5 , 0 , - 85 ],
19
- [0 , 0 , 1.5 , - 71 ]]
19
+ [0 , 0 , 1.5 , - 71 ],
20
+ [0 , 0 , 0 , 1. ]]
20
21
21
22
dimensions = (120 , 83 , 78 )
22
23
@@ -234,7 +235,7 @@ def test_dtseries():
234
235
matrix .append (series_map )
235
236
matrix .append (geometry_map )
236
237
hdr = ci .Cifti2Header (matrix )
237
- data = np .random .randn (13 , 9 )
238
+ data = np .random .randn (13 , 10 )
238
239
img = ci .Cifti2Image (data , hdr )
239
240
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_DENSE_SERIES' )
240
241
@@ -257,7 +258,7 @@ def test_dscalar():
257
258
matrix .append (scalar_map )
258
259
matrix .append (geometry_map )
259
260
hdr = ci .Cifti2Header (matrix )
260
- data = np .random .randn (2 , 9 )
261
+ data = np .random .randn (2 , 10 )
261
262
img = ci .Cifti2Image (data , hdr )
262
263
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_DENSE_SCALARS' )
263
264
@@ -279,7 +280,7 @@ def test_dlabel():
279
280
matrix .append (label_map )
280
281
matrix .append (geometry_map )
281
282
hdr = ci .Cifti2Header (matrix )
282
- data = np .random .randn (2 , 9 )
283
+ data = np .random .randn (2 , 10 )
283
284
img = ci .Cifti2Image (data , hdr )
284
285
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_DENSE_LABELS' )
285
286
@@ -299,7 +300,7 @@ def test_dconn():
299
300
matrix = ci .Cifti2Matrix ()
300
301
matrix .append (mapping )
301
302
hdr = ci .Cifti2Header (matrix )
302
- data = np .random .randn (9 , 9 )
303
+ data = np .random .randn (10 , 10 )
303
304
img = ci .Cifti2Image (data , hdr )
304
305
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_DENSE' )
305
306
@@ -322,7 +323,7 @@ def test_ptseries():
322
323
matrix .append (series_map )
323
324
matrix .append (parcel_map )
324
325
hdr = ci .Cifti2Header (matrix )
325
- data = np .random .randn (13 , 3 )
326
+ data = np .random .randn (13 , 4 )
326
327
img = ci .Cifti2Image (data , hdr )
327
328
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_PARCELLATED_SERIES' )
328
329
@@ -344,7 +345,7 @@ def test_pscalar():
344
345
matrix .append (scalar_map )
345
346
matrix .append (parcel_map )
346
347
hdr = ci .Cifti2Header (matrix )
347
- data = np .random .randn (2 , 3 )
348
+ data = np .random .randn (2 , 4 )
348
349
img = ci .Cifti2Image (data , hdr )
349
350
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_PARCELLATED_SCALAR' )
350
351
@@ -366,7 +367,7 @@ def test_pdconn():
366
367
matrix .append (geometry_map )
367
368
matrix .append (parcel_map )
368
369
hdr = ci .Cifti2Header (matrix )
369
- data = np .random .randn (2 , 3 )
370
+ data = np .random .randn (10 , 4 )
370
371
img = ci .Cifti2Image (data , hdr )
371
372
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_PARCELLATED_DENSE' )
372
373
@@ -388,7 +389,7 @@ def test_dpconn():
388
389
matrix .append (parcel_map )
389
390
matrix .append (geometry_map )
390
391
hdr = ci .Cifti2Header (matrix )
391
- data = np .random .randn (2 , 3 )
392
+ data = np .random .randn (4 , 10 )
392
393
img = ci .Cifti2Image (data , hdr )
393
394
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_DENSE_PARCELLATED' )
394
395
@@ -410,7 +411,7 @@ def test_plabel():
410
411
matrix .append (label_map )
411
412
matrix .append (parcel_map )
412
413
hdr = ci .Cifti2Header (matrix )
413
- data = np .random .randn (2 , 3 )
414
+ data = np .random .randn (2 , 4 )
414
415
img = ci .Cifti2Image (data , hdr )
415
416
416
417
with InTemporaryDirectory ():
@@ -429,7 +430,7 @@ def test_pconn():
429
430
matrix = ci .Cifti2Matrix ()
430
431
matrix .append (mapping )
431
432
hdr = ci .Cifti2Header (matrix )
432
- data = np .random .randn (3 , 3 )
433
+ data = np .random .randn (4 , 4 )
433
434
img = ci .Cifti2Image (data , hdr )
434
435
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_PARCELLATED' )
435
436
@@ -453,7 +454,7 @@ def test_pconnseries():
453
454
matrix .append (parcel_map )
454
455
matrix .append (series_map )
455
456
hdr = ci .Cifti2Header (matrix )
456
- data = np .random .randn (3 , 3 , 13 )
457
+ data = np .random .randn (4 , 4 , 13 )
457
458
img = ci .Cifti2Image (data , hdr )
458
459
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_PARCELLATED_'
459
460
'PARCELLATED_SERIES' )
@@ -479,7 +480,7 @@ def test_pconnscalar():
479
480
matrix .append (parcel_map )
480
481
matrix .append (scalar_map )
481
482
hdr = ci .Cifti2Header (matrix )
482
- data = np .random .randn (3 , 3 , 13 )
483
+ data = np .random .randn (4 , 4 , 2 )
483
484
img = ci .Cifti2Image (data , hdr )
484
485
img .nifti_header .set_intent ('NIFTI_INTENT_CONNECTIVITY_PARCELLATED_'
485
486
'PARCELLATED_SCALAR' )
@@ -496,3 +497,25 @@ def test_pconnscalar():
496
497
check_parcel_map (img2 .header .matrix .get_index_map (0 ))
497
498
check_scalar_map (img2 .header .matrix .get_index_map (2 ))
498
499
del img2
500
+
501
+
502
+ def test_wrong_shape ():
503
+ scalar_map = create_scalar_map ((0 , ))
504
+ brain_model_map = create_geometry_map ((1 , ))
505
+
506
+ matrix = ci .Cifti2Matrix ()
507
+ matrix .append (scalar_map )
508
+ matrix .append (brain_model_map )
509
+ hdr = ci .Cifti2Header (matrix )
510
+
511
+ # correct shape is (2, 10)
512
+ for data in (
513
+ np .random .randn (1 , 11 ),
514
+ np .random .randn (2 , 10 , 1 ),
515
+ np .random .randn (1 , 2 , 10 ),
516
+ np .random .randn (3 , 10 ),
517
+ np .random .randn (2 , 9 ),
518
+ ):
519
+ img = ci .Cifti2Image (data , hdr )
520
+ assert_raises (ValueError , img .to_file_map )
521
+
0 commit comments