Xmipp  v3.23.11-Nereus
mpi_image_rotational_pca.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 _MPI_PROG_IMAGE_ROTATIONAL_PCA
26 #define _MPI_PROG_IMAGE_ROTATIONAL_PCA
27 
28 #include <parallel/xmipp_mpi.h>
29 #include <classification/pca.h>
31 
37 {
38 public:
39  // Mpi node
40  std::shared_ptr<MpiNode> node;
41  // H buffer
42 
44  MpiProgImageRotationalPCA(int argc, char **argv);
45 
47  virtual void selectPartFromMd(MetaData &MDin);
48 
50  virtual void comunicateMatrix(Matrix2D<double> &W);
51 
53  virtual void createMutexes(size_t Nimgs);
54 
56  virtual void allReduceApplyT(Matrix2D<double> &Wnode_0);
57 
59  virtual void comunicateQrDim(int &qrDim);
60 
62  virtual void mapMatrix(int qrDim);
63 
65  virtual void applySVD();
66 
68  virtual void copyHtoF(int block);
69 };
71 #endif
virtual void createMutexes(size_t Nimgs)
std::shared_ptr< MpiNode > node
int argc
Original command line arguments.
Definition: xmipp_program.h:86
virtual void comunicateQrDim(int &qrDim)
const char ** argv
Definition: xmipp_program.h:87
virtual void mapMatrix(int qrDim)
virtual void comunicateMatrix(Matrix2D< double > &W)
virtual void selectPartFromMd(MetaData &MDin)
MpiProgImageRotationalPCA(int argc, char **argv)
Empty constructor.
virtual void allReduceApplyT(Matrix2D< double > &Wnode_0)