Classes | Typedefs | Functions | Variables
pano Namespace Reference

Classes

struct  _RadiusPoint
struct  AtomPair
struct  AtomPairDist
struct  AtomPairLess
struct  AtomPairMin
class  Blender
class  BlenderAlpha
class  BlenderMultiband
class  BlenderNoBlend
class  BlenderSimple
class  BlurDetector
struct  Callback
class  CallbackEngine
class  Camera
class  CaptureEngine
class  Copier
struct  DCallback
class  drawable
class  Extrinsics
class  Features
struct  FitPair
class  FitterResult
struct  GCallback
class  GenericModelFitter
struct  Globber
class  GriddedDynamicDetectorAdaptor
class  HugeImage
class  ImageAtom
class  ImageMolecule
class  Images
class  ModelFitter
class  ModelFitterParams
class  MoleculeGlob
struct  MoleculePeeler
class  MoleculeProcessor
struct  PairGlobber
struct  PairNode
struct  PairNodeData
struct  PairPointsCSV
class  PriorTracker
class  Projector
class  SCopier
class  serializable
class  SparseProjector
struct  SVDFitR
struct  SVDRSolverParams

Typedefs

typedef std::set< AtomPair,
AtomPairLess
AtomPairSet
typedef std::vector< cv::KeyPoint > KeypointVector
typedef std::vector< cv::DMatch > MatchesVector
typedef void(* MDoperator )(cv::InputArray, cv::InputArray, cv::OutputArray, double, int)
typedef float(* PairBlendConfFPT )(float err_new, float err_prv)
 a typedef for easily swapping out the blending confidence function for PairNode. Want to allow low-confidence things to get drawn, but only if they don't overlap something else that has high confidence.
typedef float(* PairMatchErrFPT )(const AtomPair &pair, const PairNodeData &node_data)
 a typedef for easily swapping out the error function for PairNode.
typedef GenericModelFitter
< SVDFitR, SVDRSolverParams
SVDFitter

Functions

void alphaCompose (Mat &rgb1, const Mat &alpha, const Mat &one_minus_alpha, Mat &rgb_dest)
float angularDist (const Extrinsics &ext1, const Extrinsics &ext2)
float calcError (const Point3f &p1, const Point3f &p2, const Mat &R, const Mat &K)
float calcError (const std::vector< Point3f > &pts1, const std::vector< Point3f > &pts2, const std::vector< uchar > &mask, const cv::Mat &R, const cv::Mat &K, int norm_type)
float calcError (const cv::Point3f &p1, const cv::Point3f &p2, const cv::Mat &R, const cv::Mat &K)
float calcError (const std::vector< cv::Point3f > &pts1, const std::vector< cv::Point3f > &pts2, const std::vector< uchar > &mask, const cv::Mat &R, const cv::Mat &K, int norm_type=cv::NORM_L1)
float calcReprojectonError (const vector< Point2f > &pts1, const vector< Point2f > &pts2, const std::vector< uchar > &mask, const cv::Mat &R, const cv::Mat &_K, int norm_type)
float calcReprojectonError (const std::vector< cv::Point2f > &pts1, const std::vector< cv::Point2f > &pts2, const std::vector< uchar > &mask, const cv::Mat &R, const cv::Mat &K, int norm_type=cv::NORM_L1)
bool compareRealToIndexPair (const std::pair< double, int > &lhs, const std::pair< double, int > &rhs)
 helper to sort a vector of distance index pairs
void convertRTtoG (const cv::Mat &R, const cv::Mat &T, cv::Mat &G)
 concatenate 3x3 R and 3x1 T into a 4x4 G matrix
cv::Mat createHomogSphrCoords (const cv::Size &sphere_size, float theta_range=2 *CV_PI, float phi_range=CV_PI)
void DijkstraWay (ImageMolecule &mol)
void divideImageByDoubleWeights (const cv::Mat &img, const cv::Mat &weights, cv::Mat &output, std::vector< cv::Mat > *cache_channels=0)
void divideImageByFloatWeights (const cv::Mat &img, const cv::Mat &weights, cv::Mat &output, std::vector< cv::Mat > *cache_channels=0)
void drawMatchesRelative (const Features &train, const Features &query, const std::vector< cv::DMatch > &matches, Mat &img, const vector< unsigned char > &mask)
void drawMatchesRelative (const Features &train, const Features &query, const std::vector< cv::DMatch > &matches, cv::Mat &img, const std::vector< unsigned char > &mask=std::vector< unsigned char >())
cv::Mat getRv (const cv::Mat &R)
int getUID ()
void initAlphaMat (const Size &sz, Mat &alpha, int feather_width)
void initAlphaMat (const cv::Size &sz, cv::Mat &alpha, int feather_width)
void KeyPointsToPoints (const KeypointVector &keypts, std::vector< cv::Point2f > &pts)
void matches2points (const KeypointVector &train, const KeypointVector &query, const MatchesVector &matches, std::vector< cv::Point2f > &pts_train, std::vector< cv::Point2f > &pts_query)
void matches2points (const KeypointVector &train, const KeypointVector &query, const MatchesVector &matches, std::vector< cv::Point2f > &pts_train, std::vector< Point2f > &pts_query)
void mdImageByDoubleWeights (const cv::Mat &img, const cv::Mat &weights, cv::Mat &output, MDoperator md, std::vector< cv::Mat > *cache_channels)
void mdImageByFloatWeights (const cv::Mat &img, const cv::Mat &weights, cv::Mat &output, MDoperator md, std::vector< cv::Mat > *cache_channels)
void multiplyImageByDoubleWeights (const cv::Mat &img, const cv::Mat &weights, cv::Mat &output, std::vector< cv::Mat > *cache_channels=0)
void multiplyImageByFloatWeights (const cv::Mat &img, const cv::Mat &weights, cv::Mat &output, std::vector< cv::Mat > *cache_channels=0)
std::ostream & operator<< (std::ostream &out, const PairNode &node)
std::ostream & operator<< (std::ostream &out, const AtomPair &pair)
bool operator== (const cv::Point2f &pt1, _RadiusPoint< cv::Point2f > pt2)
bool operator== (const cv::Point3f &pt1, _RadiusPoint< cv::Point3f > pt2)
float PairConfExpLaw (float err_new, float err_prv)
float PairConfInvLaw (float err_new, float err_prv)
float PairErrorAvoidCompassChain (const AtomPair &pair, const PairNodeData &node_data)
float PairErrorInliers (const AtomPair &pair, const PairNodeData &node_data)
float PairErrorSimple (const AtomPair &pair, const PairNodeData &node_data)
void point2fto3dMat (const cv::Point2f &p1, const cv::Mat &Kinv, cv::Mat &p13d)
cv::Mat point2fto3dMat (const cv::Point2f &p1, const cv::Mat &Kinv)
cv::Point3f point2fTo3f (const cv::Point2f &p1, const cv::Mat &Kinverse)
cv::Point2f point3fTo2f (const cv::Point3f &p1, const cv::Mat &K)
template<typename Inserter , typename Begin , typename End >
void points2fto3f (Begin begin, End end, Inserter it, const cv::Mat &Kinverse)
template<typename Inserter , typename Begin , typename End >
void points3fto2f (Begin begin, End end, Inserter it, const cv::Mat &K)
void PointsToKeyPoints (const std::vector< cv::Point2f > &keypts, KeypointVector &pts)
cv::Mat pt2f_to_3d (const cv::Point2f &p1, const cv::Mat &K)
template<typename T >
_RadiusPoint< T > RadiusPoint (float r, const T &pt2)
void rescaleFloatImage1 (cv::Mat &img)
void rescaleFloatImage1_clip (cv::Mat &img)
void rescaleFloatImage1_shiftMin_divideMax (cv::Mat &img)
void rescaleFloatImage256 (cv::Mat &img)
void rescaleFloatImage256_clip (cv::Mat &img)
template<typename CSVSavable >
void saveMatCsv (const CSVSavable &mat, const std::string &name, bool append)
 allows each output of cv::Mat in cv::Matlab forcv::Mat to std::cout use like
float scorematch (const std::vector< cv::DMatch > &matches)
void sharpen_backwards_heat_equation (const cv::Mat &src, cv::Mat &dst, float alpha=.02)
cv::Mat skewsym (const cv::Mat &x)
void sparsifyMatches (const ImageAtom &atom1, const ImageAtom &atom2, std::vector< cv::Point2f > &pts1, std::vector< cv::Point2f > &pts2, int iKeep=50)
void sparsifyMatches (AtomPair &pair, int iKeep=50)
std::string strip (const std::string &str, const std::string &what)

Variables

static const float PI = 3.14159265f
static int uid_gen = 0

Typedef Documentation

Definition at line 261 of file ModelFitter.h.

typedef std::vector<cv::KeyPoint> pano::KeypointVector

store list of key points from 'feature detection'

Definition at line 48 of file feature_utils.h.

typedef std::vector<cv::DMatch> pano::MatchesVector

store list of 'match points' and 'match scores' between two sets of keypoints

Definition at line 52 of file feature_utils.h.

typedef void(* pano::MDoperator)(cv::InputArray, cv::InputArray, cv::OutputArray, double, int)

Definition at line 80 of file panoutils.h.

typedef float(* pano::PairBlendConfFPT)(float err_new, float err_prv)

a typedef for easily swapping out the blending confidence function for PairNode. Want to allow low-confidence things to get drawn, but only if they don't overlap something else that has high confidence.

Definition at line 41 of file PairNode.h.

typedef float(* pano::PairMatchErrFPT)(const AtomPair &pair, const PairNodeData &node_data)

a typedef for easily swapping out the error function for PairNode.

Definition at line 35 of file PairNode.h.

Definition at line 467 of file ModelFitter.h.


Function Documentation

void pano::alphaCompose ( Mat &  rgb1,
const Mat &  alpha,
const Mat &  one_minus_alpha,
Mat &  rgb_dest 
)

Definition at line 105 of file Blender.cpp.

float pano::angularDist ( const Extrinsics &  ext1,
const Extrinsics &  ext2 
) [inline]

Definition at line 91 of file Extrinsics.h.

float pano::calcError ( const Point3f &  p1,
const Point3f &  p2,
const Mat &  R,
const Mat &  K 
)

Definition at line 228 of file ModelFitter.cpp.

float pano::calcError ( const std::vector< Point3f > &  pts1,
const std::vector< Point3f > &  pts2,
const std::vector< uchar > &  mask,
const cv::Mat &  R,
const cv::Mat &  K,
int  norm_type 
)

Definition at line 240 of file ModelFitter.cpp.

float pano::calcError ( const cv::Point3f &  p1,
const cv::Point3f &  p2,
const cv::Mat &  R,
const cv::Mat &  K 
)

gets the L2 norm between the p1 and p2 given an R takes {p2} = R * p1 return norm(p2 , {p2})

float pano::calcError ( const std::vector< cv::Point3f > &  pts1,
const std::vector< cv::Point3f > &  pts2,
const std::vector< uchar > &  mask,
const cv::Mat &  R,
const cv::Mat &  K,
int  norm_type = cv::NORM_L1 
)
float pano::calcReprojectonError ( const vector< Point2f > &  pts1,
const vector< Point2f > &  pts2,
const std::vector< uchar > &  mask,
const cv::Mat &  R,
const cv::Mat &  _K,
int  norm_type 
)

Definition at line 262 of file ModelFitter.cpp.

float pano::calcReprojectonError ( const std::vector< cv::Point2f > &  pts1,
const std::vector< cv::Point2f > &  pts2,
const std::vector< uchar > &  mask,
const cv::Mat &  R,
const cv::Mat &  K,
int  norm_type = cv::NORM_L1 
)

lift p1 to 3d, rotate points by R, reproject by K, compare to p2. also takes the mask for doing this for only a subset.

bool pano::compareRealToIndexPair ( const std::pair< double, int > &  lhs,
const std::pair< double, int > &  rhs 
) [inline]

helper to sort a vector of distance index pairs

Definition at line 38 of file panoutils.h.

void pano::convertRTtoG ( const cv::Mat &  R,
const cv::Mat &  T,
cv::Mat &  G 
)

concatenate 3x3 R and 3x1 T into a 4x4 G matrix

Definition at line 296 of file ModelFitter.cpp.

cv::Mat pano::createHomogSphrCoords ( const cv::Size &  sphere_size,
float  theta_range = 2 * CV_PI,
float  phi_range = CV_PI 
)

Definition at line 188 of file Projector.cpp.

void pano::DijkstraWay ( ImageMolecule &  mol)

Definition at line 108 of file MoleculeProcessor.cpp.

void pano::divideImageByDoubleWeights ( const cv::Mat &  img,
const cv::Mat &  weights,
cv::Mat &  output,
std::vector< cv::Mat > *  cache_channels = 0 
) [inline]

Definition at line 100 of file panoutils.h.

void pano::divideImageByFloatWeights ( const cv::Mat &  img,
const cv::Mat &  weights,
cv::Mat &  output,
std::vector< cv::Mat > *  cache_channels = 0 
) [inline]

Definition at line 92 of file panoutils.h.

void pano::drawMatchesRelative ( const Features &  train,
const Features &  query,
const std::vector< cv::DMatch > &  matches,
Mat &  img,
const vector< unsigned char > &  mask 
)

Definition at line 49 of file Features.cpp.

void pano::drawMatchesRelative ( const Features &  train,
const Features &  query,
const std::vector< cv::DMatch > &  matches,
cv::Mat &  img,
const std::vector< unsigned char > &  mask = std::vector< unsigned char >() 
)
cv::Mat pano::getRv ( const cv::Mat &  R) [inline]

return the effect of R on a unit vector on z axis

Definition at line 29 of file panoutils.h.

int pano::getUID ( )

Definition at line 16 of file ImageAtom.cpp.

void pano::initAlphaMat ( const Size &  sz,
Mat &  alpha,
int  feather_width 
)

Definition at line 31 of file Blender.cpp.

void pano::initAlphaMat ( const cv::Size &  sz,
cv::Mat &  alpha,
int  feather_width 
)
void pano::KeyPointsToPoints ( const KeypointVector &  keypts,
std::vector< cv::Point2f > &  pts 
)

convert from a vector of 'keypoints' with N-d data to 2d xy points

Definition at line 46 of file feature_utils.cpp.

void pano::matches2points ( const KeypointVector &  train,
const KeypointVector &  query,
const MatchesVector &  matches,
std::vector< cv::Point2f > &  pts_train,
std::vector< cv::Point2f > &  pts_query 
)

convert from a vector of 'match points' with N-d data to 2d xy points

void pano::matches2points ( const KeypointVector &  train,
const KeypointVector &  query,
const MatchesVector &  matches,
std::vector< cv::Point2f > &  pts_train,
std::vector< Point2f > &  pts_query 
)

Definition at line 66 of file feature_utils.cpp.

void pano::mdImageByDoubleWeights ( const cv::Mat &  img,
const cv::Mat &  weights,
cv::Mat &  output,
MDoperator  md,
std::vector< cv::Mat > *  cache_channels 
)

Definition at line 30 of file panoutils.cpp.

void pano::mdImageByFloatWeights ( const cv::Mat &  img,
const cv::Mat &  weights,
cv::Mat &  output,
MDoperator  md,
std::vector< cv::Mat > *  cache_channels 
)

Definition at line 6 of file panoutils.cpp.

void pano::multiplyImageByDoubleWeights ( const cv::Mat &  img,
const cv::Mat &  weights,
cv::Mat &  output,
std::vector< cv::Mat > *  cache_channels = 0 
) [inline]

Definition at line 96 of file panoutils.h.

void pano::multiplyImageByFloatWeights ( const cv::Mat &  img,
const cv::Mat &  weights,
cv::Mat &  output,
std::vector< cv::Mat > *  cache_channels = 0 
) [inline]

Definition at line 88 of file panoutils.h.

std::ostream & pano::operator<< ( std::ostream &  out,
const PairNode &  node 
)

encapsulate dumping node meta-data along with the pair of atoms it contains

Definition at line 725 of file MoleculeProcessor.cpp.

std::ostream & pano::operator<< ( std::ostream &  out,
const AtomPair &  pair 
)

encapsulate dumping pair-only, less meta-data than a PairNode

Definition at line 756 of file MoleculeProcessor.cpp.

bool pano::operator== ( const cv::Point2f &  pt1,
_RadiusPoint< cv::Point2f >  pt2 
) [inline]

Definition at line 39 of file feature_utils.h.

bool pano::operator== ( const cv::Point3f &  pt1,
_RadiusPoint< cv::Point3f >  pt2 
) [inline]

Definition at line 42 of file feature_utils.h.

float pano::PairConfExpLaw ( float  err_new,
float  err_prv 
) [inline]

exponential decrease of blender confidence with match error

Definition at line 45 of file PairNode.h.

float pano::PairConfInvLaw ( float  err_new,
float  err_prv 
) [inline]

1/x decrease of blender confidence with match error m-code: E = logspace(-1,3,500); gam0 = beta0 * C0; CofE = gam0 ./ (E+eps0) + alpha; loglog(E,CofE)

Definition at line 61 of file PairNode.h.

float pano::PairErrorAvoidCompassChain ( const AtomPair &  pair,
const PairNodeData &  node_data 
) [inline]

example of error function that is use something regarding the entire graph, which would not be available to the modelfitter + fitter_result

Returns:
result.error + increasing_function_of( depth_in_tree )

Definition at line 86 of file PairNode.h.

float pano::PairErrorInliers ( const AtomPair &  pair,
const PairNodeData &  node_data 
) [inline]

Return inliers-weighted error. Assumes things about how Modelfitter Error relates to inliers, when ModelFitter is a generic class. Makes sense for SVD as it stands.

Returns:
result.err + 1/result.inliers

Definition at line 74 of file PairNode.h.

float pano::PairErrorSimple ( const AtomPair &  pair,
const PairNodeData &  node_data 
) [inline]

Definition at line 78 of file PairNode.h.

void pano::point2fto3dMat ( const cv::Point2f &  p1,
const cv::Mat &  Kinv,
cv::Mat &  p13d 
) [inline]

Definition at line 380 of file ModelFitter.h.

cv::Mat pano::point2fto3dMat ( const cv::Point2f &  p1,
const cv::Mat &  Kinv 
) [inline]

Definition at line 386 of file ModelFitter.h.

cv::Point3f pano::point2fTo3f ( const cv::Point2f &  p1,
const cv::Mat &  Kinverse 
) [inline]

Definition at line 399 of file ModelFitter.h.

cv::Point2f pano::point3fTo2f ( const cv::Point3f &  p1,
const cv::Mat &  K 
) [inline]

Definition at line 407 of file ModelFitter.h.

template<typename Inserter , typename Begin , typename End >
void pano::points2fto3f ( Begin  begin,
End  end,
Inserter  it,
const cv::Mat &  Kinverse 
)

Definition at line 416 of file ModelFitter.h.

template<typename Inserter , typename Begin , typename End >
void pano::points3fto2f ( Begin  begin,
End  end,
Inserter  it,
const cv::Mat &  K 
)

Definition at line 427 of file ModelFitter.h.

void pano::PointsToKeyPoints ( const std::vector< cv::Point2f > &  keypts,
KeypointVector &  pts 
)

Definition at line 56 of file feature_utils.cpp.

cv::Mat pano::pt2f_to_3d ( const cv::Point2f &  p1,
const cv::Mat &  K 
) [inline]

'lift' 2d to 3d points via K and assumption of being on unit sphere

Definition at line 394 of file ModelFitter.h.

template<typename T >
_RadiusPoint<T> pano::RadiusPoint ( float  r,
const T &  pt2 
)

Definition at line 35 of file feature_utils.h.

void pano::rescaleFloatImage1 ( cv::Mat &  img) [inline]

Definition at line 143 of file panoutils.h.

void pano::rescaleFloatImage1_clip ( cv::Mat &  img) [inline]

Definition at line 164 of file panoutils.h.

void pano::rescaleFloatImage1_shiftMin_divideMax ( cv::Mat &  img) [inline]

Definition at line 126 of file panoutils.h.

void pano::rescaleFloatImage256 ( cv::Mat &  img) [inline]

Definition at line 105 of file panoutils.h.

void pano::rescaleFloatImage256_clip ( cv::Mat &  img) [inline]

Definition at line 195 of file panoutils.h.

template<typename CSVSavable >
void pano::saveMatCsv ( const CSVSavable &  mat,
const std::string &  name,
bool  append 
)

allows each output of cv::Mat in cv::Matlab forcv::Mat to std::cout use like

// std::cout << mycv::Mat;
// 

write a cv::Matrix in csv forcv::Mat for cv::Matlab. This means that the rows are seperated by newlines and the columns by commas .... 331.413896619595,0,122.365880226491 0,249.320451610369,122.146722131871 0,0,1

Parameters:
outoutput stream to write to
cv::Matwrite a cv::Mat to a csvSaves a cv::Mat csv file for using in Matlab
MatThe Mat.
nameThe name.
appendtrue to append.

Definition at line 73 of file panoutils.h.

float pano::scorematch ( const std::vector< cv::DMatch > &  matches) [inline]

Definition at line 67 of file feature_utils.h.

void pano::sharpen_backwards_heat_equation ( const cv::Mat &  src,
cv::Mat &  dst,
float  alpha = .02 
)

apply 'unknown blur' deblurring. for efficiency, write to the source back in it's format.

Definition at line 63 of file BlurDetector.cpp.

cv::Mat pano::skewsym ( const cv::Mat &  x) [inline]

Definition at line 100 of file Extrinsics.h.

void pano::sparsifyMatches ( const ImageAtom &  atom1,
const ImageAtom &  atom2,
std::vector< cv::Point2f > &  pts1,
std::vector< cv::Point2f > &  pts2,
int  iKeep = 50 
)

keep only a subset of points, with lower reproject error via this fitter

void pano::sparsifyMatches ( AtomPair &  pair,
int  iKeep = 50 
)

keep only a subset of points, with lower reproject error via this fitter

Definition at line 310 of file ModelFitter.cpp.

std::string pano::strip ( const std::string &  str,
const std::string &  what 
)

Definition at line 814 of file MoleculeProcessor.cpp.


Variable Documentation

const float pano::PI = 3.14159265f [static]

Definition at line 13 of file Projector.cpp.

int pano::uid_gen = 0 [static]

Definition at line 15 of file ImageAtom.cpp.



pano_core
Author(s): Ethan Rublee
autogenerated on Wed Aug 26 2015 16:34:01