#include <MoleculeProcessor.h>
Public Types | |
enum | TFinder { DIJKSTRA } |
Static Public Member Functions | |
static void | create_num_steps_map (const ImageMolecule &mol, const cv::Ptr< ImageAtom > anchor_atom, const cv::Ptr< ImageAtom > &atom, std::map< cv::Ptr< ImageAtom >, size_t > &num_steps_map, std::map< cv::Ptr< ImageAtom >, std::set< std::string > > atoms_queried, std::map< cv::Ptr< ImageAtom >, bool > &node_lock, const std::string &graphvizDbgFilename=std::string("")) |
create the map that tells how many pairs it takes to travel along longest route from atom1 to atom2 of the anchor_pair. Recursive function. | |
static void | findAndSetTrinsics (ImageMolecule &mol, TFinder WAY) |
static void | getCyclePairsAndAtoms (const ImageMolecule &mol, const std::map< cv::Ptr< ImageAtom >, size_t > &num_steps, const cv::Ptr< ImageAtom > &in_atom, std::map< cv::Ptr< ImageAtom >, AtomPair > &atom_to_pair_map, std::list< cv::Ptr< ImageAtom > > &atomchain, std::list< AtomPair > &cyclePairs) |
work backward from 'atom2' in anchor pair, store list of pairs and atoms along the way until getting back to atom1 anchor. kept hidden to discourage improper external usage. | |
static AtomPair | matchwithFitter (cv::Ptr< ImageAtom > atom1, cv::Ptr< ImageAtom > atom2, ModelFitter &modelfitter) |
static AtomPair | matchwithFitter (cv::Ptr< ImageAtom > atom1, cv::Ptr< ImageAtom > atom2, cv::Ptr< ModelFitter > modelfitter) |
static std::list< AtomPair > | queryWithAtom (const ImageMolecule &molecule, cv::Ptr< ImageAtom > atom2, cv::Ptr< ModelFitter > modelfitter, float angle_thresh=-1.0) |
Static Public Attributes | |
static const std::string | GRAPHVIZ_FILENAME = "pairgraph.viz" |
static const std::string | SHOW_PAIRS = "SHOW_PAIRS" |
static const std::string | VERBOSE_GRAPHVIZ_FILENAME = "pairgraph.verbose.viz" |
Private Member Functions | |
MoleculeProcessor () |
A container for algorithms that run on a molecule. For now does not store any particular data. In the future it might have some settings stored.
Definition at line 24 of file MoleculeProcessor.h.
Definition at line 75 of file MoleculeProcessor.h.
pano::MoleculeProcessor::MoleculeProcessor | ( | ) | [private] |
Definition at line 29 of file MoleculeProcessor.cpp.
static void pano::MoleculeProcessor::create_num_steps_map | ( | const ImageMolecule & | mol, |
const cv::Ptr< ImageAtom > | anchor_atom, | ||
const cv::Ptr< ImageAtom > & | atom, | ||
std::map< cv::Ptr< ImageAtom >, size_t > & | num_steps_map, | ||
std::map< cv::Ptr< ImageAtom >, std::set< std::string > > | atoms_queried, | ||
std::map< cv::Ptr< ImageAtom >, bool > & | node_lock, | ||
const std::string & | graphvizDbgFilename = std::string("") |
||
) | [static] |
create the map that tells how many pairs it takes to travel along longest route from atom1 to atom2 of the anchor_pair. Recursive function.
void pano::MoleculeProcessor::findAndSetTrinsics | ( | ImageMolecule & | mol, |
TFinder | WAY | ||
) | [static] |
this finds and sets the TM and confidence for each atom in the molecule
mol |
Definition at line 180 of file MoleculeProcessor.cpp.
static void pano::MoleculeProcessor::getCyclePairsAndAtoms | ( | const ImageMolecule & | mol, |
const std::map< cv::Ptr< ImageAtom >, size_t > & | num_steps, | ||
const cv::Ptr< ImageAtom > & | in_atom, | ||
std::map< cv::Ptr< ImageAtom >, AtomPair > & | atom_to_pair_map, | ||
std::list< cv::Ptr< ImageAtom > > & | atomchain, | ||
std::list< AtomPair > & | cyclePairs | ||
) | [static] |
work backward from 'atom2' in anchor pair, store list of pairs and atoms along the way until getting back to atom1 anchor. kept hidden to discourage improper external usage.
static AtomPair pano::MoleculeProcessor::matchwithFitter | ( | cv::Ptr< ImageAtom > | atom1, |
cv::Ptr< ImageAtom > | atom2, | ||
ModelFitter & | modelfitter | ||
) | [static] |
Take two atoms and a generic modelfitter, create ImageAtomPair. success/failure of the matching is stored inside the ImageAtomPair.
static AtomPair pano::MoleculeProcessor::matchwithFitter | ( | cv::Ptr< ImageAtom > | atom1, |
cv::Ptr< ImageAtom > | atom2, | ||
cv::Ptr< ModelFitter > | modelfitter | ||
) | [inline, static] |
Definition at line 43 of file MoleculeProcessor.h.
std::list< AtomPair > pano::MoleculeProcessor::queryWithAtom | ( | const ImageMolecule & | molecule, |
cv::Ptr< ImageAtom > | atom2, | ||
cv::Ptr< ModelFitter > | modelfitter, | ||
float | angle_thresh = -1.0 |
||
) | [static] |
Using a 'fit method' to align <this> atom with input atom
atom2 | : incoming atom to match |
modelfitter,: | a type of fit scheme to match Does NOT change molecule, generates list of pairs containing atom2 and atoms in molecule that atom2 wants to bind to. |
Definition at line 45 of file MoleculeProcessor.cpp.
const std::string pano::MoleculeProcessor::GRAPHVIZ_FILENAME = "pairgraph.viz" [static] |
default filename for saving meta data to graphviz 'dot' file
Definition at line 34 of file MoleculeProcessor.h.
const std::string pano::MoleculeProcessor::SHOW_PAIRS = "SHOW_PAIRS" [static] |
show pairs while matching (e.g. point correspondence)
Definition at line 31 of file MoleculeProcessor.h.
const std::string pano::MoleculeProcessor::VERBOSE_GRAPHVIZ_FILENAME = "pairgraph.verbose.viz" [static] |
default filename for saving meta data to verbose graphviz 'dot' file
Definition at line 37 of file MoleculeProcessor.h.