Xmipp  v3.23.11-Nereus
angular_distance.h
Go to the documentation of this file.
1 /***************************************************************************
2  *
3  * Authors: Carlos Oscar coss@cnb.csic.es (2002)
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 #ifndef _PROG_ANGULAR_DISTANCE
26 #define _PROG_ANGULAR_DISTANCE
27 
28 #include <core/xmipp_funcs.h>
29 #include <core/metadata_vec.h>
30 #include <core/xmipp_program.h>
31 #include <core/symmetries.h>
32 
38 {
39 public:
55  double minSigma;
57  double minSigmaD;
58  // Identification label
61  int set;
63  int ang;
68 public:
69  // DocFile 1
71  // DocFile 2
73  // Symmetry List
75 public:
77  void readParams();
78 
80  void show();
81 
83  void defineParams();
84 
88  void produce_side_info();
89 
91  void run();
92 
94  void computeWeights();
95 
96  static void euler2quat( double rot, double tilt, double psi,
97  double q[4] );
98  static void quat2Euler( const double q[4],
99  double& rot, double& tilt, double& psi );
100 
101  static void computeAverageAngles(double rot1, double tilt1, double psi1,
102  double rot2, double tilt2, double psi2,
103  double& rot, double& tilt, double& psi );
104 
105  static void computeAverageShifts(double shiftX1, double shiftY1,
106  double shiftX2, double shiftY2,
107  double& shiftX, double& shiftY );
108 
109 };
111 #endif
static void euler2quat(double rot, double tilt, double psi, double q[4])
static void computeAverageAngles(double rot1, double tilt1, double psi1, double rot2, double tilt2, double psi2, double &rot, double &tilt, double &psi)
bool compute_average_angle
Compute angle mean.
void readParams()
Read argument from command line.
static void computeAverageShifts(double shiftX1, double shiftY1, double shiftX2, double shiftY2, double &shiftX, double &shiftY)
static void quat2Euler(const double q[4], double &rot, double &tilt, double &psi)
bool compute_average_shift
Compute shift mean.
void defineParams()
Define parameters.
std::string String
Definition: xmipp_strings.h:34
double psi(const double x)
int ang
The set of angles to be used for output.