Xmipp  v3.23.11-Nereus
metadata_extension.h
Go to the documentation of this file.
1 /*
2  * metadata_extension.h
3  *
4  * Created on: May 12, 2010
5  * Author: roberto
6  */
7 
8 #ifndef CORE_METADATA_EXTENSION_H_
9 #define CORE_METADATA_EXTENSION_H_
10 
11 #include "xmipp_filename.h"
12 #include "xmipp_image.h"
13 #include "metadata_vec.h"
14 #include "metadata_db.h"
15 #include <stdlib.h>
16 #include <fstream>
17 #include <iostream>
18 #include <sstream>
19 #include <string>
20 
21 #define BLOCKROW 1
22 #define BLOCKCOLUNM 2
23 #define BLOCKMIXED 3
24 #define BLOCKDIFFERENCE 30
25 
31 void getStatistics(const MetaData &md, Image<double> & _ave, Image<double> & _sd, bool apply_geo, bool wrap, MDLabel image_label=MDL_IMAGE);
32 
34 void writeMdToStack(const MetaData &md, const FileName &fnStack, bool apply_geo, bool wrap, MDLabel image_label=MDL_IMAGE);
35 
39 void getAverageApplyGeo(const MetaData &md, MultidimArray<double> & _ave, MDLabel image_label=MDL_IMAGE);
40 
43 void getStatistics(const MetaData &md, double& _ave, double& _sd, double& _min,
44  double& _max, bool apply_geo, MDLabel image_label=MDL_IMAGE);
45 
47 void getFourierStatistics(MetaDataDb &MDin, double sam, MetaData &Mdout,
48  bool do_dpr, double max_sam, MDLabel image_label=MDL_IMAGE);
49 
52 void getImageSize(const MetaData &md, size_t &Xdim, size_t &Ydim, size_t &Zdim, size_t &Ndim, MDLabel image_label=MDL_IMAGE);
53 
55 void getImageInfo(const MetaData &md, size_t &Xdim, size_t &Ydim, size_t &Zdim, size_t &Ndim, DataType &datatype, MDLabel image_label=MDL_IMAGE);
56 
57 void getImageInfo(const MetaData &md, ImageInfo &imgInfo, MDLabel image_label=MDL_IMAGE);
58 
60 void getImageSizeFromFilename(const FileName &filename, size_t &Xdim, size_t &Ydim, size_t &Zdim, size_t &Ndim, MDLabel image_label=MDL_IMAGE);
61 
63 bool compareImage(const FileName &filename1, const FileName &filename2);
64 
66 bool compareImageSize(const FileName &filename1, const FileName &filename2);
67 
69 bool compareTwoMetadataFiles(const FileName &fn1, const FileName &fn2);
70 
71 
73 int maxFileNameLength(const MetaData &md, MDLabel image_label=MDL_IMAGE);
74 
76 void mpiSelectPart(MetaDataDb &md, int rank, int size, int &num_img_tot);
77 
82 
88 void substituteOriginalImages(const FileName &fn, const FileName &fnOrig, const FileName &fnOut,
89  MDLabel label, bool skipFirstBlock);
90 
94 void bsoftRemoveLoopBlock(const FileName &_inFile, const FileName &block);
95 
99 void bsoftRestoreLoopBlock(const FileName &_inFile, const FileName &block);
100 
101 Matrix2D<double> getMatrix(char* matrix);
102 
103 MDRowVec firstRow(const FileName &fnMetadata);
105 
106 #endif /* METADATA_EXTENSION_H_ */
void bsoftRemoveLoopBlock(const FileName &_inFile, const FileName &block)
void getImageSizeFromFilename(const FileName &filename, size_t &Xdim, size_t &Ydim, size_t &Zdim, size_t &Ndim, MDLabel image_label=MDL_IMAGE)
void getImageSize(const MetaData &md, size_t &Xdim, size_t &Ydim, size_t &Zdim, size_t &Ndim, MDLabel image_label=MDL_IMAGE)
void substituteOriginalImages(const FileName &fn, const FileName &fnOrig, const FileName &fnOut, MDLabel label, bool skipFirstBlock)
void getStatistics(const MetaData &md, Image< double > &_ave, Image< double > &_sd, bool apply_geo, bool wrap, MDLabel image_label=MDL_IMAGE)
void getFourierStatistics(MetaDataDb &MDin, double sam, MetaData &Mdout, bool do_dpr, double max_sam, MDLabel image_label=MDL_IMAGE)
void writeMdToStack(const MetaData &md, const FileName &fnStack, bool apply_geo, bool wrap, MDLabel image_label=MDL_IMAGE)
Matrix2D< double > getMatrix(char *matrix)
void getImageInfo(const MetaData &md, size_t &Xdim, size_t &Ydim, size_t &Zdim, size_t &Ndim, DataType &datatype, MDLabel image_label=MDL_IMAGE)
bool compareImage(const FileName &filename1, const FileName &filename2)
compare two image files
FileName fnOut
void bsoftRestoreLoopBlock(const FileName &_inFile, const FileName &block)
void readMetaDataWithTwoPossibleImages(const FileName &fn, MetaData &md)
DataType
bool compareImageSize(const FileName &filename1, const FileName &filename2)
compare if same dimensions
int maxFileNameLength(const MetaData &md, MDLabel image_label=MDL_IMAGE)
void getAverageApplyGeo(const MetaData &md, MultidimArray< double > &_ave, MDLabel image_label=MDL_IMAGE)
void mpiSelectPart(MetaDataDb &md, int rank, int size, int &num_img_tot)
MDRowVec firstRow(const FileName &fnMetadata)
bool compareTwoMetadataFiles(const FileName &fn1, const FileName &fn2)
Name of an image (std::string)
MDLabel