Xmipp
v3.23.11-Nereus
|
#include <mpi_ml_align2d.h>
Public Member Functions | |
MpiProgMLF2D () | |
MpiProgMLF2D (MpiNode *node) | |
void | produceSideInfo () |
void | produceSideInfo2 () |
void | writeOutputFiles (const ModelML2D &model, OutputType outputType=OUT_FINAL) |
Write model parameters. More... | |
void | expectation () |
After normal ML2D expectation, data must be collected from nodes. More... | |
void | endIteration () |
Redefine endIteration for some synchronization. More... | |
Public Member Functions inherited from ProgMLF2D | |
ProgMLF2D (int nr_vols=0, int rank=0, int size=1) | |
void | defineParams () |
Params definition. More... | |
void | readParams () |
Read arguments from command line. More... | |
void | show (bool ML3D=false) |
Show. More... | |
virtual void | defineBasicParams (XmippProgram *prog) |
Some redefinitions of the basic and additional params. More... | |
virtual void | defineAdditionalParams (XmippProgram *prog, const char *sectionLine) |
void | estimateInitialNoiseSpectra () |
void | updateWienerFilters (const MultidimArray< double > &spectral_signal, std::vector< double > &sumw_defocus, int iter) |
void | setCurrentSamplingRates (double current_probres_limit) |
Vary in-plane and translational sampling rates with resolution. More... | |
void | generateInitialReferences () |
Generate initial references from random subset averages. More... | |
void | calculatePdfInplane () |
Calculate probability density distribution for in-plane transformations. More... | |
void | appendFTtoVector (const MultidimArray< std::complex< double > > &Fin, std::vector< double > &out) |
void | getFTfromVector (const std::vector< double > &in, const int start_point, MultidimArray< std::complex< double > > &out, bool only_real=false) |
void | rotateReference (std::vector< double > &out) |
Fill vector of matrices with all rotations of reference. More... | |
void | reverseRotateReference (const std::vector< double > &in, std::vector< MultidimArray< double > > &out) |
Apply reverse rotations to all matrices in vector and fill new matrix with their sum. More... | |
void | preselectDirections (float &phi, float &theta, std::vector< double > &pdf_directions) |
void | preselect_significant_model_phi (MultidimArray< double > &Mimg, std::vector< double > &offsets, std::vector< std::vector< MultidimArray< double > > > &Mref, MultidimArray< int > &Msignificant, std::vector< double > &pdf_directions) |
void | fourierTranslate2D (const std::vector< double > &in, MultidimArray< double > &trans, std::vector< double > &out, int point_start=0) |
void | calculateFourierOffsets (const MultidimArray< double > &Mimg, const std::vector< double > &offsets, std::vector< double > &out, MultidimArray< int > &Moffsets, MultidimArray< int > &Moffsets_mirror) |
void | processOneImage (const MultidimArray< double > &Mimg, size_t focus, bool apply_ctf, double &fracweight, double &maxweight2, double &sum_refw2, double &opt_scale, size_t &opt_refno, double &opt_psi, size_t &opt_ipsi, size_t &opt_iflip, MultidimArray< double > &opt_offsets, std::vector< double > &opt_offsets_ref, std::vector< double > &pdf_directions, bool do_kstest, bool write_histograms, FileName fn_img, double &KSprob) |
Perform expectation step for a single image. More... | |
double | performKSTest (MultidimArray< double > &Mimg, const int focus, bool apply_ctf, FileName &fn_img, bool write_histogram, std::vector< std::vector< MultidimArray< std::complex< double > > > > &Fref, double &opt_scale, int &opt_refno, int &opt_ipsi, int &opt_iflip, MultidimArray< double > &opt_offsets) |
Perform Kolmogorov-Smirnov test. More... | |
void | iteration () |
One iteration of the process. More... | |
void | expectation () |
Integrate over all experimental images. More... | |
void | maximization () |
Update all model parameters (maximization step) More... | |
void | endIteration () |
Redefine endIteration to update Wiener filters. More... | |
void | writeNoiseFile (const FileName &fn_base, int ifocus) |
Write noise estimation per resolution. More... | |
virtual void | addPartialDocfileData (const MultidimArray< double > &data, size_t first, size_t last) |
Add docfiledata to docfile. More... | |
Public Member Functions inherited from ML2DBaseProgram | |
void | initSamplingStuff () |
ML2DBaseProgram () | |
virtual void | setNumberOfLocalImages () |
Set the number of images, this function is useful only for MPI. More... | |
virtual void | randomizeImagesOrder () |
Randomize initial images order, only once. More... | |
virtual void | createThreads () |
Create working threads. More... | |
virtual void | destroyThreads () |
Exit threads and free memory. More... | |
virtual bool | checkConvergence () |
virtual void | run () |
Main function of the program. More... | |
virtual void | defineHiddenParams (XmippProgram *prog) |
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) |
ParamDef * | getParamDef (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 ¶m, 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 Member Functions inherited from MpiML2DBase< MpiProgMLF2D > | |
void | readMpi (int argc, char **argv) |
MpiML2DBase (MpiProgMLF2D *prm) | |
MpiML2DBase (MpiProgMLF2D *prm, MpiNode *node) | |
MpiML2DBase (const MpiML2DBase &)=delete | |
MpiML2DBase (const MpiML2DBase &&)=delete | |
~MpiML2DBase () | |
MpiML2DBase & | operator= (const MpiML2DBase &)=delete |
MpiML2DBase & | operator= (const MpiML2DBase &&)=delete |
void | sendDocfile (const MultidimArray< double > &data) |
Additional Inherited Members | |
Public Attributes inherited from ProgMLF2D | |
double | sigma_offset |
std::vector< double > | alpha_k |
std::vector< double > | mirror_fraction |
size_t | max_nr_psi |
bool | do_variable_psi |
bool | do_variable_trans |
std::vector< Image< double > > | Ictf |
bool | limit_trans |
size_t | nr_trans |
size_t | zero_trans |
int | search_shift |
int | offsets_keepdir |
bool | do_ctf_correction |
double | sampling |
std::vector< int > | count_defocus |
bool | phase_flipped |
MultidimArray< size_t > | Mresol_int |
std::vector< MultidimArray< double > > | Vsig |
std::vector< MultidimArray< double > > | Vctf |
std::vector< MultidimArray< double > > | Vdec |
double | reduce_snr |
size_t | nr_focus |
double | lowres_limit |
double | highres_limit |
double | ini_highres_limit |
bool | first_iter_noctf |
bool | do_divide_ctf |
bool | do_include_allfreqs |
double | fix_high |
std::vector< int > | pointer_2d |
std::vector< int > | pointer_i |
std::vector< int > | pointer_j |
size_t | nr_points_prob |
size_t | nr_points_2d |
size_t | dnr_points_2d |
size_t | current_highres_limit |
bool | do_student |
IN DEVELOPMENT. More... | |
bool | do_student_sigma_trick |
bool | do_kstest |
Statistical analysis of the noise distributions. More... | |
int | iter_write_histograms |
Histogram1D | sumhist |
std::vector< Histogram1D > | resolhist |
std::vector< double > | refs_avgscale |
int | rank |
int | size |
int | nr_vols |
double | LL |
double | sumcorr |
double | wsum_sigma_offset |
double | sumw_allrefs |
std::vector< MultidimArray< double > > | wsum_Mref |
std::vector< MultidimArray< double > > | wsum_ctfMref |
std::vector< std::vector< double > > | Mwsum_sigma2 |
std::vector< double > | sumw |
std::vector< double > | sumw2 |
std::vector< double > | sumwsc |
std::vector< double > | sumwsc2 |
std::vector< double > | sumw_mirror |
std::vector< double > | sumw_defocus |
std::vector< double > | Fref |
std::vector< double > | Fwsum_imgs |
std::vector< double > | Fwsum_ctfimgs |
Public Attributes inherited from ML2DBaseProgram | |
FileName | fn_img |
FileName | fn_ref |
FileName | fn_root |
FileName | fn_frac |
FileName | fn_sig |
FileName | fn_doc |
FileName | fn_oext |
FileName | fn_scratch |
FileName | fn_control |
String | cline |
bool | do_mirror |
bool | fix_fractions |
bool | fix_sigma_offset |
bool | fix_sigma_noise |
int | istart |
int | iter |
int | Niter |
size_t | dim |
size_t | dim2 |
size_t | hdim |
double | ddim2 |
size_t | nr_psi |
size_t | nr_flip |
double | psi_step |
double | psi_max |
size_t | nr_nomirror_flips |
size_t | nr_images_global |
size_t | nr_images_local |
size_t | myFirstImg |
size_t | myLastImg |
double | eps |
MetaDataDb | MDimg |
MetaDataDb | MDref |
MetaDataDb | MDlog |
std::vector< Matrix2D< double > > | F |
std::vector< Image< double > > | Iold |
MultidimArray< double > | P_phi |
MultidimArray< double > | Mr2 |
bool | fast_mode |
double | C_fast |
std::vector< Matrix1D< double > > | Vtrans |
bool | zero_offsets |
bool | limit_rot |
double | search_rot |
bool | save_mem1 |
bool | save_mem2 |
bool | save_mem3 |
std::vector< double > | imgs_oldphi |
std::vector< double > | imgs_oldtheta |
bool | do_ML3D |
bool | do_generate_refs |
std::vector< std::vector< double > > | imgs_offsets |
double | trymindiff_factor |
double | df |
double | df2 |
double | dfsigma2 |
bool | do_norm |
Re-normalize internally. More... | |
std::vector< double > | imgs_scale |
std::vector< double > | imgs_bgmean |
std::vector< double > | imgs_trymindiff |
std::vector< int > | imgs_optrefno |
double | average_scale |
int | factor_nref |
int | refs_per_class |
std::vector< double > | conv |
size_t | current_image |
ModelML2D | model |
ModelML2D * | current_model |
size_t | blocks |
size_t | current_block |
std::vector< size_t > | img_id |
MultidimArray< double > | docfiledata |
bool | do_restart |
bool | referenceExclusive |
bool | allowFastOption |
bool | allowThreads |
bool | allowIEM |
bool | allowRestart |
String | defaultRoot |
int | defaultNiter |
int | defaultStartingIter |
int | threads |
String | outRefsMd |
MultidimArray< double > | spectral_signal |
int | seed |
Public Attributes inherited from XmippProgram | |
bool | doRun |
bool | runWithoutArgs |
int | verbose |
Verbosity level. More... | |
int | debug |
Protected Member Functions inherited from XmippProgram | |
void | defineCommons () |
Protected Attributes inherited from XmippProgram | |
int | errorCode |
ProgramDef * | progDef |
Program definition and arguments parser. More... | |
std::map< String, CommentList > | defaultComments |
int | argc |
Original command line arguments. More... | |
const char ** | argv |
Protected Attributes inherited from MpiML2DBase< MpiProgMLF2D > | |
MpiNode * | node |
bool | created_node |
MpiProgMLF2D * | program |
Class to parallelize the MLF 2D alignment program
Definition at line 124 of file mpi_ml_align2d.h.
MpiProgMLF2D::MpiProgMLF2D | ( | ) |
Default constructor
Definition at line 190 of file mpi_ml_align2d.cpp.
MpiProgMLF2D::MpiProgMLF2D | ( | MpiNode * | node | ) |
Constructor passing the MpiNode
Definition at line 193 of file mpi_ml_align2d.cpp.
|
virtual |
Redefine endIteration for some synchronization.
Reimplemented from ML2DBaseProgram.
Definition at line 278 of file mpi_ml_align2d.cpp.
|
virtual |
After normal ML2D expectation, data must be collected from nodes.
Implements ML2DBaseProgram.
Definition at line 196 of file mpi_ml_align2d.cpp.
|
virtual |
All mpi nodes should syncronize at this point that's why the need of override the implementation.
Reimplemented from ProgMLF2D.
Definition at line 271 of file mpi_ml_align2d.cpp.
|
virtual |
Read reference images in memory & set offset vectors (This produceSideInfo is Selfile-dependent!)
Reimplemented from ProgMLF2D.
Definition at line 263 of file mpi_ml_align2d.cpp.
|
virtual |
Write model parameters.
Reimplemented from ProgMLF2D.
Definition at line 291 of file mpi_ml_align2d.cpp.