Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

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.


Constructor & Destructor Documentation

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

Definition at line 1960 of file util_sparx.cpp.

References build_sBtable().

01961                 : M(M_), fc(fc_), ntable(ntable_) {
01962         // Sinc-Blackman kernel
01963         build_sBtable();
01964 }

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

Definition at line 269 of file util.h.

00439 {


Member Function Documentation

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

Definition at line 1966 of file util_sparx.cpp.

References fc, fltb, M, ntable, EMAN::Util::round(), sBtable, twopi, and x.

Referenced by sincBlackman().

01966                                      {
01967         sBtable.resize(ntable+1);
01968         int ltab = int(round(float(ntable)/1.25f));
01969         int M2 = M/2;
01970         fltb = float(ltab)/M2;
01971         for (int i=ltab+1; i <= ntable; i++) sBtable[i] = 0.0f;
01972         float x = 1.0e-7f;
01973         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)));
01974         for (int i=1; i <= ltab; i++) {
01975                 x = float(i)/fltb;
01976                 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)));
01977                 //cout << "  "<<x<<"  "<<sBtable[i] <<endl;
01978         }
01979 }

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

Return the size of the kernel.

Definition at line 277 of file util.h.

Referenced by EMAN::EMData::get_pixel_filtered().

00439 {

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

Definition at line 271 of file util.h.

Referenced by EMAN::EMData::get_pixel_filtered().

00439                 {


Member Data Documentation

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

kernel size

Definition at line 262 of file util.h.

Referenced by build_sBtable().

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

Tabulate kernel for speed.

Definition at line 266 of file util.h.

Referenced by build_sBtable().

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

Definition at line 261 of file util.h.

Referenced by build_sBtable().

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

cut-off frequency

Definition at line 263 of file util.h.

Referenced by build_sBtable().

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

Definition at line 264 of file util.h.

Referenced by build_sBtable().


The documentation for this class was generated from the following files:
Generated on Tue Jul 12 13:53:26 2011 for EMAN2 by  doxygen 1.3.9.1