#' @param Diag list of persistence diagrams as n x 3 matrices
#' @param method which kernel or distance to compute. One of sWd (for sliced Wasserstein kernel) or pssk (for the persistence scale-space kernel)
#' @param sigma kernel bandwidth
#' @param return.dist logical (default: FALSE) whether to return the kernel matrix or the corresponding distance matrix. Set to TRUE to return the distance matrix.
#' @param return.dist logical (default: FALSE) for method sWd, whether to return the sliced Wasserstein distance matrix instead of the kernel.
#' @param M number of slices for the sliced Wasserstein kernel
#' @param dimensions vector of the dimensions of the topological features to consider, if NULL (default) use all available dimensions
#' @param ncpu number of parallel threads to use for computation
\item{dimensions}{vector of the dimensions of the topological features to consider, if NULL (default) use all available dimensions}
\item{return.dist}{logical (default: FALSE) whether to return the kernel matrix or the corresponding distance matrix. Set to TRUE to return the distance matrix.}
\item{return.dist}{logical (default: FALSE) for method sWd, whether to return the sliced Wasserstein distance matrix instead of the kernel.}
\item{M}{number of slices for the sliced Wasserstein kernel}