Example #1
0
    def test_clustering(self):
        # Test standard coactivation-based clustering
        roi_mask = os.path.join(get_test_data_path(), 'sgacc_mask.nii.gz')
        clusters = cluster.magic(self.real_dataset, roi_mask=roi_mask,
                                 reduce_reference='pca', n_components=5,
                                 min_studies_per_voxel=1, n_clusters=3)
        n_unique = len(np.unique(clusters.get_data()))
        self.assertEqual(n_unique, 4)

        # Test study-based clustering
        d = tempfile.mkdtemp()
        from sklearn.decomposition import PCA
        from sklearn.cluster import KMeans
        pca = PCA(20, svd_solver='randomized')
        clust = KMeans(3)
        cluster.magic(
            self.real_dataset, method='studies', roi_mask=roi_mask,
            features=['emotion', 'pain'], feature_threshold=0.0,
            reduce_reference=pca, clustering_algorithm=clust,
            distance_metric='jaccard', output_dir=d, filename='test.nii.gz')
        img = nb.load(os.path.join(d, 'test.nii.gz'))
        self.assertEqual(len(np.unique(img.get_data())), 4)

        # Test feature-based clustering
        clusters = cluster.magic(self.real_dataset, method='features',
                                 n_clusters=3)
        n_unique = len(np.unique(clusters.get_data()))
        self.assertEqual(n_unique, 4)
        shutil.rmtree(d)
    def test_clustering(self):
        # Test standard coactivation-based clustering
        roi_mask = os.path.join(get_test_data_path(), 'sgacc_mask.nii.gz')
        clusters = cluster.magic(self.real_dataset,
                                 roi_mask=roi_mask,
                                 reduce_reference='pca',
                                 n_components=5,
                                 min_studies_per_voxel=1,
                                 n_clusters=3)
        n_unique = len(np.unique(clusters.get_data()))
        self.assertEqual(n_unique, 4)

        # Test study-based clustering
        d = tempfile.mkdtemp()
        from sklearn.decomposition import RandomizedPCA
        from sklearn.cluster import KMeans
        pca = RandomizedPCA(20)
        clust = KMeans(3)
        cluster.magic(self.real_dataset,
                      method='studies',
                      roi_mask=roi_mask,
                      features=['emotion', 'pain'],
                      feature_threshold=0.0,
                      reduce_reference=pca,
                      clustering_algorithm=clust,
                      distance_metric='jaccard',
                      output_dir=d,
                      filename='test.nii.gz')
        img = nb.load(os.path.join(d, 'test.nii.gz'))
        self.assertEqual(len(np.unique(img.get_data())), 4)

        # Test feature-based clustering
        clusters = cluster.magic(self.real_dataset,
                                 method='features',
                                 n_clusters=3)
        n_unique = len(np.unique(clusters.get_data()))
        self.assertEqual(n_unique, 4)
        shutil.rmtree(d)
Example #3
0
from neurosynth.analysis.cluster import magic
from neurosynth.base.dataset import Dataset

# mydir = "/home/delavega/projects/permutation_clustering/"

mydir = "../data/"

dataset = Dataset.load(mydir + '/datasets/abs_60topics_filt_jul.pkl')

roi_mask = mydir + '../masks/new_medial_fc_30.nii.gz'
global_mask = mydir +  "../masks/MNI152_T1_2mm_brain.nii.gz"

magic(dataset, 10, method='coactivation', features=['topic57', 'topic32', 'topic39', 'topic44'], output_dir='../results/ef_cluster/all_cluster/', min_studies_per_voxel=100, filename='okay')