#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 382 of file util.h. 00439 {
|
|
|
2*pi*alpha*r*vadjust
Reimplemented from EMAN::Util::KaiserBessel. Definition at line 2061 of file util_sparx.cpp. References EMAN::Util::round(), and sqrt(). 02061 {
02062 i0table.resize(ntable+1); // i0table[0:ntable]
02063 int ltab = int(round(float(ntable)/1.1f));
02064 fltb = float(ltab)/(K/2);
02065 float val0 = sqrt(facadj)*static_cast<float>(gsl_sf_bessel_I1(facadj));
02066 for (int i=ltab+1; i <= ntable; i++) i0table[i] = 0.f;
02067 for (int i=0; i <= ltab; i++) {
02068 float s = float(i)/fltb/N;
02069 if (s < vadjust) {
02070 float rt = sqrt(1.f - pow(s/vadjust, 2));
02071 i0table[i] = sqrt(facadj*rt)*static_cast<float>(gsl_sf_bessel_I1(facadj*rt))/val0;
02072 } else {
02073 i0table[i] = 0.f;
02074 }
02075 }
02076 }
|
|
|
Kaiser-Bessel I0 window function.
Reimplemented from EMAN::Util::KaiserBessel. Definition at line 2052 of file util_sparx.cpp. 02052 {
02053 float val0 = sqrt(facadj)*float(gsl_sf_bessel_I1(facadj));
02054 float absx = fabs(x);
02055 if (absx > vadjust) return 0.f;
02056 float rt = sqrt(1.f - pow(absx/vadjust, 2));
02057 float res = sqrt(facadj*rt)*float(gsl_sf_bessel_I1(facadj*rt))/val0;
02058 return res;
02059 }
|
|
|
Kaiser-Bessel Sinh window function.
Reimplemented from EMAN::Util::KaiserBessel. Definition at line 2078 of file util_sparx.cpp. 02078 {
02079 float val0 = sinh(fac)/fac;
02080 float absx = fabs(x);
02081 if (0.0 == x) {
02082 float res = 1.0f;
02083 return res;
02084 } else if (absx == alphar) {
02085 return 1.0f/val0;
02086 } else if (absx < alphar) {
02087 float rt = sqrt(1.0f - pow((x/alphar), 2));
02088 float facrt = fac*rt;
02089 float res = (sinh(facrt)/facrt)/val0;
02090 return res;
02091 } else {
02092 float rt = sqrt(pow((x/alphar),2) - 1.f);
02093 float facrt = fac*rt;
02094 float res = (sin(facrt)/facrt)/val0;
02095 return res;
02096 }
02097 }
|
1.3.9.1