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

#include <grids.h>

Collaboration diagram for SimpleGrid:
Collaboration graph
[legend]

Public Member Functions

 SimpleGrid ()
 
void assign (const SimpleGrid &SG)
 
void set_X (const Matrix1D< double > &v)
 
void set_Y (const Matrix1D< double > &v)
 
void set_Z (const Matrix1D< double > &v)
 
void get_X (Matrix1D< double > &v) const
 
void get_Y (Matrix1D< double > &v) const
 
void get_Z (Matrix1D< double > &v) const
 
void getSize (int &Zdim, int &Ydim, int &Xdim) const
 
int get_number_of_samples () const
 
void set_interest_radius (double _R)
 Set reconstruction radius. More...
 
double get_interest_radius () const
 Get reconstruction radius. More...
 
void set_relative_size (double size)
 Set relative_size. More...
 
double get_relative_size () const
 Get relative_size. More...
 
void prepare_grid ()
 
void grid2universe (const Matrix1D< double > &gv, Matrix1D< double > &uv) const
 
void universe2grid (const Matrix1D< double > &uv, Matrix1D< double > &gv) const
 
bool is_interesting (const Matrix1D< double > &uv) const
 
void Gproject_to_plane (const Matrix1D< double > &gr, double rot, double tilt, double psi, Matrix1D< double > &result) const
 
void Gproject_to_plane (const Matrix1D< double > &gr, const Matrix2D< double > &euler, Matrix1D< double > &result) const
 
void Gdir_project_to_plane (const Matrix1D< double > &gr, double rot, double tilt, double psi, Matrix1D< double > &result) const
 
void Gdir_project_to_plane (const Matrix1D< double > &gr, const Matrix2D< double > &euler, Matrix1D< double > &result) const
 

Public Attributes

Matrix2D< double > basis
 
Matrix2D< double > inv_basis
 
Matrix1D< double > lowest
 
Matrix1D< double > highest
 
double relative_size
 Measuring unit in the grid coordinate system. More...
 
Matrix1D< double > origin
 Origin of the grid in the Universal coordinate system. More...
 
double R2
 

Friends

std::ostream & operator<< (std::ostream &o, const SimpleGrid &grid)
 

Detailed Description

Basic grid class. A Simple grid is defined as a set of 3 directions (X,Y,Z) which need not to coincide with the universal X,Y,Z (ie, e1, e2, e3), an origin, a relative size to the voxels in the universal grid, and the lowest and highest indexes within the grid (these two last parameters set the grid size and the space where the grid is defined). There will be volume elements at each point of the grid.

The concept of a simple grid is the following: you are defining a coordinate system (translated, rotated and whatever you like with respect to the Universal Coordinate System, and inside this system you must define a "measuring unit". This coordinate system will be valid only in a "box" of the space. A "box" is quoted as because it is a parallelepiped defined by this coordinate system axes, and not by the Universal axes.

So to define the simple grid you must address the following topics:

This is the default grid after creation:

(e1,e2,e3) vectors
grid relative_size = 1
origin = ( 0, 0, 0)
lowest = (-5,-5,-5)
highest = ( 5, 5, 5)

It should be convenient that you modify these parameters at your convenience. And after setting them PREPARE!! the grid to be used with the function SimpleGrid::prepare_grid . There are several public variables which you might directly modify, namely, origin , relative_size , lowest , and highest .

Definition at line 144 of file grids.h.

Constructor & Destructor Documentation

◆ SimpleGrid()

SimpleGrid::SimpleGrid ( )

Default constructor. Be careful that this is not an empty constructor as usual but it sets a grid by default (see the class documentation to see exactly which grid is). \ Ex: SimpleGrid sg;

Definition at line 35 of file grids.cpp.

36 {
39  origin = vectorR3(0., 0., 0.);
40  lowest = vectorR3(-5., -5., -5.);
41  highest = -lowest;
42  relative_size = 1;
43  R2 = -1;
44 }
Matrix1D< double > highest
Definition: grids.h:161
Matrix1D< double > vectorR3(double x, double y, double z)
Definition: matrix1d.cpp:892
Matrix1D< double > lowest
Definition: grids.h:158
Matrix2D< double > basis
Definition: grids.h:148
double R2
Definition: grids.h:170
Matrix2D< double > inv_basis
Definition: grids.h:153
double relative_size
Measuring unit in the grid coordinate system.
Definition: grids.h:163
Matrix1D< double > origin
Origin of the grid in the Universal coordinate system.
Definition: grids.h:165
void initIdentity()
Definition: matrix2d.h:673

Member Function Documentation

◆ assign()

void SimpleGrid::assign ( const SimpleGrid SG)

Another function for assigment.

Definition at line 63 of file grids.cpp.

64 {
65  *this = SG;
66 }

◆ Gdir_project_to_plane() [1/2]

void SimpleGrid::Gdir_project_to_plane ( const Matrix1D< double > &  gr,
double  rot,
double  tilt,
double  psi,
Matrix1D< double > &  result 
) const
inline

Project a grid direction onto a plane (Euler angles). More or less this function goes in the fashion of the preceding ones of projecting a vector. The difference between them is while in the first one the grid vector is translated directly to the universal coordinate system (it is like a point translation, this point in the grid system is this other one in the universal system), in this second function only the direction is translated into the universal coordinate system. Ie, a point in the grid indicates a direction in the grid system, then this same direction is expressed in the universal coordinate system. And then this direction is projected onto the given plane. See Uproject_to_plane for more information about the projection process.

The direction can be seen then as the free vector associated to a given vector in the grid. It can also be seen as the translation to the universal coordinate system of the grid vector when the grid origin is moved to the Universe origin. A pseudocode to get the direction of a given grid vector (gr) is the following

Udirection=grid2universe(gr)-origin;

This function can be used, for instance, to compute the projections of the grid axes onto the projection plane.

Definition at line 432 of file grids.h.

434  {
435  grid2universe(gr, result);
436  V3_MINUS_V3(result, result, origin);
437  Uproject_to_plane(result, rot, tilt, psi, result);
438  }
void grid2universe(const Matrix1D< double > &gv, Matrix1D< double > &uv) const
Definition: grids.h:318
#define V3_MINUS_V3(a, b, c)
Definition: matrix1d.h:202
Matrix1D< double > origin
Origin of the grid in the Universal coordinate system.
Definition: grids.h:165
double psi(const double x)
void Uproject_to_plane(const Matrix1D< double > &point, const Matrix1D< double > &direction, double distance, Matrix1D< double > &result)
Definition: geometry.cpp:39

◆ Gdir_project_to_plane() [2/2]

void SimpleGrid::Gdir_project_to_plane ( const Matrix1D< double > &  gr,
const Matrix2D< double > &  euler,
Matrix1D< double > &  result 
) const
inline

Project a grid direction onto a plane (Euler angles). This function does the same as the preceding one, but it accepts an Euler matrix, this might help you to save time when making the projection of a whole volume. See Uproject_to_plane for more information about the projecting process.

Definition at line 446 of file grids.h.

448  {
449  grid2universe(gr, result);
450  V3_MINUS_V3(result, result, origin);
451  Uproject_to_plane(result, euler, result);
452  }
void grid2universe(const Matrix1D< double > &gv, Matrix1D< double > &uv) const
Definition: grids.h:318
#define V3_MINUS_V3(a, b, c)
Definition: matrix1d.h:202
Matrix1D< double > origin
Origin of the grid in the Universal coordinate system.
Definition: grids.h:165
void Uproject_to_plane(const Matrix1D< double > &point, const Matrix1D< double > &direction, double distance, Matrix1D< double > &result)
Definition: geometry.cpp:39

◆ get_interest_radius()

double SimpleGrid::get_interest_radius ( ) const
inline

Get reconstruction radius.

Definition at line 268 of file grids.h.

269  {
270  if (R2 == -1)
271  return R2;
272  else
273  return sqrt(R2);
274  }
void sqrt(Image< double > &op)
double R2
Definition: grids.h:170

◆ get_number_of_samples()

int SimpleGrid::get_number_of_samples ( ) const

Get number of samples. This function returns the number of samples within the grid. If the grid has a radius of interest, then only those samples within that radius are accounted.

Definition at line 69 of file grids.cpp.

70 {
71  if (R2 == -1)
72  {
73  int Zdim;
74  int Ydim;
75  int Xdim;
76  getSize(Zdim, Ydim, Xdim);
77  return Zdim*Ydim*Xdim;
78  }
79  else
80  {
81  auto ZZ_lowest = (int) ZZ(lowest);
82  auto YY_lowest = (int) YY(lowest);
83  auto XX_lowest = (int) XX(lowest);
84  auto ZZ_highest = (int) ZZ(highest);
85  auto YY_highest = (int) YY(highest);
86  auto XX_highest = (int) XX(highest);
87  Matrix1D<double> grid_index(3);
88  Matrix1D<double> univ_position(3);
89  int N = 0;
90  for (int k = ZZ_lowest; k <= ZZ_highest; k++)
91  for (int i = YY_lowest; i <= YY_highest; i++)
92  for (int j = XX_lowest; j <= XX_highest; j++)
93  {
94  VECTOR_R3(grid_index, j, i, k);
95  grid2universe(grid_index, univ_position);
96  if (is_interesting(univ_position)) N++;
97  }
98  return N;
99  }
100 }
Matrix1D< double > highest
Definition: grids.h:161
void grid2universe(const Matrix1D< double > &gv, Matrix1D< double > &uv) const
Definition: grids.h:318
bool is_interesting(const Matrix1D< double > &uv) const
Definition: grids.h:361
Matrix1D< double > lowest
Definition: grids.h:158
#define i
ql0001_ & k(htemp+1),(cvec+1),(atemp+1),(bj+1),(bl+1),(bu+1),(x+1),(clamda+1), &iout, infoqp, &zero,(w+1), &lenw,(iw+1), &leniw, &glob_grd.epsmac
double R2
Definition: grids.h:170
#define XX(v)
Definition: matrix1d.h:85
#define j
#define YY(v)
Definition: matrix1d.h:93
#define VECTOR_R3(v, x, y, z)
Definition: matrix1d.h:124
#define ZZ(v)
Definition: matrix1d.h:101
void getSize(int &Zdim, int &Ydim, int &Xdim) const
Definition: grids.h:245

◆ get_relative_size()

double SimpleGrid::get_relative_size ( ) const
inline

Get relative_size.

Definition at line 283 of file grids.h.

284  {
285  return relative_size;
286  }
double relative_size
Measuring unit in the grid coordinate system.
Definition: grids.h:163

◆ get_X()

void SimpleGrid::get_X ( Matrix1D< double > &  v) const
inline

Get X vector of the grid. \Ex: Matrix1D<double> X; sg.get_X(X) << std::endl;

Definition at line 212 of file grids.h.

213  {
214  basis.getCol(0, v);
215  }
Matrix2D< double > basis
Definition: grids.h:148
void getCol(size_t j, Matrix1D< T > &v) const
Definition: matrix2d.cpp:890

◆ get_Y()

void SimpleGrid::get_Y ( Matrix1D< double > &  v) const
inline

Get Y vector of the grid. \Ex: Matrix1D<double> Y; sg.get_Y(Y) << std::endl;

Definition at line 219 of file grids.h.

220  {
221  basis.getCol(1, v);
222  }
Matrix2D< double > basis
Definition: grids.h:148
void getCol(size_t j, Matrix1D< T > &v) const
Definition: matrix2d.cpp:890

◆ get_Z()

void SimpleGrid::get_Z ( Matrix1D< double > &  v) const
inline

Get Z vector of the grid. \Ex: Matrix1D<double> Z; sg.get_Z(Z) << std::endl;

Definition at line 226 of file grids.h.

227  {
228  basis.getCol(2, v);
229  }
Matrix2D< double > basis
Definition: grids.h:148
void getCol(size_t j, Matrix1D< T > &v) const
Definition: matrix2d.cpp:890

◆ getSize()

void SimpleGrid::getSize ( int &  Zdim,
int &  Ydim,
int &  Xdim 
) const
inline

Get grid number of samples in each direction. This function returns the number of samples on each direction, this number of samples can be used to resize a volume which might hold a grid like this one. The number of samples is computed as highest-lowest+1. \ Ex: Build a volume able to hold this grid

grid.getSize(Zdim,Ydim,Xdim);
vol().resize(Zdim,Ydim,Xdim);
STARTINGX(Vol_aux())=(int) XX(grid.lowest);
STARTINGY(Vol_aux())=(int) YY(grid.lowest);
STARTINGZ(Vol_aux())=(int) ZZ(grid.lowest);

Definition at line 245 of file grids.h.

246  {
247  Zdim = (int)(ZZ(highest) - ZZ(lowest)) + 1;
248  Ydim = (int)(YY(highest) - YY(lowest)) + 1;
249  Xdim = (int)(XX(highest) - XX(lowest)) + 1;
250  }
Matrix1D< double > highest
Definition: grids.h:161
Matrix1D< double > lowest
Definition: grids.h:158
#define XX(v)
Definition: matrix1d.h:85
#define YY(v)
Definition: matrix1d.h:93
#define ZZ(v)
Definition: matrix1d.h:101

◆ Gproject_to_plane() [1/2]

void SimpleGrid::Gproject_to_plane ( const Matrix1D< double > &  gr,
double  rot,
double  tilt,
double  psi,
Matrix1D< double > &  result 
) const
inline

Project a grid vector onto a plane (Euler angles). This function projects a vector defined in the Grid coordinate system onto a plane defined by its three Euler angles (measured with respect to the universal coordinate system). This plane is restricted to pass through the Universe origin. This function is used to produce the projection of a volume according to a certain direction (the 3 Euler angles in the universal system). Notice that this function only tells you where a given point in the volume is projecting, but it doesn't tell you the value. See Uproject_to_plane for more information. \ Ex: Matrix1D<double> up=sg.Gproject_to_plane(vectorR3(1,0,0),45,45,60);

Definition at line 381 of file grids.h.

383  {
384  grid2universe(gr, result);
385  Uproject_to_plane(result, rot, tilt, psi, result);
386  }
void grid2universe(const Matrix1D< double > &gv, Matrix1D< double > &uv) const
Definition: grids.h:318
double psi(const double x)
void Uproject_to_plane(const Matrix1D< double > &point, const Matrix1D< double > &direction, double distance, Matrix1D< double > &result)
Definition: geometry.cpp:39

◆ Gproject_to_plane() [2/2]

void SimpleGrid::Gproject_to_plane ( const Matrix1D< double > &  gr,
const Matrix2D< double > &  euler,
Matrix1D< double > &  result 
) const
inline

Project a grid vector onto a plane (Euler matrix). This function does the same as the preceding one, but it accepts an Euler matrix, this might help you to save time when making the projection of a whole volume. See Uproject_to_plane for more information. \ Ex:

Matrix2D<double> euler; Euler_angles2matrix(45,45,60,euler);
Matrix1D<double> up=sg.Gproject_to_plane(vectorR3(1,0,0),euler);

Definition at line 399 of file grids.h.

401  {
402  grid2universe(gr, result);
403  Uproject_to_plane(result, euler, result);
404  }
void grid2universe(const Matrix1D< double > &gv, Matrix1D< double > &uv) const
Definition: grids.h:318
void Uproject_to_plane(const Matrix1D< double > &point, const Matrix1D< double > &direction, double distance, Matrix1D< double > &result)
Definition: geometry.cpp:39

◆ grid2universe()

void SimpleGrid::grid2universe ( const Matrix1D< double > &  gv,
Matrix1D< double > &  uv 
) const
inline

Grid –> Universe. This function transforms a vector in the grid coordinate system to the universal one. For example the sample at grid coordinate (-1,2,1) is translated to its position in the universe. Notice that usually this operation is performed with "integer" grid vectors giving "float" universal vectors. The operation performed exactly is

or what is the same:

return origin+(XX(gv)*X+YY(gv)*Y+ZZ(gv)*Z)*relative_size;

\Ex: Matrix1D<double> uv; sg.grid2universe(vectorR3(-1,2,1),uv);

Definition at line 318 of file grids.h.

319  {
321  uv.resize(3);
322  M3x3_BY_V3x1(uv, basis, gv);
323  V3_BY_CT(uv, uv, relative_size);
324  V3_PLUS_V3(uv, uv, origin);
325  }
Matrix2D< double > basis
Definition: grids.h:148
#define V3_BY_CT(a, b, c)
Definition: matrix1d.h:238
void resize(size_t Xdim, bool copy=true)
Definition: matrix1d.h:410
double relative_size
Measuring unit in the grid coordinate system.
Definition: grids.h:163
#define M3x3_BY_V3x1(a, M, b)
Definition: matrix2d.h:170
Matrix1D< double > origin
Origin of the grid in the Universal coordinate system.
Definition: grids.h:165
#define V3_PLUS_V3(a, b, c)
Definition: matrix1d.h:190
#define SPEED_UP_temps012
Definition: xmipp_macros.h:403

◆ is_interesting()

bool SimpleGrid::is_interesting ( const Matrix1D< double > &  uv) const
inline

TRUE if the selected universe coordinate is interesting. A point is interesting if it is inside the reconstruction radius. In case that this radius is -1, then all points are interesting.

Definition at line 361 of file grids.h.

362  {
363  if (R2 == -1)
364  return true;
365  else
366  return XX(uv)*XX(uv) + YY(uv)*YY(uv) + ZZ(uv)*ZZ(uv) < R2;
367  }
double R2
Definition: grids.h:170
#define XX(v)
Definition: matrix1d.h:85
#define YY(v)
Definition: matrix1d.h:93
#define ZZ(v)
Definition: matrix1d.h:101

◆ prepare_grid()

void SimpleGrid::prepare_grid ( )

Prepare grid for work. This function MUST BE CALLED before working with a simple grid which is not the default one. What it actually does is to check that the grid vectors form a true 3D coordinate system (if not it throws an exception), and if it is calculate the pass matrices from the grid to the universal system (called basis) and viceversa (called inv_basis). \ Ex:

sg.set_Z(vectorR3(1,1,1)); --> Change grid vectors
sg.prepare_grid(); --> Now the grid is ready to work

Definition at line 103 of file grids.cpp.

104 {
105  // Compute matrix for inverse basis conversion
106  try
107  {
108  inv_basis = basis.inv();
109  }
110  catch (XmippError &error)
111  {
112  REPORT_ERROR(ERR_UNCLASSIFIED, "The grid vectors are not a true 3D coordinate system");
113  }
114  lowest.setCol();
115  highest.setCol();
116  origin.setCol();
117 }
Just to locate unclassified errors.
Definition: xmipp_error.h:192
Matrix1D< double > highest
Definition: grids.h:161
#define REPORT_ERROR(nerr, ErrormMsg)
Definition: xmipp_error.h:211
void inv(Matrix2D< T > &result) const
Definition: matrix2d.cpp:663
Matrix1D< double > lowest
Definition: grids.h:158
Matrix2D< double > basis
Definition: grids.h:148
void setCol()
Definition: matrix1d.h:554
Matrix2D< double > inv_basis
Definition: grids.h:153
Matrix1D< double > origin
Origin of the grid in the Universal coordinate system.
Definition: grids.h:165

◆ set_interest_radius()

void SimpleGrid::set_interest_radius ( double  _R)
inline

Set reconstruction radius.

Definition at line 259 of file grids.h.

260  {
261  if (_R == -1)
262  R2 = -1;
263  else
264  R2 = _R * _R;
265  }
double R2
Definition: grids.h:170

◆ set_relative_size()

void SimpleGrid::set_relative_size ( double  size)
inline

Set relative_size.

Definition at line 277 of file grids.h.

278  {
279  relative_size = size;
280  }
double relative_size
Measuring unit in the grid coordinate system.
Definition: grids.h:163

◆ set_X()

void SimpleGrid::set_X ( const Matrix1D< double > &  v)
inline

Set X vector of the grid. \Ex: Matrix1D<double> X=vectorR3(1,0,0); sg.set_X(X);

Definition at line 191 of file grids.h.

192  {
193  basis.setCol(0, v);
194  }
Matrix2D< double > basis
Definition: grids.h:148
void setCol(size_t j, const Matrix1D< T > &v)
Definition: matrix2d.cpp:929

◆ set_Y()

void SimpleGrid::set_Y ( const Matrix1D< double > &  v)
inline

Set Y vector of the grid. \Ex: Matrix1D<double> Y=vectorR3(0,1,0); sg.set_Y(Y);

Definition at line 198 of file grids.h.

199  {
200  basis.setCol(1, v);
201  }
Matrix2D< double > basis
Definition: grids.h:148
void setCol(size_t j, const Matrix1D< T > &v)
Definition: matrix2d.cpp:929

◆ set_Z()

void SimpleGrid::set_Z ( const Matrix1D< double > &  v)
inline

Set Z vector of the grid. \Ex: Matrix1D<double> Z=vectorR3(1,1,1); sg.set_Z(Z);

Definition at line 205 of file grids.h.

206  {
207  basis.setCol(2, v);
208  }
Matrix2D< double > basis
Definition: grids.h:148
void setCol(size_t j, const Matrix1D< T > &v)
Definition: matrix2d.cpp:929

◆ universe2grid()

void SimpleGrid::universe2grid ( const Matrix1D< double > &  uv,
Matrix1D< double > &  gv 
) const
inline

Universe –> Grid. This function transforms a vector in the universal coordinate system to the one of the grid. Ie, it gives the position in the grid system of a point in the universe. Notice that this time the position in the grid needs not to be "integer".

The operation performed is

where inv_basis is an internal matrix which contains information about the X, Y and Z vectors. In fact is the inverse of the matrix formed by X, Y and Z. See grid2universe .

Next example should give (0,0,0) as result. \Ex:

sg.origin=vectorR3(10,10,10);
std::cout << "What is the position within the grid of the origin? "
<< sg.universe2grid(sg.origin);

Definition at line 349 of file grids.h.

350  {
352  gv.resize(3);
353  V3_MINUS_V3(gv, uv, origin);
354  V3_BY_CT(gv, gv, 1 / relative_size);
355  M3x3_BY_V3x1(gv, inv_basis, gv);
356  }
#define V3_MINUS_V3(a, b, c)
Definition: matrix1d.h:202
#define V3_BY_CT(a, b, c)
Definition: matrix1d.h:238
Matrix2D< double > inv_basis
Definition: grids.h:153
void resize(size_t Xdim, bool copy=true)
Definition: matrix1d.h:410
double relative_size
Measuring unit in the grid coordinate system.
Definition: grids.h:163
#define M3x3_BY_V3x1(a, M, b)
Definition: matrix2d.h:170
Matrix1D< double > origin
Origin of the grid in the Universal coordinate system.
Definition: grids.h:165
#define SPEED_UP_temps012
Definition: xmipp_macros.h:403

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  o,
const SimpleGrid grid 
)
friend

Show a Simple grid. Shows all information about the simple grid. \Ex: std::cout << sg;

Definition at line 47 of file grids.cpp.

48 {
49  o << " Simple Grid -----" << std::endl;
50  Matrix1D<double> aux;
51  (grid.basis).getCol(0,aux); o << " Vector 1: " << aux.transpose() << std::endl;
52  (grid.basis).getCol(1,aux); o << " Vector 2: " << aux.transpose() << std::endl;
53  (grid.basis).getCol(2,aux); o << " Vector 3: " << aux.transpose() << std::endl;
54  o << " Relative size: " << grid.relative_size << std::endl;
55  o << " Interest radius: " << grid.R2 << std::endl;
56  o << " Origin (univ.coords) " << grid.origin.transpose() << std::endl;
57  o << " Highest (grid. coord) " << grid.highest.transpose() << std::endl;
58  o << " Lowest (grid. coord) " << grid.lowest.transpose() << std::endl;
59  return o;
60 }
Matrix1D< double > highest
Definition: grids.h:161
Matrix1D< double > lowest
Definition: grids.h:158
Matrix2D< double > basis
Definition: grids.h:148
Matrix1D< T > transpose() const
Definition: matrix1d.cpp:644
double R2
Definition: grids.h:170
double relative_size
Measuring unit in the grid coordinate system.
Definition: grids.h:163
Matrix1D< double > origin
Origin of the grid in the Universal coordinate system.
Definition: grids.h:165

Member Data Documentation

◆ basis

Matrix2D<double> SimpleGrid::basis

Definition at line 148 of file grids.h.

◆ highest

Matrix1D<double> SimpleGrid::highest

Highest index inside the grid coordinate system. Although it is a float vector, it should be kept integer all time

Definition at line 161 of file grids.h.

◆ inv_basis

Matrix2D<double> SimpleGrid::inv_basis

Definition at line 153 of file grids.h.

◆ lowest

Matrix1D<double> SimpleGrid::lowest

Lowest index inside the grid coordinate system. Although it is a float vector, it should be kept integer all time

Definition at line 158 of file grids.h.

◆ origin

Matrix1D<double> SimpleGrid::origin

Origin of the grid in the Universal coordinate system.

Definition at line 165 of file grids.h.

◆ R2

double SimpleGrid::R2

Reconstructed sphere squared radius. The reconstruction is supposed to fit within this sphere centered at the origin. If this radius is -1, then this feature is not used and the reconstruction is done all over the cube.

Definition at line 170 of file grids.h.

◆ relative_size

double SimpleGrid::relative_size

Measuring unit in the grid coordinate system.

Definition at line 163 of file grids.h.


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