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

#include <mpi_multireference_aligneability.h>

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

Public Member Functions

 MpiMultireferenceAligneability ()=default
 
 MpiMultireferenceAligneability (const MpiMultireferenceAligneability &)=delete
 
 MpiMultireferenceAligneability (const MpiMultireferenceAligneability &&)=delete
 
 ~MpiMultireferenceAligneability ()
 
MpiMultireferenceAligneabilityoperator= (const MpiMultireferenceAligneability &)=delete
 
MpiMultireferenceAligneabilityoperator= (const MpiMultireferenceAligneability &&)=delete
 
void read (int argc, char **argv)
 
void synchronize ()
 Synchronize with other processors. More...
 
void gatherResults ()
 Gather alignment. More...
 
- Public Member Functions inherited from MultireferenceAligneability
 MultireferenceAligneability ()
 
void readParams ()
 
void defineParams ()
 
void run ()
 
- 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 MultireferenceAligneability
FileName fnDir
 
FileName fnSym
 
FileName fin
 
FileName finRef
 
FileName fnInit
 
FileName fnGallery
 
FileName fnParticles
 
FileName fnParticlesRef
 
bool donNotUseWeights
 
bool check_mirror
 
SymList SL
 
size_t rank
 
size_t Nprocessors
 
MetaDataDb mdPartialParticles
 
- 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

Validation parameters.

Definition at line 37 of file mpi_multireference_aligneability.h.

Constructor & Destructor Documentation

◆ MpiMultireferenceAligneability() [1/3]

MpiMultireferenceAligneability::MpiMultireferenceAligneability ( )
default

◆ MpiMultireferenceAligneability() [2/3]

MpiMultireferenceAligneability::MpiMultireferenceAligneability ( const MpiMultireferenceAligneability )
delete

◆ MpiMultireferenceAligneability() [3/3]

MpiMultireferenceAligneability::MpiMultireferenceAligneability ( const MpiMultireferenceAligneability &&  )
delete

◆ ~MpiMultireferenceAligneability()

MpiMultireferenceAligneability::~MpiMultireferenceAligneability ( )

Definition at line 28 of file mpi_multireference_aligneability.cpp.

29 {
30  delete node;
31 }

Member Function Documentation

◆ gatherResults()

void MpiMultireferenceAligneability::gatherResults ( )
virtual

Gather alignment.

Reimplemented from MultireferenceAligneability.

Definition at line 46 of file mpi_multireference_aligneability.cpp.

47 {
48  // Write all metadatas
49  if (rank!=0)
50  {
51  FileName fnPartial=formatString("%s/partial_node%03d.xmd",fnDir.c_str(),(int)rank);
52  if (mdPartialParticles.size()>0)
53  mdPartialParticles.write(fnPartial);
54  }
55 
56  synchronize();
57 
58  // Now the master takes all of them
59  if (rank==0)
60  {
61  MetaDataDb MDAux;
62  for (size_t otherRank=1; otherRank<Nprocessors; ++otherRank)
63  {
64  FileName fnP = formatString("%s/partial_node%03d.xmd",fnDir.c_str(),(int)otherRank);
65 
66  if (fnP.exists())
67  {
68  MDAux.read(fnP);
70  deleteFile(fnP);
71  }
72  }
73  }
74 
75  synchronize();
76 
77 }
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
void unionAll(const MetaDataDb &mdIn)
void synchronize()
Synchronize with other processors.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ read()

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

Definition at line 33 of file mpi_multireference_aligneability.cpp.

34 {
35  node = new MpiNode(argc, argv);
36  rank = node->rank;
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 MpiMultireferenceAligneability::synchronize ( )
virtual

Synchronize with other processors.

Reimplemented from MultireferenceAligneability.

Definition at line 41 of file mpi_multireference_aligneability.cpp.

Member Data Documentation

◆ node

MpiNode* MpiMultireferenceAligneability::node =nullptr

Definition at line 40 of file mpi_multireference_aligneability.h.


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