#include <util.h>
Inheritance diagram for EMAN::Util::FakeKaiserBessel:
Public Member Functions | |
FakeKaiserBessel (float alpha, int K, float r_, float v_, int N_, float vtable_=0.f, int ntable_=5999) | |
float | sinhwin (float x) const |
Kaiser-Bessel Sinh window function. | |
float | i0win (float x) const |
Kaiser-Bessel I0 window function. | |
void | build_I0table () |
2*pi*alpha*r*vadjust |
|
Definition at line 383 of file util.h. References x. 00438 {
|
|
2*pi*alpha*r*vadjust
Reimplemented from EMAN::Util::KaiserBessel. Definition at line 2062 of file util_sparx.cpp. References EMAN::Util::round(), and sqrt(). 02062 { 02063 i0table.resize(ntable+1); // i0table[0:ntable] 02064 int ltab = int(round(float(ntable)/1.1f)); 02065 fltb = float(ltab)/(K/2); 02066 float val0 = sqrt(facadj)*static_cast<float>(gsl_sf_bessel_I1(facadj)); 02067 for (int i=ltab+1; i <= ntable; i++) i0table[i] = 0.f; 02068 for (int i=0; i <= ltab; i++) { 02069 float s = float(i)/fltb/N; 02070 if (s < vadjust) { 02071 float rt = sqrt(1.f - pow(s/vadjust, 2)); 02072 i0table[i] = sqrt(facadj*rt)*static_cast<float>(gsl_sf_bessel_I1(facadj*rt))/val0; 02073 } else { 02074 i0table[i] = 0.f; 02075 } 02076 } 02077 }
|
|
Kaiser-Bessel I0 window function.
Reimplemented from EMAN::Util::KaiserBessel. Definition at line 2053 of file util_sparx.cpp. 02053 { 02054 float val0 = sqrt(facadj)*float(gsl_sf_bessel_I1(facadj)); 02055 float absx = fabs(x); 02056 if (absx > vadjust) return 0.f; 02057 float rt = sqrt(1.f - pow(absx/vadjust, 2)); 02058 float res = sqrt(facadj*rt)*float(gsl_sf_bessel_I1(facadj*rt))/val0; 02059 return res; 02060 }
|
|
Kaiser-Bessel Sinh window function.
Reimplemented from EMAN::Util::KaiserBessel. Definition at line 2079 of file util_sparx.cpp. 02079 { 02080 float val0 = sinh(fac)/fac; 02081 float absx = fabs(x); 02082 if (0.0 == x) { 02083 float res = 1.0f; 02084 return res; 02085 } else if (absx == alphar) { 02086 return 1.0f/val0; 02087 } else if (absx < alphar) { 02088 float rt = sqrt(1.0f - pow((x/alphar), 2)); 02089 float facrt = fac*rt; 02090 float res = (sinh(facrt)/facrt)/val0; 02091 return res; 02092 } else { 02093 float rt = sqrt(pow((x/alphar),2) - 1.f); 02094 float facrt = fac*rt; 02095 float res = (sin(facrt)/facrt)/val0; 02096 return res; 02097 } 02098 }
|