def run(self, clf):
        """ run activity-based voxel selection

        Sort the voxels based on the cross-validation accuracy
        of their activity vectors within the searchlight

        Parameters
        ----------
        clf: classification function
            the classifier to be used in cross validation

        Returns
        -------
        result_volume: 3D array of accuracy numbers
            contains the voxelwise accuracy numbers obtained via Searchlight
        results: list of tuple (voxel_id, accuracy)
            the accuracy numbers of all voxels, in accuracy descending order
            the length of array equals the number of voxels
        """
        rank = MPI.COMM_WORLD.Get_rank()
        if rank == 0:
            logger.info(
                'running activity-based voxel selection via Searchlight'
            )
        self.sl.distribute([self.data], self.mask)
        self.sl.broadcast((self.labels, self.num_folds, clf))
        if rank == 0:
            logger.info(
                'data preparation done'
            )

        # obtain a 3D array with accuracy numbers
        result_volume = self.sl.run_searchlight(_sfn)
        # get result tuple list from the volume
        result_list = result_volume[self.mask]
        results = []
        if rank == 0:
            for idx, value in enumerate(result_list):
                if value is None:
                    value = 0
                results.append((idx, value))
            # Sort the voxels
            results.sort(key=lambda tup: tup[1], reverse=True)
            logger.info(
                'activity-based voxel selection via Searchlight is done'
            )
        return result_volume, results
run activity-based voxel selection

        Sort the voxels based on the cross-validation accuracy
        of their activity vectors within the searchlight

        Parameters
        ----------
        clf: classification function
            the classifier to be used in cross validation

        Returns
        -------
        result_volume: 3D array of accuracy numbers
            contains the voxelwise accuracy numbers obtained via Searchlight
        results: list of tuple (voxel_id, accuracy)
            the accuracy numbers of all voxels, in accuracy descending order
            the length of array equals the number of voxels