Beispiel #1
0
def test_fit_transform(method, n_parcel, test_image_2):
    rng = np.random.RandomState(42)
    fmri_imgs = [test_image_2] * 3
    confounds = rng.standard_normal(size=(10, 3))
    confounds_list = [confounds] * 3
    parcellator = Parcellations(method=method, n_parcels=n_parcel)
    signals = parcellator.fit_transform(fmri_imgs)
    assert parcellator.labels_img_ is not None
    if method not in ['kmeans', 'rena', 'hierarchical_kmeans']:
        assert parcellator.connectivity_ is not None
    assert parcellator.masker_ is not None
    # fit_transform with confounds
    signals = parcellator.fit_transform(fmri_imgs, confounds=confounds_list)
    assert isinstance(signals, list)
    assert signals[0].shape == (10, n_parcel)
Beispiel #2
0
def test_transform_3d_input_images():
    # test list of 3D images
    data = np.ones((10, 11, 12))
    data[6, 7, 8] = 2
    data[9, 10, 11] = 3
    img = nibabel.Nifti1Image(data, affine=np.eye(4))
    imgs = [img] * 3
    parcellate = Parcellations(method='ward', n_parcels=20)
    X = parcellate.fit_transform(imgs)
    assert isinstance(X, list)
    # (number of samples, number of features)
    assert np.concatenate(X).shape == (3, 20)
    # inverse transform
    imgs_ = parcellate.inverse_transform(X)
    assert isinstance(imgs_, list)
    # test single 3D image
    X = parcellate.fit_transform(imgs[0])
    assert isinstance(X, np.ndarray)
    assert X.shape == (1, 20)
Beispiel #3
0
def test_transform_3d_input_images():
    # test list of 3D images
    data = np.ones((10, 11, 12))
    data[6, 7, 8] = 2
    data[9, 10, 11] = 3
    img = nibabel.Nifti1Image(data, affine=np.eye(4))
    # list of 3
    imgs = [img, img, img]
    parcellate = Parcellations(method='ward', n_parcels=20)
    X = parcellate.fit_transform(imgs)
    assert_true(isinstance(X, list))
    # (number of samples, number of features)
    assert_equal(np.concatenate(X).shape, (3, 20))
    # inverse transform
    imgs_ = parcellate.inverse_transform(X)
    assert_true(isinstance(imgs_, list))
    # test single 3D image
    X = parcellate.fit_transform(imgs[0])
    assert_true(isinstance(X, np.ndarray))
    assert_equal(X.shape, (1, 20))
Beispiel #4
0
def test_fit_transform():
    rng = np.random.RandomState(42)
    data = np.ones((10, 11, 12, 10))
    data[6, 7, 8] = 2
    data[9, 10, 11] = 3

    fmri_img = nibabel.Nifti1Image(data, affine=np.eye(4))
    fmri_imgs = [fmri_img, fmri_img, fmri_img]

    confounds = rng.standard_normal(size=(10, 3))
    confounds_list = [confounds, confounds, confounds]

    for method in ['kmeans', 'ward', 'complete', 'average', 'rena']:
        parcellator = Parcellations(method=method, n_parcels=5)
        signals = parcellator.fit_transform(fmri_imgs)
        assert parcellator.labels_img_ is not None
        if method not in ['kmeans', 'rena']:
            assert parcellator.connectivity_ is not None
        assert parcellator.masker_ is not None
        # fit_transform with confounds
        signals = parcellator.fit_transform(fmri_imgs,
                                            confounds=confounds_list)
        assert isinstance(signals, list)
        assert signals[0].shape == (10, 5)
Beispiel #5
0
def test_fit_transform():
    rng = np.random.RandomState(0)
    data = np.ones((10, 11, 12, 10))
    data[6, 7, 8] = 2
    data[9, 10, 11] = 3

    fmri_img = nibabel.Nifti1Image(data, affine=np.eye(4))
    fmri_imgs = [fmri_img, fmri_img, fmri_img]

    confounds = rng.randn(*(10, 3))
    confounds_list = [confounds, confounds, confounds]

    for method in ['kmeans', 'ward', 'complete', 'average']:
        parcellator = Parcellations(method=method, n_parcels=5)
        signals = parcellator.fit_transform(fmri_imgs)
        assert_true(parcellator.labels_img_ is not None)
        if method != 'kmeans':
            assert_true(parcellator.connectivity_ is not None)
        assert_true(parcellator.masker_ is not None)
        # fit_transform with confounds
        signals = parcellator.fit_transform(fmri_imgs,
                                            confounds=confounds_list)
        assert_true(isinstance(signals, list))
        assert_equal(signals[0].shape, (10, 5))