@@ -244,7 +244,7 @@ def compute_neighbors(
244244
245245 def compute_mappping_matrix (
246246 self ,
247- method : Literal ["jaccard" , "gaussian" , "scarches" , "inverse_distance" , "random" , "hnoca" ] = "gaussian" ,
247+ method : Literal ["jaccard" , "gaussian" , "scarches" , "inverse_distance" , "random" , "hnoca" , "equal" ] = "gaussian" ,
248248 ) -> None :
249249 """
250250 Compute the mapping matrix for label transfer.
@@ -255,11 +255,12 @@ def compute_mappping_matrix(
255255 Method to use for computing the mapping matrix. Options include:
256256
257257 - "jaccard": Jaccard similarity. Inspired by GLUE :cite:`cao2022multi`
258- - "gaussian": Gaussian kernel with adaptive bandwidth. Loosely inspired by MAGIC :cite:`van2018recovering`
258+ - "gaussian": Gaussian kernel with (global) bandwith equal to the mean distance.
259259 - "scarches": scArches kernel. Inspired by scArches :cite:`lotfollahi2022mapping`
260260 - "inverse_distance": Inverse distance kernel.
261261 - "random": Random kernel, useful for testing.
262262 - "hnoca": HNOCA kernel. Inspired by HNOCA-tools :cite:`he2024integrated`
263+ - "equal": All neighbors are equally weighted (1/n_neighbors).
263264
264265 Returns
265266 -------
@@ -290,7 +291,7 @@ def compute_mappping_matrix(
290291 jaccard .data /= 2 * n_neighbors - jaccard .data
291292 jaccard .data = jaccard .data ** 2
292293 self .mapping_matrix = jaccard
293- elif method in ["gaussian" , "scarches" , "inverse_distance" , "random" ]:
294+ elif method in ["gaussian" , "scarches" , "inverse_distance" , "random" , "equal" ]:
294295 self .mapping_matrix = self .knn .yx .knn_graph_connectivities (kernel = method )
295296 else :
296297 raise NotImplementedError (f"Method '{ method } ' is not implemented." )
0 commit comments