Xmipp
v3.23.11-Nereus
|
#include <micrograph_automatic_picking2.h>
Public Member Functions | |
AutoParticlePicking2 (int particle_size, int filter_num=6, int corr_num=2, int NPCA=4, const FileName &model_name=nullptr, const std::vector< MDRowSql > &vMicList={}) | |
Constructor. More... | |
AutoParticlePicking2 ()=default | |
~AutoParticlePicking2 () | |
Destructor. More... | |
void | setSize (int pSize) |
void | readMic (const FileName &fn_micrograph, int keepPrev) |
Read micrograph from the file. More... | |
void | filterBankGenerator () |
void | batchBuildInvariant (const std::vector< MDRowSql > &MD) |
void | buildInvariant (const std::vector< MDRowSql > &MD) |
void | extractInvariant () |
void | extractPositiveInvariant () |
void | extractNegativeInvariant () |
void | trainPCA () |
void | add2Dataset (int flagNegPos) |
void | train (const std::vector< MDRowSql > &MD, bool corrFlag, int x, int y, int width, int height) |
void | correction (const std::vector< MDRowSql > &addedParticlesMD, const std::vector< MDRowSql > &removedParticlesMD) |
void | add2Dataset (const MetaData &removedParticlesMD) |
void | saveTrainingSet () |
int | automaticallySelectParticles (FileName fnmicrograph, int proc_prec, std::vector< MDRowSql > &md) |
int | automaticWithouThread (FileName fnmicrograph, int proc_prec, const FileName &fn) |
void | saveAutoParticles (MetaData &md) |
void | saveAutoParticles (std::vector< MDRowSql > &md) |
void | readParams (XmippProgram *program) |
Read the parmaeters of the main program. More... | |
void | readMicrograph () |
Read the micrograph in memory. More... | |
bool | checkDist (Particle2 &p) |
void | extractStatics (MultidimArray< double > &inputVec, MultidimArray< double > &features) |
void | convert2PolarFourier (MultidimArray< double > &particleImage, MultidimArray< std::complex< double > > &polar) |
Convert an image to its polar form. More... | |
void | polarCorrelation (const MultidimArray< std::complex< double > > &fourierPolarStack, MultidimArray< double > &IpolarCorr) |
Calculate the correlation of different polar channels. More... | |
void | applyConvolution (bool fast) |
Convolve the micrograph with the different templates. More... | |
double | PCAProject (MultidimArray< double > &pcaBasis, MultidimArray< double > &vec) |
Project a vector on one pca basis. More... | |
void | extractParticle (const int x, const int y, MultidimArray< double > &filter, MultidimArray< double > &particleImage, bool normal) |
void | extractNonParticle (std::vector< Particle2 > &negativePosition) |
void | extractInvariant (const FileName &fnInvariantFeat, const FileName &fnParticles, bool avgFlag) |
void | extractPositiveInvariant (const FileName &fnInvariantFeat, const FileName &fnParticles, bool avgFlag) |
void | extractNegativeInvariant (const FileName &fnInvariantFeat, const FileName &fnParticles) |
void | buildVector (MultidimArray< double > &inputVec, MultidimArray< double > &staticVec, MultidimArray< double > &featureVec, MultidimArray< double > &pieceImage) |
void | buildInvariant (MultidimArray< double > &invariantChannel, int x, int y, int pre) |
void | buildSearchSpace (std::vector< Particle2 > &positionArray, bool fast) |
void | trainSVM (const FileName &fnModel, int numClassifier) |
void | trainPCA (const FileName &fnPositiveFeat) |
void | trainRotPCA (const FileName &fnAvgModel, const FileName &fnPCARotModel) |
void | add2Dataset (const FileName &fnInvariantFeat, const FileName &fnParticles, int lable) |
void | add2Dataset () |
void | normalizeDataset (int a, int b) |
void | savePCAModel (const FileName &fn) |
Save the PCA basis and average for each channel. More... | |
void | saveTrainingSet (const FileName &fn_root) |
Save training set into memory. More... | |
void | loadTrainingSet (const FileName &fn_root) |
Load training set into the related array. More... | |
void | generateTrainSet () |
void | generateFeatVec (const FileName &fnmicrograph, int proc_prec, std::vector< Particle2 > &positionArray) |
int | readNextMic (FileName &fnmicrograph) |
int | getParticlesThreshold () |
Static Public Member Functions | |
static void | defineParams (XmippProgram *program) |
Define the parameters of the main program. More... | |
Static Public Attributes | |
static const int | NangSteps =120 |
Class to perform the automatic particle picking
Definition at line 61 of file micrograph_automatic_picking2.h.
AutoParticlePicking2::AutoParticlePicking2 | ( | int | particle_size, |
int | filter_num = 6 , |
||
int | corr_num = 2 , |
||
int | NPCA = 4 , |
||
const FileName & | model_name = nullptr , |
||
const std::vector< MDRowSql > & | vMicList = {} |
||
) |
Constructor.
Definition at line 38 of file micrograph_automatic_picking2.cpp.
|
default |
AutoParticlePicking2::~AutoParticlePicking2 | ( | ) |
void AutoParticlePicking2::add2Dataset | ( | int | flagNegPos | ) |
Definition at line 384 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::add2Dataset | ( | const MetaData & | removedParticlesMD | ) |
Definition at line 893 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::add2Dataset | ( | const FileName & | fnInvariantFeat, |
const FileName & | fnParticles, | ||
int | lable | ||
) |
Definition at line 1180 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::add2Dataset | ( | ) |
Definition at line 1247 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::applyConvolution | ( | bool | fast | ) |
Convolve the micrograph with the different templates.
Definition at line 1677 of file micrograph_automatic_picking2.cpp.
int AutoParticlePicking2::automaticallySelectParticles | ( | FileName | fnmicrograph, |
int | proc_prec, | ||
std::vector< MDRowSql > & | md | ||
) |
Definition at line 540 of file micrograph_automatic_picking2.cpp.
int AutoParticlePicking2::automaticWithouThread | ( | FileName | fnmicrograph, |
int | proc_prec, | ||
const FileName & | fn | ||
) |
Definition at line 649 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::batchBuildInvariant | ( | const std::vector< MDRowSql > & | MD | ) |
Definition at line 172 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::buildInvariant | ( | const std::vector< MDRowSql > & | MD | ) |
Definition at line 159 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::buildInvariant | ( | MultidimArray< double > & | invariantChannel, |
int | x, | ||
int | y, | ||
int | pre | ||
) |
Definition at line 1076 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::buildSearchSpace | ( | std::vector< Particle2 > & | positionArray, |
bool | fast | ||
) |
Definition at line 1648 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::buildVector | ( | MultidimArray< double > & | inputVec, |
MultidimArray< double > & | staticVec, | ||
MultidimArray< double > & | featureVec, | ||
MultidimArray< double > & | pieceImage | ||
) |
Definition at line 1036 of file micrograph_automatic_picking2.cpp.
bool AutoParticlePicking2::checkDist | ( | Particle2 & | p | ) |
Definition at line 962 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::convert2PolarFourier | ( | MultidimArray< double > & | particleImage, |
MultidimArray< std::complex< double > > & | polar | ||
) |
Convert an image to its polar form.
Definition at line 1456 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::correction | ( | const std::vector< MDRowSql > & | addedParticlesMD, |
const std::vector< MDRowSql > & | removedParticlesMD | ||
) |
Definition at line 852 of file micrograph_automatic_picking2.cpp.
|
static |
Define the parameters of the main program.
Definition at line 1778 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::extractInvariant | ( | ) |
Definition at line 209 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::extractInvariant | ( | const FileName & | fnInvariantFeat, |
const FileName & | fnParticles, | ||
bool | avgFlag | ||
) |
Definition at line 1397 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::extractNegativeInvariant | ( | ) |
Definition at line 283 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::extractNegativeInvariant | ( | const FileName & | fnInvariantFeat, |
const FileName & | fnParticles | ||
) |
Definition at line 1346 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::extractNonParticle | ( | std::vector< Particle2 > & | negativePosition | ) |
Definition at line 1422 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::extractParticle | ( | const int | x, |
const int | y, | ||
MultidimArray< double > & | filter, | ||
MultidimArray< double > & | particleImage, | ||
bool | normal | ||
) |
Definition at line 1406 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::extractPositiveInvariant | ( | ) |
Definition at line 215 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::extractPositiveInvariant | ( | const FileName & | fnInvariantFeat, |
const FileName & | fnParticles, | ||
bool | avgFlag | ||
) |
Definition at line 1292 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::extractStatics | ( | MultidimArray< double > & | inputVec, |
MultidimArray< double > & | features | ||
) |
Definition at line 1021 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::filterBankGenerator | ( | ) |
Definition at line 131 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::generateFeatVec | ( | const FileName & | fnmicrograph, |
int | proc_prec, | ||
std::vector< Particle2 > & | positionArray | ||
) |
Definition at line 727 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::generateTrainSet | ( | ) |
Definition at line 1587 of file micrograph_automatic_picking2.cpp.
int AutoParticlePicking2::getParticlesThreshold | ( | ) |
Definition at line 846 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::loadTrainingSet | ( | const FileName & | fn_root | ) |
Load training set into the related array.
Definition at line 1468 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::normalizeDataset | ( | int | a, |
int | b | ||
) |
Definition at line 1614 of file micrograph_automatic_picking2.cpp.
double AutoParticlePicking2::PCAProject | ( | MultidimArray< double > & | pcaBasis, |
MultidimArray< double > & | vec | ||
) |
Project a vector on one pca basis.
Definition at line 1101 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::polarCorrelation | ( | const MultidimArray< std::complex< double > > & | fourierPolarStack, |
MultidimArray< double > & | IpolarCorr | ||
) |
Calculate the correlation of different polar channels.
Definition at line 1005 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::readMic | ( | const FileName & | fn_micrograph, |
int | keepPrev | ||
) |
Read micrograph from the file.
Definition at line 102 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::readMicrograph | ( | ) |
Read the micrograph in memory.
int AutoParticlePicking2::readNextMic | ( | FileName & | fnmicrograph | ) |
Definition at line 827 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::readParams | ( | XmippProgram * | program | ) |
Read the parmaeters of the main program.
Definition at line 1766 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::saveAutoParticles | ( | MetaData & | md | ) |
Definition at line 1552 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::saveAutoParticles | ( | std::vector< MDRowSql > & | md | ) |
Definition at line 1569 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::savePCAModel | ( | const FileName & | fn | ) |
Save the PCA basis and average for each channel.
Definition at line 1531 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::saveTrainingSet | ( | ) |
Definition at line 525 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::saveTrainingSet | ( | const FileName & | fn_root | ) |
Save training set into memory.
Definition at line 1486 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::setSize | ( | int | pSize | ) |
Definition at line 92 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::train | ( | const std::vector< MDRowSql > & | MD, |
bool | corrFlag, | ||
int | x, | ||
int | y, | ||
int | width, | ||
int | height | ||
) |
Definition at line 456 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::trainPCA | ( | ) |
Definition at line 340 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::trainPCA | ( | const FileName & | fnPositiveFeat | ) |
Definition at line 1120 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::trainRotPCA | ( | const FileName & | fnAvgModel, |
const FileName & | fnPCARotModel | ||
) |
Definition at line 1147 of file micrograph_automatic_picking2.cpp.
void AutoParticlePicking2::trainSVM | ( | const FileName & | fnModel, |
int | numClassifier | ||
) |
Definition at line 1163 of file micrograph_automatic_picking2.cpp.
std::vector<Particle2> AutoParticlePicking2::accepted_particles |
Definition at line 80 of file micrograph_automatic_picking2.h.
std::vector<Particle2> AutoParticlePicking2::auto_candidates |
Definition at line 78 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::autoFeatVec |
Definition at line 89 of file micrograph_automatic_picking2.h.
SVMClassifier AutoParticlePicking2::classifier |
Definition at line 69 of file micrograph_automatic_picking2.h.
SVMClassifier AutoParticlePicking2::classifier2 |
Definition at line 69 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::classLabel |
Definition at line 90 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::classLabel1 |
Definition at line 91 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::convolveRes |
Definition at line 88 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::corr_num |
Definition at line 66 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::dataSet |
Definition at line 90 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::dataSet1 |
Definition at line 90 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::dataSetNormal |
Definition at line 91 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::fast |
Definition at line 67 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::filter_num |
Definition at line 66 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::filterBankStack |
Definition at line 88 of file micrograph_automatic_picking2.h.
FileName AutoParticlePicking2::fn_micrograph |
Definition at line 84 of file micrograph_automatic_picking2.h.
FileName AutoParticlePicking2::fn_model |
Definition at line 84 of file micrograph_automatic_picking2.h.
FileName AutoParticlePicking2::fnAvgModel |
Definition at line 84 of file micrograph_automatic_picking2.h.
FileName AutoParticlePicking2::fnInvariant |
Definition at line 85 of file micrograph_automatic_picking2.h.
FileName AutoParticlePicking2::fnParticles |
Definition at line 85 of file micrograph_automatic_picking2.h.
FileName AutoParticlePicking2::fnPCAModel |
Definition at line 84 of file micrograph_automatic_picking2.h.
FileName AutoParticlePicking2::fnPCARotModel |
Definition at line 84 of file micrograph_automatic_picking2.h.
FileName AutoParticlePicking2::fnSVMModel |
Definition at line 85 of file micrograph_automatic_picking2.h.
FileName AutoParticlePicking2::fnSVMModel2 |
Definition at line 85 of file micrograph_automatic_picking2.h.
FileName AutoParticlePicking2::fnVector |
Definition at line 85 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::labelSet |
Definition at line 91 of file micrograph_automatic_picking2.h.
Micrograph AutoParticlePicking2::m |
Definition at line 74 of file micrograph_automatic_picking2.h.
std::vector<MDRowSql> AutoParticlePicking2::micList |
Definition at line 82 of file micrograph_automatic_picking2.h.
Image<double> AutoParticlePicking2::micrographStack |
Definition at line 76 of file micrograph_automatic_picking2.h.
Image<double> AutoParticlePicking2::micrographStackPre |
Definition at line 76 of file micrograph_automatic_picking2.h.
Image<double> AutoParticlePicking2::microImage |
Definition at line 76 of file micrograph_automatic_picking2.h.
Image<double> AutoParticlePicking2::microImagePrev |
Definition at line 76 of file micrograph_automatic_picking2.h.
Micrograph AutoParticlePicking2::mPrev |
Definition at line 74 of file micrograph_automatic_picking2.h.
|
static |
Definition at line 65 of file micrograph_automatic_picking2.h.
std::vector<Particle2> AutoParticlePicking2::negative_candidates |
Definition at line 81 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::negativeInvariatnStack |
Definition at line 89 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::negativeParticleStack |
Definition at line 88 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::NPCA |
Definition at line 66 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::NRPCA |
Definition at line 66 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::NRsteps |
Definition at line 67 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::Nthreads |
Definition at line 67 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::num_correlation |
Definition at line 67 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::num_features |
Definition at line 67 of file micrograph_automatic_picking2.h.
Micrograph::Point AutoParticlePicking2::p1 |
Definition at line 72 of file micrograph_automatic_picking2.h.
Micrograph::Point AutoParticlePicking2::p2 |
Definition at line 72 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::particle_radius |
Definition at line 66 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::particle_size |
Definition at line 66 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::particleAvg |
Definition at line 90 of file micrograph_automatic_picking2.h.
PCAMahalanobisAnalyzer AutoParticlePicking2::pcaAnalyzer |
Definition at line 70 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::pcaModel |
Definition at line 90 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::pcaRotModel |
Definition at line 90 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::positiveInvariatnStack |
Definition at line 89 of file micrograph_automatic_picking2.h.
MultidimArray<double> AutoParticlePicking2::positiveParticleStack |
Definition at line 88 of file micrograph_automatic_picking2.h.
int AutoParticlePicking2::proc_prec |
Definition at line 66 of file micrograph_automatic_picking2.h.
std::vector<Particle2> AutoParticlePicking2::rejected_particles |
Definition at line 79 of file micrograph_automatic_picking2.h.
ProgImageRotationalPCA AutoParticlePicking2::rotPcaAnalyzer |
Definition at line 71 of file micrograph_automatic_picking2.h.
double AutoParticlePicking2::scaleRate |
Definition at line 87 of file micrograph_automatic_picking2.h.
FeaturesThread* AutoParticlePicking2::thread |
Definition at line 73 of file micrograph_automatic_picking2.h.