Xmipp
v3.23.11-Nereus
|
#include <xmipp_funcs.h>
Public Member Functions | |
KaiserBessel (double alpha_, int K, double r_, double v_, int N_, double vtable_=0., int ntable_=5999) | |
double | I0table_maxerror () |
std::vector< double > | dump_table () const |
double | sinhwin (double x) const |
double | i0win (double x) const |
double | i0win_tab (double x) const |
int | get_window_size () const |
Protected Member Functions | |
void | build_I0table () |
Protected Attributes | |
double | alpha |
double | v |
double | r |
int | N |
int | K |
double | vtable |
int | ntable |
std::vector< double > | i0table |
double | dtable |
double | alphar |
double | fac |
double | vadjust |
double | facadj |
double | fltb |
Kaiser-Bessel function
This code was modified from SPARX and originally written by Pawel Penczek at the University of Texas - Houston Medical School
see P. A. Penczek, R. Renka, and H. Schomberg, J. Opt. Soc. Am. 21, 449 (2004)
The I0 version can be tabulated and interpolated upon demand, but the max error needs to be checked. The "vtable" parameter corresponds to the maximum value of x for which the I0 selfWindow is non-zero. Setting "vtable" different from "v" corresponds to a change in units of x. In practice, it is often handy to replace x in some sort of absolute units with x described in terms of grid intervals.
The get_kbsinh_win and get_kbi0_win functions return single-argument function objects, which is what a generic routine is likely to want.
Definition at line 149 of file xmipp_funcs.h.
KaiserBessel::KaiserBessel | ( | double | alpha_, |
int | K, | ||
double | r_, | ||
double | v_, | ||
int | N_, | ||
double | vtable_ = 0. , |
||
int | ntable_ = 5999 |
||
) |
|
protected |
|
inline |
Definition at line 174 of file xmipp_funcs.h.
|
inline |
Return the size of the I0 selfWindow
Definition at line 197 of file xmipp_funcs.h.
double KaiserBessel::I0table_maxerror | ( | ) |
double KaiserBessel::i0win | ( | double | x | ) | const |
|
inline |
Kaiser-Bessel I0 selfWindow function (uses table lookup)
Definition at line 186 of file xmipp_funcs.h.
double KaiserBessel::sinhwin | ( | double | x | ) | const |
|
protected |
Definition at line 152 of file xmipp_funcs.h.
|
protected |
table spastd::cing
Definition at line 159 of file xmipp_funcs.h.
|
protected |
Definition at line 158 of file xmipp_funcs.h.
|
protected |
alpha*r
Definition at line 160 of file xmipp_funcs.h.
|
protected |
Definition at line 162 of file xmipp_funcs.h.
|
protected |
Tabulate I0 selfWindow for speed
Definition at line 164 of file xmipp_funcs.h.
|
protected |
Definition at line 157 of file xmipp_funcs.h.
|
protected |
size in Ix-space
Definition at line 154 of file xmipp_funcs.h.
|
protected |
Kaiser-Bessel parameters
Definition at line 153 of file xmipp_funcs.h.
|
protected |
table I0 non-zero domain maximum
Definition at line 156 of file xmipp_funcs.h.
|
protected |
Definition at line 152 of file xmipp_funcs.h.
|
protected |
Definition at line 152 of file xmipp_funcs.h.
|
protected |
2*pi*alpha*r*v
Definition at line 161 of file xmipp_funcs.h.
|
protected |
I0 selfWindow size
Definition at line 155 of file xmipp_funcs.h.