Xmipp  v3.23.11-Nereus
Classes | Typedefs | Functions | Variables
image_find_center.cpp File Reference
#include "core/metadata_vec.h"
#include "core/xmipp_program.h"
#include "core/xmipp_image.h"
#include "core/metadata_sql_operations.h"
Include dependency graph for image_find_center.cpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ProgFindCenter2D
 

Typedefs

typedef unsigned char BYTE
 
typedef unsigned short UWORD
 
typedef unsigned long ULONG
 

Functions

void ** imalloc (int row, int col, int format)
 
void imfree (char **image, int row, int col, int format)
 
float conv1x (double y, double x)
 
void ergrot (double xc0, double yc0, float *zzz)
 
void suaviza ()
 
void busca ()
 

Variables

constexpr int INTFMT = 2
 
constexpr int LONGFMT = 3
 
constexpr int FLOATFMT = 4
 
constexpr int FOURIER = 5
 
constexpr int SPIDER = 6
 
constexpr int DEF_IT = 5
 
constexpr int DEF_DEL = 2
 
constexpr int DEF_IN = 2
 
constexpr int ALLOC_SIZE = 65000
 
float coseno [1281]
 
BYTE ** imagen
 
float r1
 
float r2
 
float r3
 
float cxp1
 
float cxp2
 
float cxp3
 
float cxm1
 
float cxm2
 
float cxm3
 
float rh = 1000.
 
float xc0
 
float yc0
 
float del
 
float rbajo
 
float ralto
 
float zzz0
 
int largo
 
int lancho
 
int indmul
 
int in
 
int ni
 
int mu
 
int ncic
 
int ir
 
int m
 
int mu1
 
int mu4
 
int ntot
 
int mt
 
int idz
 
int ncic2
 
int ntot4
 

Typedef Documentation

◆ BYTE

typedef unsigned char BYTE

Definition at line 48 of file image_find_center.cpp.

◆ ULONG

typedef unsigned long ULONG

Definition at line 50 of file image_find_center.cpp.

◆ UWORD

typedef unsigned short UWORD

Definition at line 49 of file image_find_center.cpp.

Function Documentation

◆ busca()

void busca ( )

Definition at line 399 of file image_find_center.cpp.

400 {
401  static float f[22][22];
402  float pi = 3.141592653;
403  short in1, mu5, i, mu3, ind, ind1, indice, iflag, j, ix=0, iy=0, k;
404  float h, th, costh, sinth, fi, anc, xk0, yk0, hpi, x, y, z, xx, yy;
405  float b, g, d1, e1, ext;
406  int count = 0;
407 
408  suaviza();
409  in = XMIPP_MIN(in, 10);
410  mu1 = mu - 1;
411  m = 2 * mu;
412  mu4 = mu * ncic;
413  mt = 2 * m;
414  ntot = mt * ncic;
415  ntot4 = ntot + mu4 + ncic;
416  zzz0 = ntot;
417  ncic2 = 2 * ncic;
418  in1 = in + 1;
419  h = 2. * pi / ntot;
420  idz = 2 - ntot;
421  th = ncic * h;
422  costh = cos(th);
423  sinth = sin(th);
424  b = 2. / (th * th) * (1. + costh * costh - sin(2. * th) / th);
425  g = 4. / (th * th) * (sinth / th - costh);
426  d1 = 2. * th / 45.;
427  e1 = d1 * sinth * 2.;
428  d1 *= sin(2. * th);
429  mu5 = mu4 - 1;
430  for (i = 1; i <= mu5; i++)
431  {
432  fi = i * h;
433  coseno[i] = sin(fi);
434  }
435  coseno[mu4] = 1.;
436  mu3 = 2 * mu4;
437  for (i = 1; i <= mu5; i++)
438  {
439  coseno[mu3-i] = coseno[i];
440  coseno[mu3+i] = -coseno[i];
441  coseno[ntot-i] = -coseno[i];
442  coseno[ntot+i] = coseno[i];
443  }
444  coseno[mu3] = 0.;
445  coseno[mu3+mu4] = -1.;
446  coseno[ntot] = 0.;
447  coseno[ntot+mu4] = 1.;
448  ind = 2 * in + 1;
449  ind1 = ind - 1;
450  indice = 0;
451  iflag = 0;
452 e9:
453  if (indice >= ni)
454  goto e10;
455  if (iflag == 2)
456  goto e22;
457  anc = (int)(3. + in * del);
458  xk0 = xc0;
459  yk0 = yc0;
460  rh = XMIPP_MIN(rh, r2);
461  rh = XMIPP_MIN(rh, xk0 - anc - 1.);
462  rh = XMIPP_MIN(rh, yk0 - anc - 1.);
463  rh = XMIPP_MIN(rh, largo - xk0 - anc);
464  rh = XMIPP_MIN(rh, lancho - yk0 - anc);
465  ir = (int)((rh - r1) / r3 + 1);
466  hpi = h / 2. / pi / ir;
467  cxp1 = 2. * b * e1 * hpi;
468  cxp2 = -2. * g * d1 * hpi;
469  cxp3 = 2. * (g * e1 - b * d1) * hpi;
470  cxm1 = (b * b + e1 * e1) * hpi;
471  cxm2 = (g * g + d1 * d1) * hpi;
472  cxm3 = 2. * (b * g - d1 * e1) * hpi;
473  /* if(iflag == 1) goto 21 */
474  if (iflag == 2)
475  goto e22;
476  x = xc0 - in * del;
477  for (i = 1; i <= ind; i++) /* do 5 */
478  { y = yc0 - in * del;
479  for (j = 1; j <= ind; j++) /*do 4 */
480  { ergrot(x, y, &z);
481  /* printf ("%10.3f%10.3f%10.5f%10.3f%10.3f AA\n", x,y,z,del,rh);*/
482  printf(".");
483  fflush(stdout);
484  z = 100. + indmul * z;
485  f[i][j] = z;
486  y += del;
487  }
488  x += del;
489  }
490  // Introduced by Sjors dd 28.9.2004 to avoid infinite loops
491  count++;
492  if (count > 1000)
493  goto s1;
494 e23:
495  ext = -1000000.;
496  for (i = 1; i <= ind; i++) /* do 7 */
497  for (j = 1; j <= ind; j++) /* do 7 */
498  { if (f[i][j] > ext)
499  {
500  ix = i;
501  iy = j;
502  ext = f[i][j];
503  }
504  }
505  xc0 = xc0 + (ix - in - 1) * del;
506  yc0 = yc0 + (iy - in - 1) * del;
507  if (ix == 1 || ix == ind || iy == 1 || iy == ind)
508  goto e8;
509  del /= in;
510  iflag = 2;
511  indice++;
512  goto e9;
513 e8:
514  iflag = 1;
515  goto e9;
516 e22:
517  f[1][1] = f[ix-1][iy-1];
518  f[ind][1] = f[ix+1][iy-1];
519  f[1][ind] = f[ix-1][iy+1];
520  f[ind][ind] = f[ix+1][iy+1];
521  f[1][in1] = f[ix-1][iy];
522  f[in1][1] = f[ix][iy-1];
523  f[ind][in1] = f[ix+1][iy];
524  f[in1][ind] = f[ix][iy+1];
525  f[in1][in1] = f[ix][iy];
526  x = xc0 - (in - 1) * del;
527  for (i = 2; i < ind1; i++) /* do 11 */
528  { y = yc0 - (in - 1) * del;
529  for (j = 2;j <= ind1; j++) /* do 12 */
530  { if (i == in1 && j == in1)
531  goto e13;
532  ergrot(x, y, &z);
533  /* printf ("%10.3f%10.3f%10.5f%10.3f BB \n", x,y,z,del);*/
534  printf(".");
535  fflush(stdout);
536  z = 100. + indmul * z;
537  f[i][j] = z;
538 e13:
539  y += del;
540  }
541  x += del;
542  }
543  x = xc0 - (in - 1) * del;
544  y = yc0 - (in - 1) * del;
545 
546  for (k = 2; k <= ind1; k++) /* do 16 */
547  { if (k == in1)
548  goto e17;
549  xx = xc0 - in * del;
550  ergrot(xx, y, &z);
551  /* printf ("%10.3f%10.3f%10.5f%10.3f CC \n", xx,y,z,del);*/
552  printf(".");
553  fflush(stdout);
554  z = 100. + indmul * z;
555  f[1][k] = z;
556  yy = yc0 - in * del;
557  ergrot(x, yy, &z);
558  /* printf ("%10.3f%10.3f%10.5f%10.3f DD \n", xx,y,z,del);*/
559  printf(".");
560  fflush(stdout);
561  z = 100. + indmul * z;
562  f[k][1] = z;
563  xx = xc0 + in * del;
564  ergrot(xx, y, &z);
565  /* printf ("%10.3f%10.3f%10.5f%10.3f EE \n", xx,y,z,del);*/
566  printf(".");
567  fflush(stdout);
568  z = 100. + indmul * z;
569  f[ind][k] = z;
570  yy = yc0 + in * del;
571  ergrot(x, yy, &z);
572  /* printf ("%10.3f%10.3f%10.5f%10.3f FF\n", x,yy,z,del);*/
573  printf(".");
574  fflush(stdout);
575  z = 100. + indmul * z;
576  f[k][ind] = z;
577 e17:
578  x += del;
579  y += del;
580  }
581  goto e23;
582 e10:
583  std::cout << "\nOptimal center coordinates: x= " << yc0-1 << " ,y= " << xc0-1 << " " << std::endl;
584  return;
585 s1:
586  yc0=xc0=-1;
587  printf("\nNot-converged\n");
588  return;
589 }
float cxm2
int mu4
doublereal * g
static double * y
float del
void ergrot(double xc0, double yc0, float *zzz)
float cxm3
float xc0
int largo
doublereal * x
#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
doublereal * b
int ntot
float cxm1
float cxp2
float coseno[1281]
int indmul
int in
double * f
int mu1
float rh
double z
int mt
float cxp3
int ni
#define XMIPP_MIN(x, y)
Definition: xmipp_macros.h:181
#define j
int m
void suaviza()
int ncic
float r3
float yc0
int mu
int idz
int ntot4
int lancho
int ncic2
float r2
#define pi
float zzz0
float cxp1
int ir
float r1

◆ conv1x()

float conv1x ( double  y,
double  x 
)

Definition at line 224 of file image_find_center.cpp.

230 { short i, j; /* Row and column */
231  float intfila1, intfila2; /* Partial row interpolations */
232  float escala; /* Scale factor */
233 
234  j = (short int) y; /* Trunc the x, y coordinates to short */
235  i = (short int) x;
236 
237  escala = y - j;
238  /* 1st row interpolation */
239  intfila1 = imagen[i][j] + escala * ((short)imagen[i][j+1] - (short)imagen[i][j]);
240  /* 2nd row interpolation */
241  intfila2 = imagen[i+1][j] + escala * ((short)imagen[i+1][j+1] - (short)imagen [i+1][j]);
242  /* Column interpolation */
243  return intfila1 + (x - i)*(intfila2 - intfila1);
244 }
BYTE ** imagen
static double * y
doublereal * x
#define i
#define j

◆ ergrot()

void ergrot ( double  xc0,
double  yc0,
float *  zzz 
)

Definition at line 246 of file image_find_center.cpp.

247 {
248  //double xc0, yc0;
249  //float *zzz; /* It hides global variable, handle with care */
250 
251  static float a[266], b[257];
252  double za, zb;
253  double xp1, xp2, xp3, xm1, xm2, xm3;
254  double axp1, axp2, axp3, axm1, axm2, axm3;
255  short i7, iz2, iz1, kv, l1, l2, i1, i, j;
256  float r, x, y, zz, ai, bi;
257  float bj, aj, z;
258 
259  r = r1 - r3;
260  axp1 = 0.;
261  axm1 = 0.;
262  axp2 = 0.;
263  axm2 = 0.;
264  axp3 = 0.;
265  axm3 = 0.;
266  for (i7 = 1; i7 <= ir; i7++) /* do 31 */
267  { r += r3;
268  iz2 = ntot - m + mu4;
269  iz1 = iz2 - 1;
270  for (i = 1; i <= mu; i++) /* do 13 */
271  { iz1 += idz;
272  iz2 += idz;
273  za = 0.;
274  zb = 0.;
275  for (kv = 1; kv <= ncic; kv++) /* do 11 */
276  { iz1 += m;
277  x = xc0 + r * coseno[iz1];
278  y = yc0 + r * coseno[iz1-mu4];
279  z = conv1x(y, x);
280  iz1 += m;
281  x = xc0 + r * coseno[iz1];
282  y = yc0 + r * coseno[iz1-mu4];
283  zz = conv1x(y, x);
284  zb += (z - zz);
285  iz2 += m;
286  x = xc0 + r * coseno[iz2];
287  y = yc0 + r * coseno[iz2-mu4];
288  z = conv1x(y, x);
289  iz2 += m;
290  x = xc0 + r * coseno[iz2];
291  y = yc0 + r * coseno[iz2-mu4];
292  zz = conv1x(y, x);
293  za += (z - zz);
294  }
295  b[i] = zb;
296  a[i] = za;
297  }
298  xp1 = a[mu];
299  xp2 = b[mu];
300  xm2 = xp2 * xp2;
301  xp3 = xp1 * xp2 * coseno[mu4-ncic];
302  xm3 = xp3;
303  xp2 = xm2 * coseno[mu4-ncic2];
304  xp1 = xp1 * xp1;
305  xm1 = xp1;
306  for (i = 1; i <= mu1; i++) /* do 14 */
307  { l1 = 4 * i * ncic + mu4;
308  l2 = mu4;
309  ai = a[i];
310  bi = b[i];
311  xp1 += (ai * ai * coseno[l1]);
312  xp2 += (bi * bi * coseno[l1-ncic2]);
313  xp3 += (ai * bi * coseno[l1-ncic]);
314  xm1 += (ai * ai);
315  xm2 += (bi * bi);
316  xm3 += (ai * bi * coseno[mu4+ncic]);
317  i1 = i + 1;
318  ai = a[i];
319  bi = b[i];
320  for (j = i1; j <= mu; j++) /* do 15 */
321  { l1 += ncic2;
322  l2 += ncic2;
323  aj = a[j];
324  bj = b[j];
325  double ajai2=2.0*aj*ai;
326  double bjbi2=2.0*bj*bi;
327  double aibj=ai*bj;
328  double ajbi=aj*bi;
329  xp1 += (ajai2 * coseno[l1]);
330  xm1 += (ajai2 * coseno[l2]);
331  xp2 += (bjbi2 * coseno[l1-ncic2]);
332  xm2 += (bjbi2 * coseno[l2]);
333  xp3 += ((aibj + ajbi) * coseno[l1-ncic]);
334  xm3 += (aibj * coseno[l2-ncic] + ajbi * coseno[l2+ncic]);
335  }
336  }
337  axp1 += xp1 * r;
338  axm1 += xm1 * r;
339  axp2 += xp2 * r;
340  axm2 += xm2 * r;
341  axp3 += xp3 * r;
342  axm3 += xm3 * r;
343  }
344  (*zzz) = axp1 * cxp1 + axp2 * cxp2 + axp3 * cxp3 + axm1 * cxm1 + axm2 * cxm2 + axm3 * cxm3;
345  (*zzz) /= (zzz0 * ir);
346 }
float conv1x(double y, double x)
double * bj
float cxm2
int mu4
static double * y
float cxm3
float xc0
doublereal * x
#define i
doublereal * b
int ntot
float cxm1
float cxp2
float coseno[1281]
int mu1
double z
float cxp3
#define j
int m
int ncic
float r3
float yc0
int mu
int idz
int ncic2
float zzz0
float cxp1
doublereal * a
int ir
float r1

◆ imalloc()

void** imalloc ( int  row,
int  col,
int  format 
)

Definition at line 73 of file image_find_center.cpp.

74 {
75  size_t i, j, k; /* Counters */
76  unsigned element_size; /* Size of element to allocate */
77  unsigned pointer_size; /* Id. of pointers */
78  char **temp; /* Temporal value to work with */
79  unsigned no_blocks; /* No. of ALLOC_SIZE blocks to allocate */
80  long tot_size; /* Total allocation size */
81  unsigned row_alloc; /* No. of rows to alloc at the same time*/
82  unsigned all_size; /* No. of bits to alloc at one time */
83  unsigned rest_size; /* Rest of bytes to alloc */
84  unsigned rest_rows; /* Rest of rows to alloc. */
85  char *aux; /* Aux. pointer */
86 
87 
88  /******************* Assign appropriate value to size flag ******************/
89 
90  if (format == FOURIER)
91  col += 2; /* Special treatment for FFT format (see foutrans.c) */
92 
93  switch (format)
94  {
95  case NATURAL:
96  element_size = sizeof(BYTE);
97  pointer_size = sizeof(BYTE *);
98  break;
99  case INTFMT:
100  element_size = sizeof(UWORD);
101  pointer_size = sizeof(UWORD *);
102  break;
103  case LONGFMT:
104  element_size = sizeof(ULONG);
105  pointer_size = sizeof(ULONG *);
106  break;
107  case FLOATFMT:
108  case FOURIER:
109  element_size = sizeof(float);
110  pointer_size = sizeof(float *);
111  break;
112  default:
113  return NULL;
114  }
115 
116  row_alloc = ALLOC_SIZE / (col * element_size); /* No. of rows to alloc */
117  all_size = row_alloc * col * element_size;
118  tot_size = ((long) element_size) * ((long) row) * ((long) col);
119  no_blocks = tot_size / all_size;
120  rest_size = tot_size - ((long) no_blocks) * ((long) all_size);
121  rest_rows = rest_size / (col * element_size);
122 
123  /********************* Allocate base pointer ********************************/
124 
125  if ((temp = (char **) malloc(row * pointer_size)) == NULL)
126  return NULL; /* Not even this little bit of memory */
127 
128  /*********************** Allocate most blocks *******************************/
129 
130  j = 0;
131  for (i = 0; i < no_blocks; i++)
132  {
133  if ((aux = (char *)malloc((long)all_size)) == NULL)
134  {
135  for (j = 0; j < i; j++)
136  free(temp[j*row_alloc]);
137  free((char *) temp);
138  return NULL;
139  }
140  for (k = 0; k < row_alloc; k++, j++)
141  temp [j] = aux + k * col * element_size;
142  }
143 
144  /*************************** Alloc the last block ***************************/
145 
146  if (rest_size != 0)
147  {
148  if ((aux = (char *)malloc((long)rest_size)) == NULL)
149  {
150  for (j = 0; j < no_blocks; j++)
151  free(temp[j*row_alloc]);
152  free(temp);
153  return NULL;
154  }
155  for (k = 0; k < rest_rows; k++, j++)
156  temp [j] = aux + k * col * element_size;
157  }
158 
159  /************************* return OK pointer value **********************/
160 
161  return (void **)temp;
162 }
constexpr int FOURIER
constexpr int LONGFMT
unsigned char BYTE
#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
constexpr int ALLOC_SIZE
free((char *) ob)
constexpr int INTFMT
#define j
constexpr int FLOATFMT
unsigned short UWORD
unsigned long ULONG

◆ imfree()

void imfree ( char **  image,
int  row,
int  col,
int  format 
)

Definition at line 170 of file image_find_center.cpp.

172 {
173  size_t i; /* Counters */
174  unsigned element_size; /* Size of element to allocate */
175  unsigned no_blocks; /* No. of ALLOC_SIZE blocks to allocate */
176  long tot_size; /* Total allocation size */
177  unsigned row_alloc; /* No. of rows to alloc at the same time*/
178  unsigned all_size; /* No. of bits to alloc at one time */
179 
180  if (image == NULL) /* No allocation at the moment */
181  return;
182 
183  if (format == FOURIER)
184  col += 2; /* Special treatment for FFT format (see foutrans.c) */
185 
186  switch (format)
187  {
188  case NATURAL:
189  element_size = sizeof(BYTE);
190  break;
191  case INTFMT:
192  element_size = sizeof(UWORD);
193  break;
194  case LONGFMT:
195  element_size = sizeof(ULONG);
196  break;
197  case FLOATFMT:
198  case FOURIER:
199  element_size = sizeof(float);
200  break;
201  default:
202  return;
203  }
204 
205  row_alloc = ALLOC_SIZE / (col * element_size); /* No. of rows to free */
206  all_size = row_alloc * col * element_size;
207  tot_size = ((long) element_size) * ((long) row) * ((long) col);
208  no_blocks = tot_size / all_size;
209 
210  /*************************** Free most blocks *******************************/
211 
212  for (i = 0; i < no_blocks; i++)
213  if (image [i*row_alloc] != NULL)
214  free(image [i*row_alloc]);
215 
216  /*************************** Free the last block ****************************/
217 
218  if (image [i*row_alloc] != NULL)
219  free(image [i*row_alloc]);
220 
221  free(image);
222 }
constexpr int FOURIER
constexpr int LONGFMT
unsigned char BYTE
#define i
constexpr int ALLOC_SIZE
free((char *) ob)
constexpr int INTFMT
constexpr int FLOATFMT
unsigned short UWORD
unsigned long ULONG

◆ suaviza()

void suaviza ( )

Definition at line 348 of file image_find_center.cpp.

349 {
350  unsigned char pix;
351  short i, j, k, n;
352  long isuma;
353  float racua, rbcua, dr, r;
354 
355  isuma = 0;
356  n = 0;
357  i = 0;
358  racua = ralto * ralto;
359  rbcua = rbajo * rbajo;
360  dr = 3.141592653 / (ralto - rbajo);
361  for (k = 1; k <= lancho; k++)
362  {
363  if (k % 16 == 0)
364  for (j = 1; j <= largo; j++)
365  {
366  r = (xc0 - k) * (xc0 - k) + (yc0 - j) * (yc0 - j);
367  if (r > racua)
368  {
369  isuma += imagen [k][j];
370  n++;
371  }
372  }
373  }
374  if (n != 0)
375  i = (short int)(((float) isuma) / n + .5);
376  m = i;
377  pix = i;
378  for (k = 1; k <= lancho; k++)
379  {
380  if (k % 16 == 0)
381  for (j = 1; j <= largo; j++)
382  {
383  r = (xc0 - k) * (xc0 - k) + (yc0 - j) * (yc0 - j);
384  if (r < rbcua)
385  continue;
386  if (r > racua)
387  {
388  imagen[k][j] = pix;
389  continue;
390  }
391  r = sqrt(r);
392  r -= rbajo;
393  imagen[k][j] = (unsigned char)((0.5 + 0.5 * cos(dr * r)) * (imagen[k][j] - m) + m);
394  }
395  }
396  printf("\nImage smoothed. Outer mean = %d\n", m);
397 }
BYTE ** imagen
void sqrt(Image< double > &op)
float xc0
int largo
#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
#define j
int m
float ralto
float yc0
int lancho
float rbajo
int * n

Variable Documentation

◆ ALLOC_SIZE

constexpr int ALLOC_SIZE = 65000

Definition at line 47 of file image_find_center.cpp.

◆ coseno

float coseno[1281]

Definition at line 52 of file image_find_center.cpp.

◆ cxm1

float cxm1

Definition at line 54 of file image_find_center.cpp.

◆ cxm2

float cxm2

Definition at line 54 of file image_find_center.cpp.

◆ cxm3

float cxm3

Definition at line 54 of file image_find_center.cpp.

◆ cxp1

float cxp1

Definition at line 54 of file image_find_center.cpp.

◆ cxp2

float cxp2

Definition at line 54 of file image_find_center.cpp.

◆ cxp3

float cxp3

Definition at line 54 of file image_find_center.cpp.

◆ DEF_DEL

constexpr int DEF_DEL = 2

Definition at line 45 of file image_find_center.cpp.

◆ DEF_IN

constexpr int DEF_IN = 2

Definition at line 46 of file image_find_center.cpp.

◆ DEF_IT

constexpr int DEF_IT = 5

Definition at line 44 of file image_find_center.cpp.

◆ del

float del

Definition at line 54 of file image_find_center.cpp.

◆ FLOATFMT

constexpr int FLOATFMT = 4

Definition at line 41 of file image_find_center.cpp.

◆ FOURIER

constexpr int FOURIER = 5

Definition at line 42 of file image_find_center.cpp.

◆ idz

int idz

Definition at line 57 of file image_find_center.cpp.

◆ imagen

BYTE** imagen

Definition at line 53 of file image_find_center.cpp.

◆ in

int in

Definition at line 56 of file image_find_center.cpp.

◆ indmul

int indmul

Definition at line 56 of file image_find_center.cpp.

◆ INTFMT

constexpr int INTFMT = 2

Definition at line 39 of file image_find_center.cpp.

◆ ir

int ir

Definition at line 57 of file image_find_center.cpp.

◆ lancho

int lancho

Definition at line 56 of file image_find_center.cpp.

◆ largo

int largo

Definition at line 56 of file image_find_center.cpp.

◆ LONGFMT

constexpr int LONGFMT = 3

Definition at line 40 of file image_find_center.cpp.

◆ m

if m
Initial value:
{
goto L45

Definition at line 57 of file image_find_center.cpp.

◆ mt

int mt

Definition at line 57 of file image_find_center.cpp.

◆ mu

int mu

Definition at line 56 of file image_find_center.cpp.

◆ mu1

int mu1

Definition at line 57 of file image_find_center.cpp.

◆ mu4

int mu4

Definition at line 57 of file image_find_center.cpp.

◆ ncic

int ncic

Definition at line 56 of file image_find_center.cpp.

◆ ncic2

int ncic2

Definition at line 57 of file image_find_center.cpp.

◆ ni

int ni

Definition at line 56 of file image_find_center.cpp.

◆ ntot

int ntot

Definition at line 57 of file image_find_center.cpp.

◆ ntot4

int ntot4

Definition at line 57 of file image_find_center.cpp.

◆ r1

float r1

Definition at line 54 of file image_find_center.cpp.

◆ r2

float r2

Definition at line 54 of file image_find_center.cpp.

◆ r3

float r3

Definition at line 54 of file image_find_center.cpp.

◆ ralto

float ralto

Definition at line 54 of file image_find_center.cpp.

◆ rbajo

float rbajo

Definition at line 54 of file image_find_center.cpp.

◆ rh

float rh = 1000.

Definition at line 54 of file image_find_center.cpp.

◆ SPIDER

constexpr int SPIDER = 6

Definition at line 43 of file image_find_center.cpp.

◆ xc0

float xc0

Definition at line 54 of file image_find_center.cpp.

◆ yc0

float yc0

Definition at line 54 of file image_find_center.cpp.

◆ zzz0

float zzz0

Definition at line 54 of file image_find_center.cpp.