1#ifndef SCRAN_NORM_CENTER_SPIKE_IN_FACTORS_HPP
2#define SCRAN_NORM_CENTER_SPIKE_IN_FACTORS_HPP
57template<
typename SizeFactor_>
59 const std::size_t num_cells,
60 SizeFactor_*
const endogenous,
61 const std::vector<SizeFactor_*>& spike_ins,
69 const auto num_spikes = spike_ins.size();
71 for (I<
decltype(num_spikes)> i = 0; i < num_spikes; ++i) {
72 if (use_diagnostics) {
130template<
typename SizeFactor_,
typename Block_>
132 const std::size_t num_cells,
133 SizeFactor_*
const endogenous,
134 const std::vector<SizeFactor_*>& spike_ins,
135 const Block_*
const block,
136 const std::size_t num_blocks,
146 cent_opt.
block_mode = CenterBlockMode::CUSTOM;
148 const auto num_spikes = spike_ins.size();
151 for (I<
decltype(num_spikes)> i = 0; i < num_spikes; ++i) {
152 if (use_diagnostics) {
Center size factors prior to scaling normalization.
Scaling normalization of single-cell data.
Definition center_size_factors.hpp:20
SizeFactor_ center_size_factors(const std::size_t num_cells, SizeFactor_ *const size_factors, const CenterSizeFactorsOptions &options)
Definition center_size_factors.hpp:197
std::vector< SizeFactor_ > center_size_factors_blocked(const std::size_t num_cells, SizeFactor_ *const size_factors, const Block_ *const block, const std::size_t num_blocks, const CenterSizeFactorsBlockedOptions &options)
Definition center_size_factors.hpp:298
void center_spike_in_factors(const std::size_t num_cells, SizeFactor_ *const endogenous, const std::vector< SizeFactor_ * > &spike_ins, const CenterSpikeInFactorsOptions &options)
Definition center_spike_in_factors.hpp:58
CenterBlockMode
Definition center_size_factors.hpp:222
std::vector< SizeFactor_ > center_spike_in_factors_blocked(const std::size_t num_cells, SizeFactor_ *const endogenous, const std::vector< SizeFactor_ * > &spike_ins, const Block_ *const block, const std::size_t num_blocks, const CenterSpikeInFactorsBlockedOptions &options)
Definition center_spike_in_factors.hpp:131
Options for center_size_factors_blocked().
Definition center_size_factors.hpp:227
std::optional< std::vector< double > > custom_centers
Definition center_size_factors.hpp:269
CenterBlockMode block_mode
Definition center_size_factors.hpp:263
bool ignore_invalid
Definition center_size_factors.hpp:232
SizeFactorDiagnostics * diagnostics
Definition center_size_factors.hpp:238
bool report_final
Definition center_size_factors.hpp:275
Options for center_size_factors().
Definition center_size_factors.hpp:149
bool ignore_invalid
Definition center_size_factors.hpp:158
SizeFactorDiagnostics * diagnostics
Definition center_size_factors.hpp:171
Options for center_spike_in_factors_blocked().
Definition center_spike_in_factors.hpp:82
SizeFactorDiagnostics * endogenous_diagnostics
Definition center_spike_in_factors.hpp:92
std::vector< SizeFactorDiagnostics * > spike_in_diagnostics
Definition center_spike_in_factors.hpp:100
bool ignore_invalid
Definition center_spike_in_factors.hpp:86
CenterBlockMode block_mode
Definition center_spike_in_factors.hpp:105
Options for center_spike_in_factors().
Definition center_spike_in_factors.hpp:17
std::vector< SizeFactorDiagnostics * > spike_in_diagnostics
Definition center_spike_in_factors.hpp:35
SizeFactorDiagnostics * endogenous_diagnostics
Definition center_spike_in_factors.hpp:27
bool ignore_invalid
Definition center_spike_in_factors.hpp:21
Diagnostics for the size factors.
Definition sanitize_size_factors.hpp:21