param.h 1.71 KB
Newer Older
qon's avatar
qon committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#ifndef BIOEM_PARAM_H
#define BIOEM_PARAM_H

#include "defs.h"
#include "map.h"
#include <complex>
#include <math.h>

class bioem_map_forFFT;

class bioem_param_device
{
public:
	int maxDisplaceCenter;
	int GridSpaceCenter;
	int NumberPixels;
	myfloat_t Ntotpi;
	myfloat_t volu;
};

class bioem_param
{
public:
    bioem_param();
    ~bioem_param();

    int readParameters();
    int CalculateGridsParam();
    int CalculateRefCTF();
    int InitializeArrays();
	
	bioem_param_device param_device;

    bioem_map_forFFT* refCTF;

// File names
    const char* fileinput;
    char logFile;
// If to write Probabilities of Angles from Model
    bool writeAngles;
// Pixel size &&  BIOEM_MAP_SIZE_X should be defined here too
    //int NumberPixels; //in device class
    myfloat_t* pixelSize;
// Grid Points in Euler angles, assuming uniform sampling d_alpha=d_gamma (in 2pi) & cos(beta)=-1,1
    int angleGridPointsAlpha;
    int angleGridPointsBeta;
// Grids in center assuming equidistance from 0,0
    //int maxDisplaceCenter; //in device class
    int numberGridPointsDisplaceCenter;
	//int GridSpaceCenter; //in device class
// Grid sampling for the convolution kernel
    //ENVELOPE
    myfloat_t* startGridEnvelop;
    int numberGridPointsEnvelop;
    myfloat_t* gridEnvelop;
    //CTF=Amp*cos(phase*x)-sqrt(1-Amp**2)*sin(phase*x)
    myfloat_t* startGridCTF_phase;
    int numberGridPointsCTF_phase;
    myfloat_t* gridCTF_phase;
    myfloat_t* startGridCTF_amp;
    int numberGridPointsCTF_amp;
    myfloat_t* gridCTF_amp;
    // Others
    //myfloat_t volu;//in device class
    myfloat3_t angles[MAX_ORIENT];
    myfloat3_t CtfParam[MAX_REF_CTF] ;
    int nTotGridAngles;
    int nTotCTFs;
    //myfloat_t Ntotpi;//in device class
};

#endif