Xmipp  v3.23.11-Nereus
tomo_extract_subvolume.h
Go to the documentation of this file.
1 /***************************************************************************
2  *
3  * Authors: Sjors Scheres scheres@cnb.csic.es (2010)
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 _TOMO_EXTRACT_SUBVOLUME_H
27 #define _TOMO_EXTRACT_SUBVOLUME_H
28 
29 #include <core/xmipp_fftw.h>
30 #include <core/xmipp_fft.h>
31 #include <core/args.h>
32 #include <core/xmipp_funcs.h>
33 #include <core/metadata_vec.h>
34 #include <core/xmipp_image.h>
35 #include <core/geometry.h>
36 #include <data/filters.h>
37 #include <data/mask.h>
38 #include <data/ctf.h>
39 #include <data/sampling.h>
40 #include <core/symmetries.h>
41 #include "symmetrize.h"
42 #include <pthread.h>
43 #include <vector>
44 
50 {
51 public:
54 
56  int size;
57 
60 
62  std::vector<Matrix1D<double> > centers_subvolumes;
63  std::vector<Matrix2D<double> > rotations_subvolumes;
64 
67 
70 
71  // Metadata with input volumes names and their alignment parameters
72  //MetaData DF;
73 
74  // Docfile with output subvolumes names and their alignment parameters
75  // This file can be fed directly to ml_tomo again...
77 
78  // Selfile with output subvolumes
79  //MetaData SFout;
80 
82  double mindist;
83 
84  // Symmetry setup
87 
88  //Some local variables
92  double rot, tilt, psi, rotp, tiltp, psip;
93  int x0, xF;
94 
95 public:
96 
98  void defineParams();
99 
101  void readParams();
102 
104  void show();
105 
106  void processImage(const FileName &fnImg, const FileName &fnImgOut, const MDRow &rowIn, MDRow &rowOut);
107 
108  void postProcess();
109  void preProcess();
110 
111 
112  //void processImage(int imgno_start, int imgno_end);
113 
114 };
116 #endif
void processImage(const FileName &fnImg, const FileName &fnImgOut, const MDRow &rowIn, MDRow &rowOut)
std::vector< Matrix1D< double > > centers_subvolumes
void readParams()
Read arguments from command line.
void defineParams()
Define the arguments accepted.
std::vector< Matrix2D< double > > rotations_subvolumes