Hugin trunk 0.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
HuginBase::PointSampler Class Referenceabstract

#include <PointSampler.h>

Inheritance diagram for HuginBase::PointSampler:
Inheritance graph

Public Types

typedef std::vector< vigra_ext::PointPairRGBPointPairs
 

Public Member Functions

virtual ~PointSampler ()
 
virtual bool modifiesPanoramaData () const
 returns true if the algorithm changes the PanoramaData.
 
virtual bool runAlgorithm ()
 implementation of the algorithm.
 
PointSamplerexecute ()
 
PointPairs getResultPoints ()
 
- Public Member Functions inherited from HuginBase::TimeConsumingPanoramaAlgorithm
virtual ~TimeConsumingPanoramaAlgorithm ()
 
virtual bool wasCancelled () const
 
- Public Member Functions inherited from HuginBase::PanoramaAlgorithm
virtual ~PanoramaAlgorithm ()
 
virtual bool hasRunSuccessfully ()
 
virtual void run ()
 runs the algorithm.
 

Protected Types

typedef vigra_ext::ImageInterpolator< vigra::FRGBImage::const_traverser, vigra::FRGBImage::ConstAccessor, vigra_ext::interp_cubicInterpolImg
 

Protected Member Functions

 PointSampler (PanoramaData &panorama, AppBase::ProgressDisplay *progressDisplay, std::vector< vigra::FRGBImage * > images, LimitIntensityVector limits, int nPoints)
 
void sampleAndExtractPoints (AppBase::ProgressDisplay *progress)
 
virtual void samplePoints (const std::vector< InterpolImg > &imgs, const std::vector< vigra::FImage * > &voteImgs, const PanoramaData &pano, const LimitIntensityVector limitI, std::vector< std::multimap< double, vigra_ext::PointPairRGB > > &radiusHist, unsigned &nGoodPoints, unsigned &nBadPoints, AppBase::ProgressDisplay *)=0
 
- Protected Member Functions inherited from HuginBase::TimeConsumingPanoramaAlgorithm
 TimeConsumingPanoramaAlgorithm (PanoramaData &panorama, AppBase::ProgressDisplay *progressDisplay=NULL)
 [Warning! it keeps the reference to the panorama data!]
 
virtual AppBase::ProgressDisplaygetProgressDisplay () const
 
virtual bool hasProgressDisplay () const
 
virtual void cancelAlgorithm ()
 Call this when the algorithm is cancelled.
 
virtual void algorithmCancelled ()
 Called when the algorithm got cancelled; override with cleaning up process etc.
 
- Protected Member Functions inherited from HuginBase::PanoramaAlgorithm
 PanoramaAlgorithm (PanoramaData &panorama)
 

Static Protected Member Functions

template<class PointPairClass >
static void sampleRadiusUniform (const std::vector< std::multimap< double, PointPairClass > > &radiusHist, unsigned nPoints, std::vector< PointPairClass > &selectedPoints, AppBase::ProgressDisplay *)
 extract some random points out of the bins.
 

Protected Attributes

std::vector< vigra::FRGBImage * > o_images
 
int o_numPoints
 
PointPairs o_resultPoints
 
LimitIntensityVector m_limits
 
- Protected Attributes inherited from HuginBase::PanoramaAlgorithm
PanoramaDatao_panorama
 
bool o_successful
 

Detailed Description

Definition at line 67 of file PointSampler.h.

Member Typedef Documentation

◆ InterpolImg

typedef vigra_ext::ImageInterpolator<vigra::FRGBImage::const_traverser, vigra::FRGBImage::ConstAccessor, vigra_ext::interp_cubic > HuginBase::PointSampler::InterpolImg
protected

Definition at line 86 of file PointSampler.h.

◆ PointPairs

Definition at line 127 of file PointSampler.h.

Constructor & Destructor Documentation

◆ PointSampler()

HuginBase::PointSampler::PointSampler ( PanoramaData panorama,
AppBase::ProgressDisplay progressDisplay,
std::vector< vigra::FRGBImage * >  images,
LimitIntensityVector  limits,
int  nPoints 
)
inlineprotected

Definition at line 71 of file PointSampler.h.

◆ ~PointSampler()

virtual HuginBase::PointSampler::~PointSampler ( )
inlinevirtual

Definition at line 80 of file PointSampler.h.

Member Function Documentation

◆ execute()

PointSampler & HuginBase::PointSampler::execute ( )
inline

◆ getResultPoints()

PointPairs HuginBase::PointSampler::getResultPoints ( )
inline

◆ modifiesPanoramaData()

virtual bool HuginBase::PointSampler::modifiesPanoramaData ( ) const
inlinevirtual

returns true if the algorithm changes the PanoramaData.

Implements HuginBase::PanoramaAlgorithm.

Definition at line 113 of file PointSampler.h.

◆ runAlgorithm()

bool HuginBase::PointSampler::runAlgorithm ( )
virtual

◆ sampleAndExtractPoints()

void HuginBase::PointSampler::sampleAndExtractPoints ( AppBase::ProgressDisplay progress)
protected

◆ samplePoints()

virtual void HuginBase::PointSampler::samplePoints ( const std::vector< InterpolImg > &  imgs,
const std::vector< vigra::FImage * > &  voteImgs,
const PanoramaData pano,
const LimitIntensityVector  limitI,
std::vector< std::multimap< double, vigra_ext::PointPairRGB > > &  radiusHist,
unsigned nGoodPoints,
unsigned nBadPoints,
AppBase::ProgressDisplay  
)
protectedpure virtual

◆ sampleRadiusUniform()

template<class PointPairClass >
void HuginBase::PointSampler::sampleRadiusUniform ( const std::vector< std::multimap< double, PointPairClass > > &  radiusHist,
unsigned  nPoints,
std::vector< PointPairClass > &  selectedPoints,
AppBase::ProgressDisplay progress 
)
staticprotected

extract some random points out of the bins.

This should ensure that the radius distribution is roughly uniform

Definition at line 270 of file PointSampler.h.

References threshold().

Referenced by sampleAndExtractPoints().

Member Data Documentation

◆ m_limits

LimitIntensityVector HuginBase::PointSampler::m_limits
protected

Definition at line 142 of file PointSampler.h.

Referenced by sampleAndExtractPoints().

◆ o_images

std::vector<vigra::FRGBImage*> HuginBase::PointSampler::o_images
protected

Definition at line 139 of file PointSampler.h.

Referenced by sampleAndExtractPoints().

◆ o_numPoints

int HuginBase::PointSampler::o_numPoints
protected

◆ o_resultPoints

PointPairs HuginBase::PointSampler::o_resultPoints
protected

Definition at line 141 of file PointSampler.h.

Referenced by sampleAndExtractPoints().


The documentation for this class was generated from the following files: