55 addUsageLine(
"Estimate the score of a given Micrograph attending on different parameters.");
56 addParamsLine(
" --micrograph <file> : File with the micrograph");
57 addParamsLine(
" [--particleSize <p=100>] : Size of the particle");
69 sprintf(bufferDW,
"xmipp_transform_filter -i %s -o %s --bad_pixels outliers 2",
fn_micrograph.c_str(), fn_micrographBadPxl.c_str());
70 if (!system(bufferDW))
75 sprintf(bufferDW,
"xmipp_transform_downsample -i %s -o %s --step 2.0 --method fourier" , fn_micrographBadPxl.c_str(), fn_micrographDwn.c_str());
76 if (!system(bufferDW))
103 MD.
write(
"auxiliaryFile.xmd");
112 if (!system(bufferDW))
119 img.
read(fn_micrographDwn);
136 size_t Xdim, Ydim, Zdim,Ndim;
146 double partDensity = (Mod.
sum()/(Xdim*Ydim))*100;
159 double min_val, max_val, avg1, avg2, stdv1, stdv2;
162 double snr = (stdv1/stdv2)*(stdv1/stdv2);
174 for (
size_t objId : MD.
ids())
180 std::cout <<
"partDensity : " << partDensity << std::endl;
181 std::cout <<
"snr :" << snr << std::endl;
182 std::cout <<
"maxFreq :" << maxFreq << std::endl;
183 std::cout <<
"fitting :" << fitting << std::endl;
184 std::cout <<
"psdCorr90 :" << psdCorr90 << std::endl;
185 std::cout <<
"psdRadialInt :" << psdRadialInt << std::endl;
189 img.
write(
"kk1.mrc");
191 img.
write(
"kk2.mrc");
Just to locate unclassified errors.
double defocus_range
Defocus range.
#define A2D_ELEM(v, i, j)
#define REPORT_ERROR(nerr, ErrormMsg)
void resizeNoCopy(const MultidimArray< T1 > &v)
FileName fn_micrograph
Micrograph filename.
void write(const FileName &name="", size_t select_img=ALL_IMAGES, bool isStack=false, int mode=WRITE_OVERWRITE, CastWriteMode castMode=CW_CAST, int _swapWrite=0)
void readBasicParams(XmippProgram *program)
Read parameters.
void computeAvgStdev(U &avg, U &stddev) const
double downsampleFactor
Downsample performed.
bool estimate_ctf
Estimate a CTF for each PSD.
int pieceDim
Dimension of micrograph pieces.
bool estimate_ctf
Estimate a CTF for each PSD.
void computeStats_within_binary_mask(const MultidimArray< T1 > &mask, const MultidimArray< T > &m, double &min_val, double &max_val, double &avg, double &stddev)
#define FOR_ALL_ELEMENTS_IN_ARRAY2D(m)
String getExtension() const
void run()
Process the whole thing.
const char * getParam(const char *param, int arg=0)
FileName fn_root
Output rootname.
double defocus_range
Defocus range.
double EntropyOtsuSegmentation(MultidimArray< double > &V, double percentil, bool binarizeVolume)
quaternion_type< T > normalize(quaternion_type< T > q)
ProgCTFEstimateFromPSD prmEstimateCTFFromPSD
Parameters for adjust_CTF program.
int pieceDim
Dimension of micrograph pieces.
ProgCTFEstimateFromPSD prmEstimateCTFFromPSD
Parameters for adjust_CTF program.
FileName withoutExtension() const
int read(const FileName &name, DataMode datamode=DATA, size_t select_img=ALL_IMAGES, bool mapData=false, int mode=WRITE_READONLY)
void addUsageLine(const char *line, bool verbatim=false)
FileName fn_micrograph
Micrograph filename.
int getIntParam(const char *param, int arg=0)
static void defineBasicParams(XmippProgram *program)
Define basic parameters.
void addParamsLine(const String &line)
void statisticsAdjust(U avgF, U stddevF)
ProgCTFEstimateFromMicrograph prmEstimateCTFFromMicrograph
void getDimensions(size_t &Xdim, size_t &Ydim, size_t &Zdim, size_t &Ndim) const