Xmipp  v3.23.11-Nereus
image_assignment_tilt_pair.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Authors: AUTHOR_NAME (jlvilas@cnb.csic.es)
3  *
4  *
5  * Unidad de Bioinformatica of Centro Nacional de Biotecnologia , CSIC
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20  * 02111-1307 USA
21  *
22  * All comments concerning this program package may be sent to the
23  * e-mail address 'xmipp@cnb.csic.es'
24  ***************************************************************************/
25 
26 #ifndef ASSIGNMENT_TILT_PAIR_H_
27 #define ASSIGNMENT_TILT_PAIR_H_
28 
29 #include "core/xmipp_program.h"
30 #include "core/xmipp_filename.h"
31 #include "core/metadata_vec.h"
32 
33 template<typename T>
34 class Matrix1D;
35 template<typename T>
36 class Matrix2D;
37 
42 {
43 
44 
45 public:
48 
50  int mshift;
51 
53  double particle_size;
54 
56  double thr;
57 
59  double tiltest;
60 
62 
63 public:
64 
65  void defineParams();
66 
67  void readParams();
68 
69  void search_affine_transform(float u1x, float u1y, float u2x, float u2y, float u3x, float u3y, float t1x,
70  float t1y, float t2x, float t2y, float t3x, float t3y,
71  const Matrix1D<double> &ux, const Matrix1D<double> &uy, size_t Xdim, size_t Ydim, struct Delaunay_T &delaunay_tilt, int &bestInliers,
72  Matrix2D<double> &A_coarse, Matrix1D<double> &T_coarse, bool contingency, int thrs);
73 
74  void findMaximumMinimum(const float u1, const float u2, const float u3, double &u_max, double &u_min);
75  bool checkwindow(const float t1, const float t2, const float t3,
76  const double u_max, const double u_min);
77  void run();
78 
79 
80 };
82 #endif
void search_affine_transform(float u1x, float u1y, float u2x, float u2y, float u3x, float u3y, float t1x, float t1y, float t2x, float t2y, float t3x, float t3y, const Matrix1D< double > &ux, const Matrix1D< double > &uy, size_t Xdim, size_t Ydim, struct Delaunay_T &delaunay_tilt, int &bestInliers, Matrix2D< double > &A_coarse, Matrix1D< double > &T_coarse, bool contingency, int thrs)
void findMaximumMinimum(const float u1, const float u2, const float u3, double &u_max, double &u_min)
Definition: mask.h:36
Definition: ctf.h:38
bool checkwindow(const float t1, const float t2, const float t3, const double u_max, const double u_min)