EMAN::Util::sincBlackman Class Reference

#include <util.h>

List of all members.

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.


Detailed Description

Definition at line 264 of file util.h.


Constructor & Destructor Documentation

Util::sincBlackman::sincBlackman ( int  M_,
float  fc_,
int  ntable_ = 1999 
)

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 }

virtual EMAN::Util::sincBlackman::~sincBlackman (  )  [inline, virtual]

Definition at line 275 of file util.h.

00451 {


Member Function Documentation

void Util::sincBlackman::build_sBtable (  )  [protected, virtual]

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 }

int EMAN::Util::sincBlackman::get_sB_size (  )  const [inline]

Return the size of the kernel.

Definition at line 283 of file util.h.

00451 {

float EMAN::Util::sincBlackman::sBwin_tab ( float  x  )  const [inline]

Definition at line 277 of file util.h.

00451                 {


Member Data Documentation

float EMAN::Util::sincBlackman::fc [protected]

kernel size

Definition at line 268 of file util.h.

Referenced by build_sBtable().

float EMAN::Util::sincBlackman::fltb [protected]

Tabulate kernel for speed.

Definition at line 272 of file util.h.

Referenced by build_sBtable().

int EMAN::Util::sincBlackman::M [protected]

Definition at line 267 of file util.h.

Referenced by build_sBtable().

int EMAN::Util::sincBlackman::ntable [protected]

cut-off frequency

Definition at line 269 of file util.h.

Referenced by build_sBtable().

vector<float> EMAN::Util::sincBlackman::sBtable [protected]

Definition at line 270 of file util.h.

Referenced by build_sBtable().


The documentation for this class was generated from the following files:
Generated on Tue Jun 11 12:45:35 2013 for EMAN2 by  doxygen 1.4.7