Sirius
0.0.0
|
Classes | |
class | ConcurrentQueue |
Concurrent queue. More... | |
class | LRUCache |
LRU cache. More... | |
Enumerations | |
enum | ConcurrentQueueErrorCode { ConcurrentQueueErrorCode::kSuccess = 0, ConcurrentQueueErrorCode::kQueueIsNotActive } |
Enum of concurrent queue error codes. More... | |
Functions | |
std::error_code | make_error_code (ConcurrentQueueErrorCode errc) |
Make an error code from ConcurrentQueueErrorCode enum. More... | |
template<typename SmartPtr > | |
auto | MakeSmartPtrArraySpan (const SmartPtr &smart_ptr, const Size &size) |
Make a GSL span from a smart pointer pointing to an array of data. More... | |
void | SetVerbosityLevel (const std::string &level) |
Set verbosity level from string. More... | |
int | Gcd (int a, int b) |
Compute Gcd of a and b using C++17: will be replaced with std::gcd. More... | |
void | FFTShift2D (const double *data, const Size &size, double *shifted_data) |
FFTShift 2D matrix. More... | |
void | IFFTShift2D (const double *data, const Size &size, double *shifted_data) |
IFFTShift 2D matrix. More... | |
void | IFFTShift2DUncentered (const double *data, const Size &size, const Point &hot_point, double *shifted_data) |
IFFTShift 2D matrix in which hot point is not centered. More... | |
void | FFTShift2DUncentered (const double *data, const Size &size, const Point &hot_point, double *shifted_data) |
FFTShift 2D matrix in which hot point must remain uncentered after shift. More... | |
std::vector< double > | ComputeFFTFreq (int n_samples, bool half=true) |
Compute frequencies for which fft will be calculated. More... | |
Size | GenerateDyadicSize (const Size &size, const int res_in, const Size &padding_size) |
Rounds the parameters so log2(param) is an int. More... | |
Size | GenerateZoomCompliantSize (const Size &size, const ZoomRatio &zoom_r) |
Resize given dimensions so it matches with given zoom ratio. More... | |
void | CreateMeshgrid (int x_min, int x_max, int y_min, int y_max, std::vector< int > &xx, std::vector< int > &yy) |
Create coordinates vector. More... | |
|
strong |
std::vector<double> sirius::utils::ComputeFFTFreq | ( | int | n_samples, |
bool | half = true |
||
) |
Compute frequencies for which fft will be calculated.
n_samples | width of the spatial signal (expected to be odd) |
half | decide to return only half the frequencies |
void sirius::utils::CreateMeshgrid | ( | int | x_min, |
int | x_max, | ||
int | y_min, | ||
int | y_max, | ||
std::vector< int > & | xx, | ||
std::vector< int > & | yy | ||
) |
Create coordinates vector.
x_min | beginning of x axis |
x_max | end of x axis (x_max is excluded from the interval) |
y_min | beginning of y axis |
y_max | end of y axis (y_max is excluded from the interval) |
xx | output 2d x grid |
yy | output 2d y grid |
void sirius::utils::FFTShift2D | ( | const double * | data, |
const Size & | size, | ||
double * | shifted_data | ||
) |
FFTShift 2D matrix.
void sirius::utils::FFTShift2DUncentered | ( | const double * | data, |
const Size & | size, | ||
const Point & | hot_point, | ||
double * | shifted_data | ||
) |
FFTShift 2D matrix in which hot point must remain uncentered after shift.
data | input data |
size | dimensions of the image to be shifted |
hot_point | hot point coordinates |
shifted_data | output data |
int sirius::utils::Gcd | ( | int | a, |
int | b | ||
) |
Compute Gcd of a and b using C++17: will be replaced with std::gcd.
Size sirius::utils::GenerateDyadicSize | ( | const Size & | size, |
const int | res_in, | ||
const Size & | padding_size | ||
) |
Rounds the parameters so log2(param) is an int.
size | size to be resized |
res_in | zoom coefficient that will be applied to the fft |
padding_size | size of the margins |
Resize given dimensions so it matches with given zoom ratio.
size | size to be resized |
zoom_r | zoom ratio |
void sirius::utils::IFFTShift2D | ( | const double * | data, |
const Size & | size, | ||
double * | shifted_data | ||
) |
IFFTShift 2D matrix.
void sirius::utils::IFFTShift2DUncentered | ( | const double * | data, |
const Size & | size, | ||
const Point & | hot_point, | ||
double * | shifted_data | ||
) |
IFFTShift 2D matrix in which hot point is not centered.
data | input data |
size | dimensions of the image to be shifted |
hot_point | hot point coordinates |
shifted_data | output data |
std::error_code sirius::utils::make_error_code | ( | ConcurrentQueueErrorCode | errc | ) |
Make an error code from ConcurrentQueueErrorCode enum.
errc | error code |
auto sirius::utils::MakeSmartPtrArraySpan | ( | const SmartPtr & | smart_ptr, |
const Size & | size | ||
) |
Make a GSL span from a smart pointer pointing to an array of data.
smart_ptr | smart pointer to array to wrap as span |
size | size of the array |
void sirius::utils::SetVerbosityLevel | ( | const std::string & | level | ) |
Set verbosity level from string.
level | verbosity level: trace,debug,info,warn,error,critical,off |