#include <util.h>
Public Member Functions | |
sincBlackman (int M_, float fc_, int ntable_=1999) | |
virtual | ~sincBlackman () |
float | sBwin_tab (float x) const |
int | get_sB_size () const |
Return the size of the kernel. | |
Protected Member Functions | |
virtual void | build_sBtable () |
Protected Attributes | |
int | M |
float | fc |
kernel size | |
int | ntable |
cut-off frequency | |
vector< float > | sBtable |
float | fltb |
Tabulate kernel for speed. |
|
Definition at line 1967 of file util_sparx.cpp. References build_sBtable(). 01968 : M(M_), fc(fc_), ntable(ntable_) { 01969 // Sinc-Blackman kernel 01970 build_sBtable(); 01971 }
|
|
Definition at line 275 of file util.h. 00451 {
|
|
Definition at line 1973 of file util_sparx.cpp. References fc, fltb, M, ntable, EMAN::Util::round(), sBtable, twopi, and x. Referenced by sincBlackman(). 01973 { 01974 sBtable.resize(ntable+1); 01975 int ltab = int(round(float(ntable)/1.25f)); 01976 int M2 = M/2; 01977 fltb = float(ltab)/M2; 01978 for (int i=ltab+1; i <= ntable; i++) sBtable[i] = 0.0f; 01979 float x = 1.0e-7f; 01980 sBtable[0] = (float)(sin(twopi*fc*x)/x*(0.52-0.5*cos(twopi*(x-M2)/M)+0.08*cos(2*twopi*(x-M2)/M))); 01981 for (int i=1; i <= ltab; i++) { 01982 x = float(i)/fltb; 01983 sBtable[i] = (float)(sin(twopi*fc*x)/x*(0.52-0.5*cos(twopi*(x-M2)/M)+0.08*cos(2*twopi*(x-M2)/M))); 01984 //cout << " "<<x<<" "<<sBtable[i] <<endl; 01985 } 01986 }
|
|
Return the size of the kernel.
Definition at line 283 of file util.h. 00451 {
|
|
Definition at line 277 of file util.h. 00451 {
|
|
kernel size
Definition at line 268 of file util.h. Referenced by build_sBtable(). |
|
Tabulate kernel for speed.
Definition at line 272 of file util.h. Referenced by build_sBtable(). |
|
Definition at line 267 of file util.h. Referenced by build_sBtable(). |
|
cut-off frequency
Definition at line 269 of file util.h. Referenced by build_sBtable(). |
|
Definition at line 270 of file util.h. Referenced by build_sBtable(). |