Xmipp  v3.23.11-Nereus
recons_misc.h
Go to the documentation of this file.
1 /***************************************************************************
2  *
3  * Authors: Carlos Oscar S. Sorzano (coss@cnb.csic.es)
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 _RECONS_MISC_HH
27 #define _RECONS_MISC_HH
28 
29 #include "data/grids.h"
30 #include "core/multidim_array.h"
31 #include "core/multidim_array.h"
32 
33 class MetaDataVec;
34 class SymList;
35 class BasicARTParameters;
36 class Projection;
37 struct ReconsInfo;
38 
42 void buildReconsInfo(MetaDataVec &selfile,
43  const FileName &fn_ctf, const SymList &SL, ReconsInfo * &IMG_Inf,
44  bool do_not_use_symproj);
45 
60 void sortPerpendicular(int numIMG, ReconsInfo *IMG_Inf,
61  MultidimArray<int> &ordered_list, int N = 2);
62 
65 void noSort(int numIMG, MultidimArray<int> &ordered_list);
66 
69 void sortRandomly(int numIMG, MultidimArray<int> &ordered_list);
70 
73  double &kappa, double &pow_residual_vol, double &pow_residual_imgs);
74 
75 /* ------------------------------------------------------------------------- */
78 {
79 public:
81  t_VAR_status VAR_state;
86 
88  std::vector < MultidimArray<double> > VA;
89 
91  int N;
92 
95  int _Zoutput_volume_size, int _Youtput_volume_size,
96  int _Xoutput_volume_size);
97 
99  void newIteration();
100 
103  void newUpdateVolume(GridVolume *ptr_vol_out, Projection &read_proj);
104 
106  void finishAnalysis();
107 };
108 
109 /* ------------------------------------------------------------------------- */
112 {
113 public:
114  typedef enum {POCS_measuring, POCS_use, POCS_lowering, POCS_N_measure,
116  t_POCS_status POCS_state;
117  double POCS_avg;
118  double POCS_stddev;
119  double POCS_min;
120  double POCS_max;
125  int POCS_i;
128  int POCS_N;
135 
138  int _Zoutput_volume_size, int _Youtput_volume_size,
139  int _Xoutput_volume_size);
140 
142  void newIteration();
143 
145  void newProjection();
146 
148  void apply(GridVolume &vol_basis, int it, int images);
149 };
150 
151 
152 #endif
void sortPerpendicular(int numIMG, ReconsInfo *IMG_Inf, MultidimArray< int > &ordered_list, int N=2)
#define POCS_N_measure
double POCS_avg
Definition: recons_misc.h:117
bool apply_POCS
Definition: recons_misc.h:132
double POCS_max_error
Definition: recons_misc.h:122
double POCS_min
Definition: recons_misc.h:119
double POCS_global_mean_error
Definition: recons_misc.h:123
double POCS_mean_error
Definition: recons_misc.h:121
int POCS_vec_i
Definition: recons_misc.h:126
int Youtput_volume_size
Definition: recons_misc.h:130
void noSort(int numIMG, MultidimArray< int > &ordered_list)
std::vector< MultidimArray< double > > VA
Vector of training vectors.
Definition: recons_misc.h:88
void sortRandomly(int numIMG, MultidimArray< int > &ordered_list)
void buildReconsInfo(MetaDataVec &selfile, const FileName &fn_ctf, const SymList &SL, ReconsInfo *&IMG_Inf, bool do_not_use_symproj)
Definition: recons_misc.cpp:37
void newUpdateVolume(GridVolume *ptr_vol_out, Projection &read_proj)
int Xoutput_volume_size
Definition: recons_misc.h:131
FileName fn_ctf
CTF filename.
Definition: basic_art.h:65
#define POCS_N_use
BasicARTParameters * prm
Definition: recons_misc.h:85
VariabilityClass(BasicARTParameters *_prm, int _Zoutput_volume_size, int _Youtput_volume_size, int _Xoutput_volume_size)
Constructor.
void updateResidualVector(BasicARTParameters &prm, GridVolume &vol_basis, double &kappa, double &pow_residual_vol, double &pow_residual_imgs)
double POCS_max
Definition: recons_misc.h:120
double POCS_stddev
Definition: recons_misc.h:118
int POCS_freq
Definition: recons_misc.h:124
int POCS_used
Definition: recons_misc.h:127
t_VAR_status VAR_state
Definition: recons_misc.h:81
ProgClassifyCL2D * prm
int Zoutput_volume_size
Definition: recons_misc.h:129
int N
Number of updates so far.
Definition: recons_misc.h:91
MultidimArray< double > POCS_errors
Definition: recons_misc.h:133
t_POCS_status POCS_state
Definition: recons_misc.h:116
BasicARTParameters * prm
Definition: recons_misc.h:134