Xmipp  v3.23.11-Nereus
Public Member Functions | Public Attributes | List of all members
Tabsinc Class Reference

#include <xmipp_funcs.h>

Public Member Functions

 Tabsinc (const double dd, const int xx)
 
virtual ~Tabsinc ()
 
double operator() (double val) const
 
void filltable ()
 

Public Attributes

double sampl
 
double isampl
 
int xmax
 
int no_elem
 
double * tabulatedsinc
 

Detailed Description

Tabulated Sinc = SIN(PI*X)/(PI*X)

A lookup-table with the given sampling rate and range is created.

tabsinc TSINC(0.0001,64);
if (TSINC(1)==0)
std::cout << "This is true!\n";

This class is not ported to Python.

Definition at line 68 of file xmipp_funcs.h.

Constructor & Destructor Documentation

◆ Tabsinc()

Tabsinc::Tabsinc ( const double  dd,
const int  xx 
)
inline

Constructor with sampling rate and range

Definition at line 80 of file xmipp_funcs.h.

81  {
82  sampl = dd;
83  isampl = 1.0/sampl;
84  xmax = xx;
85  filltable();
86  }
double isampl
Definition: xmipp_funcs.h:73
double sampl
Definition: xmipp_funcs.h:72
int xmax
Definition: xmipp_funcs.h:74
void filltable()
Definition: xmipp_funcs.h:109

◆ ~Tabsinc()

virtual Tabsinc::~Tabsinc ( )
inlinevirtual

Definition at line 89 of file xmipp_funcs.h.

90  {
91  delete tabulatedsinc;
92  }
double * tabulatedsinc
Definition: xmipp_funcs.h:76

Member Function Documentation

◆ filltable()

void Tabsinc::filltable ( )
inline

Actually fill the table

Definition at line 109 of file xmipp_funcs.h.

110  {
111  no_elem = (int)(xmax / sampl);
112  tabulatedsinc = new double[no_elem];
113  tabulatedsinc[0] = 1;
114  for (int i = 1; i < no_elem; i++)
115  {
116  double xx = (double) i * sampl * PI;
117  tabulatedsinc[i] = sin(xx) / xx;
118  }
119  }
double * tabulatedsinc
Definition: xmipp_funcs.h:76
#define i
double sampl
Definition: xmipp_funcs.h:72
int no_elem
Definition: xmipp_funcs.h:75
int xmax
Definition: xmipp_funcs.h:74
#define PI
Definition: tools.h:43

◆ operator()()

double Tabsinc::operator() ( double  val) const
inline

Value access. Tabulated sine in radians

Definition at line 102 of file xmipp_funcs.h.

103  {
104  int aux=(int)(val * isampl);
105  return tabulatedsinc[ABS(aux)];
106  }
double isampl
Definition: xmipp_funcs.h:73
double * tabulatedsinc
Definition: xmipp_funcs.h:76
#define ABS(x)
Definition: xmipp_macros.h:142

Member Data Documentation

◆ isampl

double Tabsinc::isampl

Definition at line 73 of file xmipp_funcs.h.

◆ no_elem

int Tabsinc::no_elem

Definition at line 75 of file xmipp_funcs.h.

◆ sampl

double Tabsinc::sampl

Definition at line 72 of file xmipp_funcs.h.

◆ tabulatedsinc

double* Tabsinc::tabulatedsinc

Definition at line 76 of file xmipp_funcs.h.

◆ xmax

int Tabsinc::xmax

Definition at line 74 of file xmipp_funcs.h.


The documentation for this class was generated from the following file: