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

#include <classify_evaluate_classes.h>

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

Public Member Functions

void readParams ()
 Read input parameters. More...
 
void defineParams ()
 Define input parameters. More...
 
void show ()
 Show. More...
 
void run ()
 Execute. More...
 
- 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 fnClass
 Name of the classification metadata. More...
 
FileName fnOut
 Name of the output metadata. More...
 
- 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 58 of file classify_evaluate_classes.h.

Member Function Documentation

◆ defineParams()

void ProgEvaluateClass::defineParams ( )
virtual

Define input parameters.

Reimplemented from XmippProgram.

Definition at line 81 of file classify_evaluate_classes.cpp.

82 {
83  addUsageLine("Evaluate the quality of a set of classes");
84  addUsageLine("+The program associates to each class a number of quality measures:");
85  addUsageLine("+");
86  addUsageLine("+FRC_05 is the digital frequency (<0.5) at which the Fourier Ring Correlation drops below 0.5 ");
87  addUsageLine("+(to convert from a digital frequency to one measured in Angstrom invert the digital frequency and multiply by the sampling rate).");
88  addUsageLine("+");
89  addUsageLine("+DPR_05 is the Differential Phase Residual at the frequency of FRC_05");
90  addParamsLine(" -i <infile> : Metadata with the classification (normally the output of CL2D or ML2D)");
91  addParamsLine(" [-o <outfile=\"\">] : Output file");
92  addExampleLine("xmipp_classify_evaluate_classes -i 2D/CL2D/run_001/results_level_00_classes.xmd");
93 }
void addExampleLine(const char *example, bool verbatim=true)
void addUsageLine(const char *line, bool verbatim=false)
void addParamsLine(const String &line)

◆ readParams()

void ProgEvaluateClass::readParams ( )
virtual

Read input parameters.

Reimplemented from XmippProgram.

Definition at line 75 of file classify_evaluate_classes.cpp.

76 {
77  fnClass=getParam("-i");
78  fnOut=getParam("-o");
79 }
const char * getParam(const char *param, int arg=0)
FileName fnClass
Name of the classification metadata.
FileName fnOut
Name of the output metadata.

◆ run()

void ProgEvaluateClass::run ( )
virtual

Execute.

Reimplemented from XmippProgram.

Definition at line 104 of file classify_evaluate_classes.cpp.

105 {
106  MetaDataVec MD((String)"classes@"+fnClass), MDclass;
107  ClassEvaluation eval;
108  if (verbose>0)
109  init_progress_bar(MD.size());
110  int idx=0;
111  for (size_t objId : MD.ids())
112  {
113  int classNo;
114  MD.getValue(MDL_REF,classNo,objId);
115  MDclass.read(formatString("class%06d_images@%s",classNo,fnClass.c_str()));
116  evaluateClass(MDclass,eval);
117  MD.setValue(MDL_CLASSIFICATION_FRC_05,eval.FRC_05,objId);
118  MD.setValue(MDL_CLASSIFICATION_DPR_05,eval.DPR_05,objId);
119  idx++;
120  if (verbose>0)
121  progress_bar(idx);
122  }
123  if (verbose>0)
124  progress_bar(MD.size());
125  if (fnOut=="")
126  fnOut=fnClass;
127  MD.write((String)"classes@"+fnOut,MD_APPEND);
128 }
void init_progress_bar(long total)
void read(const FileName &inFile, const std::vector< MDLabel > *desiredLabels=nullptr, bool decomposeStack=true) override
void progress_bar(long rlen)
void evaluateClass(MetaData &MD, ClassEvaluation &eval)
Digital frequency at which the FRC drops below 0.5 (double)
FileName fnClass
Name of the classification metadata.
int verbose
Verbosity level.
Class to which the image belongs (int)
Class containing evaluators.
std::string String
Definition: xmipp_strings.h:34
FileName fnOut
Name of the output metadata.
String formatString(const char *format,...)
Differential Phase Residual evaluated at FRC=0.5.

◆ show()

void ProgEvaluateClass::show ( )

Show.

Definition at line 95 of file classify_evaluate_classes.cpp.

96 {
97  if (!verbose)
98  return;
99  std::cout
100  << "Input: " << fnClass << std::endl
101  << "Output: " << fnOut << std::endl;
102 }
FileName fnClass
Name of the classification metadata.
int verbose
Verbosity level.
FileName fnOut
Name of the output metadata.

Member Data Documentation

◆ fnClass

FileName ProgEvaluateClass::fnClass

Name of the classification metadata.

Definition at line 62 of file classify_evaluate_classes.h.

◆ fnOut

FileName ProgEvaluateClass::fnOut

Name of the output metadata.

Definition at line 64 of file classify_evaluate_classes.h.


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