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

#include <angular_break_symmetry.h>

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

Public Member Functions

void readParams ()
 Read argument from command line. More...
 
void show ()
 Show. More...
 
void defineParams ()
 Define parameters. More...
 
void produce_side_info ()
 
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

FileName fn_ang
 
FileName fn_sym
 
FileName fn_out
 
MetaDataVec DF
 
SymList SL
 
- 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

Angular Distance parameters.

Definition at line 37 of file angular_break_symmetry.h.

Member Function Documentation

◆ defineParams()

void ProgAngularBreakSymmetry::defineParams ( )
virtual

Define parameters.

Reimplemented from XmippProgram.

Definition at line 50 of file angular_break_symmetry.cpp.

51 {
52  addUsageLine("randomize angle input file ");
53  addParamsLine(" -i <Metadata> : Angular document file");
54  addParamsLine(" -o <Metadata> : Output file");
55  addParamsLine(" --sym <symmetry> : Symmetry file");
56 }
void addUsageLine(const char *line, bool verbatim=false)
void addParamsLine(const String &line)

◆ produce_side_info()

void ProgAngularBreakSymmetry::produce_side_info ( )

Produce side info. Read all document files and symmetry list if any. An exception is thrown if both files are not of the same length.

Definition at line 59 of file angular_break_symmetry.cpp.

60 {
62  DF.read(fn_ang);
63 }
void read(const FileName &inFile, const std::vector< MDLabel > *desiredLabels=nullptr, bool decomposeStack=true) override
int readSymmetryFile(FileName fn_sym, double accuracy=SYM_ACCURACY)
Definition: symmetries.cpp:33

◆ readParams()

void ProgAngularBreakSymmetry::readParams ( )
virtual

Read argument from command line.

Reimplemented from XmippProgram.

Definition at line 32 of file angular_break_symmetry.cpp.

33 {
34  fn_ang = getParam("-i");
35  fn_out = getParam("-o");
36  fn_sym = getParam("--sym");
37 }
const char * getParam(const char *param, int arg=0)

◆ run()

void ProgAngularBreakSymmetry::run ( )
virtual

Run

Reimplemented from XmippProgram.

Definition at line 67 of file angular_break_symmetry.cpp.

68 {
70 
71  for (size_t objId : DF.ids())
72  {
73  // Read input data
74  double rot, tilt, psi;
75 
76  DF.getValue(MDL_ANGLE_ROT, rot, objId);
77  DF.getValue(MDL_ANGLE_TILT, tilt, objId);
78  DF.getValue(MDL_ANGLE_PSI, psi, objId);
79 
80 
81  // Apply random rotation within symmetry matrices
82  SL.breakSymmetry(rot, tilt, psi,
83  rot, tilt, psi);
84 
85  // Bring both angles to a normalized set
86  //rot2 = realWRAP(rot2, -180, 180);
87  //tilt2 = realWRAP(tilt2, -180, 180);
88  //psi2 = realWRAP(psi2, -180, 180);
89 
90  DF.setValue(MDL_ANGLE_ROT, rot, objId);
91  DF.setValue(MDL_ANGLE_TILT,tilt, objId);
92  DF.setValue(MDL_ANGLE_PSI, psi, objId);
93  }
94 
95  DF.write(fn_out);
96 }
Rotation angle of an image (double,degrees)
Tilting angle of an image (double,degrees)
Special label to be used when gathering MDs in MpiMetadataPrograms.
void write(const FileName &outFile, WriteModeMetaData mode=MD_OVERWRITE) const
virtual IdIteratorProxy< false > ids()
bool setValue(const MDObject &mdValueIn, size_t id)
void breakSymmetry(double rot1, double tilt1, double psi1, double &rot2, double &tilt2, double &psi2)
bool getValue(MDObject &mdValueOut, size_t id) const override
double psi(const double x)

◆ show()

void ProgAngularBreakSymmetry::show ( )

Show.

Definition at line 40 of file angular_break_symmetry.cpp.

41 {
42  std::cout
43  << "Angular metadata File (IN): " << fn_ang << std::endl
44  << "Angular metadata (OUT) : " << fn_out << std::endl
45  << "Symmetry file : " << fn_sym << std::endl
46  ;
47 }

Member Data Documentation

◆ DF

MetaDataVec ProgAngularBreakSymmetry::DF

Definition at line 48 of file angular_break_symmetry.h.

◆ fn_ang

FileName ProgAngularBreakSymmetry::fn_ang

Filename angle metadata

Definition at line 41 of file angular_break_symmetry.h.

◆ fn_out

FileName ProgAngularBreakSymmetry::fn_out

Filename of output file with merging

Definition at line 45 of file angular_break_symmetry.h.

◆ fn_sym

FileName ProgAngularBreakSymmetry::fn_sym

Filename symmetry file

Definition at line 43 of file angular_break_symmetry.h.

◆ SL

SymList ProgAngularBreakSymmetry::SL

Definition at line 50 of file angular_break_symmetry.h.


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