Xmipp  v3.23.11-Nereus
Public Member Functions | Public Attributes | List of all members

#include <mpi_angular_accuracy_pca.h>

Inheritance diagram for MpiProgAngularAccuracyPCA:
Inheritance graph
[legend]
Collaboration diagram for MpiProgAngularAccuracyPCA:
Collaboration graph
[legend]

Public Member Functions

 MpiProgAngularAccuracyPCA ()
 
 ~MpiProgAngularAccuracyPCA ()
 
 MpiProgAngularAccuracyPCA (const MpiProgAngularAccuracyPCA &)=delete
 
 MpiProgAngularAccuracyPCA (const MpiProgAngularAccuracyPCA &&)=delete
 
MpiProgAngularAccuracyPCAoperator= (const MpiProgAngularAccuracyPCA &)=delete
 
MpiProgAngularAccuracyPCAoperator= (const MpiProgAngularAccuracyPCA &&)=delete
 
void read (int argc, char **argv)
 
void synchronize ()
 Synchronize with other processors. More...
 
void gatherResults ()
 Gather alignment. More...
 
- Public Member Functions inherited from ProgAngularAccuracyPCA
void readParams ()
 
void defineParams ()
 
void run ()
 
void obtainPCAs (MetaData &SF, size_t numPCAs)
 
 ProgAngularAccuracyPCA ()
 
- Public Member Functions inherited from XmippProgram
const char * getParam (const char *param, int arg=0)
 
const char * getParam (const char *param, const char *subparam, int arg=0)
 
int getIntParam (const char *param, int arg=0)
 
int getIntParam (const char *param, const char *subparam, int arg=0)
 
double getDoubleParam (const char *param, int arg=0)
 
double getDoubleParam (const char *param, const char *subparam, int arg=0)
 
float getFloatParam (const char *param, int arg=0)
 
float getFloatParam (const char *param, const char *subparam, int arg=0)
 
void getListParam (const char *param, StringVector &list)
 
int getCountParam (const char *param)
 
bool checkParam (const char *param)
 
bool existsParam (const char *param)
 
void addParamsLine (const String &line)
 
void addParamsLine (const char *line)
 
ParamDefgetParamDef (const char *param) const
 
virtual void quit (int exit_code=0) const
 
virtual int tryRun ()
 
void initProgress (size_t total, size_t stepBin=60)
 
void setProgress (size_t value=0)
 
void endProgress ()
 
void processDefaultComment (const char *param, const char *left)
 
void setDefaultComment (const char *param, const char *comment)
 
virtual void initComments ()
 
void setProgramName (const char *name)
 
void addUsageLine (const char *line, bool verbatim=false)
 
void clearUsage ()
 
void addExampleLine (const char *example, bool verbatim=true)
 
void addSeeAlsoLine (const char *seeAlso)
 
void addKeywords (const char *keywords)
 
const char * name () const
 
virtual void usage (int verb=0) const
 
virtual void usage (const String &param, int verb=2)
 
int version () const
 
virtual void show () const
 
virtual void read (int argc, const char **argv, bool reportErrors=true)
 
virtual void read (int argc, char **argv, bool reportErrors=true)
 
void read (const String &argumentsLine)
 
 XmippProgram ()
 
 XmippProgram (int argc, const char **argv)
 
virtual ~XmippProgram ()
 

Public Attributes

MpiNodenode =nullptr
 
- Public Attributes inherited from ProgAngularAccuracyPCA
FileName fnPhantom
 
FileName fnNeighbours
 
FileName fnOut
 
FileName fnOutQ
 
Image< double > phantomVol
 
MetaDataDb mdPartial
 
size_t rank
 
size_t Nprocessors
 
PCAMahalanobisAnalyzer pca
 
int newXdim
 
int newYdim
 
- Public Attributes inherited from XmippProgram
bool doRun
 
bool runWithoutArgs
 
int verbose
 Verbosity level. More...
 
int debug
 

Additional Inherited Members

- Protected Member Functions inherited from XmippProgram
void defineCommons ()
 
- Protected Attributes inherited from XmippProgram
int errorCode
 
ProgramDefprogDef
 Program definition and arguments parser. More...
 
std::map< String, CommentListdefaultComments
 
int argc
 Original command line arguments. More...
 
const char ** argv
 

Detailed Description

Definition at line 36 of file mpi_angular_accuracy_pca.h.

Constructor & Destructor Documentation

◆ MpiProgAngularAccuracyPCA() [1/3]

MpiProgAngularAccuracyPCA::MpiProgAngularAccuracyPCA ( )
inline

Definition at line 42 of file mpi_angular_accuracy_pca.h.

42 {}

◆ ~MpiProgAngularAccuracyPCA()

MpiProgAngularAccuracyPCA::~MpiProgAngularAccuracyPCA ( )

Definition at line 28 of file mpi_angular_accuracy_pca.cpp.

29 {
30  delete node;
31 }

◆ MpiProgAngularAccuracyPCA() [2/3]

MpiProgAngularAccuracyPCA::MpiProgAngularAccuracyPCA ( const MpiProgAngularAccuracyPCA )
delete

◆ MpiProgAngularAccuracyPCA() [3/3]

MpiProgAngularAccuracyPCA::MpiProgAngularAccuracyPCA ( const MpiProgAngularAccuracyPCA &&  )
delete

Member Function Documentation

◆ gatherResults()

void MpiProgAngularAccuracyPCA::gatherResults ( )
virtual

Gather alignment.

Reimplemented from ProgAngularAccuracyPCA.

Definition at line 46 of file mpi_angular_accuracy_pca.cpp.

47 {
48  if (rank!=0)
49  {
50  FileName fnPartial=formatString("%s/partial_node%03d.xmd",fnOut.getDir().c_str(),(int)rank);
51  if (mdPartial.size()>0)
52  mdPartial.write(fnPartial);
53  }
54 
55  synchronize();
56 
57  // Now the master takes all of them
58  if (rank==0)
59  {
60  MetaDataDb MDAux;
61  for (size_t otherRank=1; otherRank<Nprocessors; ++otherRank)
62  {
63  FileName fnP = formatString("%s/partial_node%03d.xmd",fnOut.getDir().c_str(),(int)otherRank);
64 
65  if (fnP.exists())
66  {
67  MDAux.read(fnP);
68  mdPartial.unionAll(MDAux);
69  deleteFile(fnP);
70  }
71  }
72  }
73 
74  synchronize();
75 
76 }
void synchronize()
Synchronize with other processors.
void deleteFile(const char *line)
Definition: tools.cpp:280
void write(const FileName &outFile, WriteModeMetaData mode=MD_OVERWRITE) const override
bool exists() const
size_t size() const override
String formatString(const char *format,...)
void read(const FileName &inFile, const std::vector< MDLabel > *desiredLabels=NULL, bool decomposeStack=true) override
FileName getDir() const
void unionAll(const MetaDataDb &mdIn)

◆ operator=() [1/2]

MpiProgAngularAccuracyPCA& MpiProgAngularAccuracyPCA::operator= ( const MpiProgAngularAccuracyPCA )
delete

◆ operator=() [2/2]

MpiProgAngularAccuracyPCA& MpiProgAngularAccuracyPCA::operator= ( const MpiProgAngularAccuracyPCA &&  )
delete

◆ read()

void MpiProgAngularAccuracyPCA::read ( int  argc,
char **  argv 
)

Definition at line 33 of file mpi_angular_accuracy_pca.cpp.

34 {
35  node = new MpiNode(argc, argv);
36  rank = node->rank;
38  ProgAngularAccuracyPCA::read(argc, (const char **)argv);
39 }
size_t size
Definition: xmipp_mpi.h:52
virtual void read(int argc, const char **argv, bool reportErrors=true)
int argc
Original command line arguments.
Definition: xmipp_program.h:86
const char ** argv
Definition: xmipp_program.h:87
size_t rank
Definition: xmipp_mpi.h:52

◆ synchronize()

void MpiProgAngularAccuracyPCA::synchronize ( )
virtual

Synchronize with other processors.

Reimplemented from ProgAngularAccuracyPCA.

Definition at line 41 of file mpi_angular_accuracy_pca.cpp.

42 {
43  node->barrierWait();
44 }
void barrierWait()
Definition: xmipp_mpi.cpp:171

Member Data Documentation

◆ node

MpiNode* MpiProgAngularAccuracyPCA::node =nullptr

Definition at line 39 of file mpi_angular_accuracy_pca.h.


The documentation for this class was generated from the following files: