mumosa
Multi-modal analyses of single-cell data
Loading...
Searching...
No Matches
blocked.hpp File Reference

Compute distances to nearest neighbors with blocking. More...

#include <vector>
#include <algorithm>
#include <cstddef>
#include "knncolle/knncolle.hpp"
#include "sanisizer/sanisizer.hpp"
#include "scran_blocks/scran_blocks.hpp"
#include "simple.hpp"
#include "utils.hpp"
Include dependency graph for blocked.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mumosa::BlockedOptions
 Options for compute_distance_blocked(). More...
 
struct  mumosa::BlockedWorkspace< Distance_ >
 Workspace for compute_distance_blocked(). More...
 
class  mumosa::BlockedIndicesFactory< Index_, Block_ >
 Factory for creating nearest-neighbor search indices for each block. More...
 
struct  mumosa::BlockedIndicesFactory< Index_, Block_ >::Buffers< Input_ >
 Temporary buffers for build(). More...
 

Namespaces

namespace  mumosa
 Scale multi-modal embeddings to adjust for differences in variance.
 

Functions

template<typename Distance_ , typename Index_ >
BlockedWorkspace< Distance_ > mumosa::create_workspace (const std::vector< Index_ > &block_sizes, const BlockedOptions &options)
 
template<typename Index_ , typename Input_ , typename Distance_ >
std::pair< Distance_, Distance_ > mumosa::compute_distance_blocked (const std::vector< std::shared_ptr< const knncolle::Prebuilt< Index_, Input_, Distance_ > > > &prebuilts, BlockedWorkspace< Distance_ > &workspace, const BlockedOptions &options)
 
template<typename Index_ , typename Input_ , typename Distance_ , class Matrix_ = knncolle::Matrix<Index_, Input_>>
std::vector< std::shared_ptr< const knncolle::Prebuilt< Index_, Input_, Distance_ > > > mumosa::build_blocked_indices (const std::size_t num_dim, const std::vector< Index_ > block_sizes, const Input_ *const data, const knncolle::Builder< Index_, Input_, Distance_, Matrix_ > &builder)
 
template<typename Index_ , typename Input_ , typename Distance_ , class Matrix_ = knncolle::Matrix<Index_, Input_>>
std::pair< Distance_, Distance_ > mumosa::compute_distance_blocked (const std::size_t num_dim, const std::vector< Index_ > &block_sizes, const Input_ *const data, const knncolle::Builder< Index_, Input_, Distance_, Matrix_ > &builder, const BlockedOptions &options)
 
template<typename Index_ , typename Input_ , typename Block_ , typename Distance_ , class Matrix_ = knncolle::Matrix<Index_, Input_>>
std::pair< Distance_, Distance_ > mumosa::compute_distance_blocked (const std::size_t num_dim, const Index_ num_cells, const Input_ *const data, const Block_ *const block, const knncolle::Builder< Index_, Input_, Distance_, Matrix_ > &builder, const BlockedOptions &options)
 

Detailed Description

Compute distances to nearest neighbors with blocking.