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

#include <mpi_reconstruct_admm.h>

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

Public Member Functions

 MpiProgReconstructADMM ()=default
 
 MpiProgReconstructADMM (const MpiProgReconstructADMM &)=delete
 
 MpiProgReconstructADMM (const MpiProgReconstructADMM &&)=delete
 
 ~MpiProgReconstructADMM ()
 
MpiProgReconstructADMMoperator= (const MpiProgReconstructADMM &)=delete
 
MpiProgReconstructADMMoperator= (const MpiProgReconstructADMM &&)=delete
 
void read (int argc, char **argv)
 
void synchronize ()
 
void shareVolume (MultidimArray< double > &V)
 
- Public Member Functions inherited from ProgReconsADMM
 ProgReconsADMM ()
 
void defineParams ()
 
void readParams ()
 
void show ()
 
void run ()
 
void produceSideInfo ()
 
void project (double rot, double tilt, double psi, MultidimArray< double > &P, bool adjoint=false, double weight=1.)
 
void project (const Matrix1D< double > &r1, const Matrix1D< double > &r2, MultidimArray< double > &P, bool adjoint=false, double weight=1.)
 
void constructHtb ()
 
void computeHtKH (MultidimArray< double > &kernelV)
 
void addRegularizationTerms ()
 
void applyKernel3D (MultidimArray< double > &x, MultidimArray< double > &AtAx)
 
void applyLFilter (MultidimArray< std::complex< double > > &fourierL, bool adjoint=false)
 
void applyLtFilter (MultidimArray< std::complex< double > > &fourierL, MultidimArray< double > &u, MultidimArray< double > &d)
 
void applyConjugateGradient ()
 
void doPOCSProjection ()
 
void updateUD ()
 
void produceVolume ()
 
- 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 ProgReconsADMM
FileName fnIn
 
FileName fnRoot
 
FileName fnFirst
 
FileName fnHtb
 
FileName fnHtKH
 
String kernelShape
 
double a
 
double alpha
 
double mu
 
double lambda
 
double lambda1
 
double Ti
 
double Tp
 
bool useWeights
 
bool useCTF
 
int Ncgiter
 
int Nadmmiter
 
bool positivity
 
bool applyMask
 
double Ts
 
Mask mask
 
String symmetry
 
bool saveIntermediate
 
size_t Nprocs
 
size_t rank
 
AdmmKernel kernel
 
Image< double > CHtb
 
Image< double > Ck
 
Image< double > Vk
 
MetaDataVec mdIn
 
MultidimArray< std::complex< double > > fourierKernelV
 
MultidimArray< double > paddedx
 
FourierTransformer transformerPaddedx
 
FourierTransformer transformerL
 
MultidimArray< double > ux
 
MultidimArray< double > uy
 
MultidimArray< double > uz
 
MultidimArray< double > dx
 
MultidimArray< double > dy
 
MultidimArray< double > dz
 
MultidimArray< double > ud
 
MultidimArray< std::complex< double > > fourierLx
 
MultidimArray< std::complex< double > > fourierLy
 
MultidimArray< std::complex< double > > fourierLz
 
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

Significant reconstruction parameters.

Definition at line 37 of file mpi_reconstruct_admm.h.

Constructor & Destructor Documentation

◆ MpiProgReconstructADMM() [1/3]

MpiProgReconstructADMM::MpiProgReconstructADMM ( )
default

◆ MpiProgReconstructADMM() [2/3]

MpiProgReconstructADMM::MpiProgReconstructADMM ( const MpiProgReconstructADMM )
delete

◆ MpiProgReconstructADMM() [3/3]

MpiProgReconstructADMM::MpiProgReconstructADMM ( const MpiProgReconstructADMM &&  )
delete

◆ ~MpiProgReconstructADMM()

MpiProgReconstructADMM::~MpiProgReconstructADMM ( )

Definition at line 28 of file mpi_reconstruct_admm.cpp.

29 {
30  delete node;
31 }

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ read()

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

Definition at line 33 of file mpi_reconstruct_admm.cpp.

34 {
35  node = new MpiNode(argc, argv);
36  rank = node->rank;
37  Nprocs = node->size;
38 
39  ProgReconsADMM::read(argc, (const char **)argv);
40 }
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

◆ shareVolume()

void MpiProgReconstructADMM::shareVolume ( MultidimArray< double > &  V)
virtual

Reimplemented from ProgReconsADMM.

Definition at line 47 of file mpi_reconstruct_admm.cpp.

48 {
49  MPI_Allreduce(MPI_IN_PLACE, MULTIDIM_ARRAY(V), MULTIDIM_SIZE(V), MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
50  synchronize();
51 }
#define MULTIDIM_SIZE(v)
#define MULTIDIM_ARRAY(v)

◆ synchronize()

void MpiProgReconstructADMM::synchronize ( )
virtual

Reimplemented from ProgReconsADMM.

Definition at line 42 of file mpi_reconstruct_admm.cpp.

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

Member Data Documentation

◆ node

MpiNode* MpiProgReconstructADMM::node =nullptr

Definition at line 40 of file mpi_reconstruct_admm.h.


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