spateo.alignment.methods.morpho_sparse#

Module Contents#

Functions#

con_K(→ Union[numpy.ndarray, torch.Tensor])

con_K constructs the Squared Exponential (SE) kernel, where K(i,j)=k(X_i,Y_j)=exp(-beta*||X_i-Y_j||^2).

get_P_sparse(XnAHat, XnB, X_A, X_B, sigma2, beta2, ...)

BA_align_sparse(...)

spateo.alignment.methods.morpho_sparse.con_K(X: numpy.ndarray | torch.Tensor, Y: numpy.ndarray | torch.Tensor, beta: int | float = 0.01, use_chunk: bool = False) numpy.ndarray | torch.Tensor[source]#

con_K constructs the Squared Exponential (SE) kernel, where K(i,j)=k(X_i,Y_j)=exp(-beta*||X_i-Y_j||^2).

Parameters:
X

The first vector Xinmathbb{R}^{N imes d}

Y

The second vector Xinmathbb{R}^{M imes d}

beta

The length-scale of the SE kernel.

use_chunk bool, optional

Whether to use chunk to reduce the GPU memory usage. Note that if set to ``True’’ it will slow down the calculation. Defaults to False.

Returns:

The kernel Kinmathbb{R}^{N imes M}

Return type:

K

spateo.alignment.methods.morpho_sparse.get_P_sparse(XnAHat: numpy.ndarray | torch.Tensor, XnB: numpy.ndarray | torch.Tensor, X_A: numpy.ndarray | torch.Tensor, X_B: numpy.ndarray | torch.Tensor, sigma2: int | float | numpy.ndarray | torch.Tensor, beta2: int | float | numpy.ndarray | torch.Tensor, alpha: numpy.ndarray | torch.Tensor, gamma: float | numpy.ndarray | torch.Tensor, Sigma: numpy.ndarray | torch.Tensor, samples_s: List[float] | None = None, outlier_variance: float = None, label_mask: numpy.ndarray | None = None, batch_capacity: int = 1, labelA: pandas.Series | None = None, labelB: pandas.Series | None = None, label_transfer_prior: dict | None = None, top_k: int = 1024)[source]#
spateo.alignment.methods.morpho_sparse.BA_align_sparse(sampleA: anndata.AnnData, sampleB: anndata.AnnData, genes: List | torch.Tensor | None = None, spatial_key: str = 'spatial', key_added: str = 'align_spatial', iter_key_added: str | None = 'iter_spatial', vecfld_key_added: str | None = 'VecFld_morpho', layer: str = 'X', dissimilarity: str = 'kl', max_iter: int = 200, lambdaVF: int | float = 100.0, beta: int | float = 0.01, K: int | float = 15, beta2: int | float | None = None, beta2_end: int | float | None = None, normalize_c: bool = True, normalize_g: bool = True, dtype: str = 'float32', device: str = 'cpu', inplace: bool = True, verbose: bool = True, nn_init: bool = False, partial_robust_level: float = 25, use_label_prior: bool = False, label_key: str | None = 'cluster', label_transfer_prior: dict | None = None, SVI_mode: bool = True, batch_size: int = 1024, use_sparse: bool = True, pre_compute_dist: bool = False) Tuple[Tuple[anndata.AnnData, anndata.AnnData] | None, numpy.ndarray, numpy.ndarray][source]#