Produce Initial and Side information for ART. This function computes from the ART parameters things like the projection size, projection order, symmetry matrices list, history handler (don't forget to close it at the end), number of images, basis side information and initial basis volume.
The info level takes the following values: \ BASIC: Generate basis side information \ FULL: Generate all the rest needed values.
511 size_t idum, idumLong;
534 (*surface_mask)().setXmippOrigin();
571 for (
int iact_proj = 0; iact_proj <
numIMG ; iact_proj++)
575 read_proj.
read(fn_resi);
576 read_proj().setXmippOrigin();
577 weight = read_proj.
weight();
580 "BASIC_ART: negative weight not set correctly!");
int verbose
Verbose level.
int numIMG
Total number of images to process (taking symmetries into account)
size_t projXdim
Projection X dimension.
Basis basis
Basis function. By default, blobs.
#define REPORT_ERROR(nerr, ErrormMsg)
FileName fn_start
Grid volume as initial guess.
SimpleGrid Create_CC_grid(double relative_size, const Matrix1D< double > &corner1, const Matrix1D< double > &corner2, const Matrix1D< double > &origin)
#define TELL_MANUAL_ORDER
Couldn't write to file.
int readSymmetryFile(FileName fn_sym, double accuracy=SYM_ACCURACY)
Matrix1D< double > vectorR3(double x, double y, double z)
void changeFromVoxels(const MultidimArray< double > &vol_voxels, GridVolume &vol_basis, int grid_type, double grid_relative_size, const MultidimArray< double > *vol_mask, const Matrix2D< double > *D, double R, int threads=1) const
bool do_not_use_symproj
Do not use symmetrized projections.
double grid_relative_size
Relative size for the grid.
FileName fn_sym
File containing symmetries.
tBasisFunction type
Basis function to use.
FileName fn_sel
Selection file with all images to process.
std::ofstream * fh_hist
File handler for the history file.
bool variability_analysis
Variability analysis.
double weight(const size_t n=0) const
size_t projYdim
Projection Y dimension.
Incorrect number of objects in Metadata.
bool random_sort
True if random sort of projections.
int grid_type
CC, BCC or FCC (in grids.hh)
#define BCC
BCC identifier.
int trueIMG
Number of different images (without symmetries)
void adapt_to_grid(const Grid &_grid)
FileName fn_surface_mask
File containing surface mask.
bool dont_sort
True if no sort must be made.
void sortRandomly(int numIMG, MultidimArray< int > &ordered_list)
#define FCC
FCC identifier.
ReconsInfo * IMG_Inf
Array with all the sorting information for each projection.
void read(const FileName &fn, const std::string &basisName)
ARTParallelMode parallel_mode
String basisName() const
Basis name.
bool contains(const String &str) const
FileName fn_proj
Projection filename.
void sortPerpendicular(int numIMG, ReconsInfo *IMG_Inf, MultidimArray< int > &ordered_list, int N)
void computeCAVWeights(GridVolume &vol_basis0, int numProjs_node, int debug_level=0)
Grid Create_FCC_grid(double relative_size, const Matrix1D< double > &corner1, const Matrix1D< double > &corner2)
Grid Create_BCC_grid(double relative_size, const Matrix1D< double > &corner1, const Matrix1D< double > &corner2)
void produceSideInfo(const Grid &grid)
void setD(Matrix2D< double > *_D)
MultidimArray< int > ordered_list
Order in which projections will be presented to algorithm.
Image< double > * surface_mask
#define FIRST_XMIPP_INDEX(size)
void noSort(int numIMG, MultidimArray< int > &ordered_list)
const SimpleGrid & grid(size_t n) const
void read(const FileName &fn, const bool only_apply_shifts=false, DataMode datamode=DATA, MDRow *row=nullptr)
int read(const FileName &name, DataMode datamode=DATA, size_t select_img=ALL_IMAGES, bool mapData=false, int mode=WRITE_READONLY)
int sort_last_N
Sort perpendicular with the last N projections. If -1 with all previous.
FileName fn_ctf
Selection file with all images to process.
void buildReconsInfo(MetaDataVec &selfile, const FileName &fn_ctf, const SymList &SL, ReconsInfo *&IMG_Inf, bool do_not_use_symproj)
Incorrect value received.
int threads
Number of threads to use. Can not be different than 1 when using MPI.
SymList SL
A list with the symmetry matrices.
bool do_not_generate_subgroup
Do not generate symmetry subgroup.