Hugin trunk 0.1
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
HuginBase::CalculateOptimalROI Class Reference

#include <CalculateOptimalROI.h>

Inheritance diagram for HuginBase::CalculateOptimalROI:
Inheritance graph

Public Member Functions

 CalculateOptimalROI (PanoramaData &panorama, AppBase::ProgressDisplay *progress, bool intersect=false)
 constructor
 
 CalculateOptimalROI (PanoramaData &panorama, AppBase::ProgressDisplay *progress, std::vector< UIntSet > hdr_stacks)
 
virtual ~CalculateOptimalROI ()
 destructor
 
virtual bool modifiesPanoramaData () const
 returns true if the algorithm changes the PanoramaData.
 
virtual bool runAlgorithm ()
 implementation of the algorithm.
 
virtual vigra::Rect2D getResultOptimalROI ()
 return the ROI structure?, for now area
 
void setStacks (std::vector< UIntSet > hdr_stacks)
 sets the stack vector
 
- 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.
 

Private Member Functions

bool calcOptimalROI (PanoramaData &panorama)
 
bool imgPixel (int i, int j)
 
bool stackPixel (int i, int j, UIntSet &stack)
 
bool autocrop ()
 
void nonreccheck (const vigra::Rect2D &rect, int acc, int searchStrategy, long &maxvalue)
 
bool CheckRectCoversPano (const vigra::Rect2D &rect)
 check if given rect covers the whole pano
 
void AddCheckingRects (std::list< vigra::Rect2D > &testingRects, const vigra::Rect2D &rect, const long maxvalue)
 add new rect to list of rects to be check, do some checks before
 
void CleanUp ()
 

Private Attributes

vigra::Size2D o_optimalSize
 
bool intersection
 
std::vector< UIntSetstacks
 
UIntSet activeImages
 
std::map< unsigned int, PTools::Transform * > transfMap
 
std::vector< booltestedPixels
 
std::vector< boolpixels
 
vigra::Rect2D m_bestRect
 

Additional Inherited Members

- 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)
 
- Protected Attributes inherited from HuginBase::PanoramaAlgorithm
PanoramaDatao_panorama
 
bool o_successful
 

Detailed Description

Definition at line 37 of file CalculateOptimalROI.h.

Constructor & Destructor Documentation

◆ CalculateOptimalROI() [1/2]

HuginBase::CalculateOptimalROI::CalculateOptimalROI ( PanoramaData panorama,
AppBase::ProgressDisplay progress,
bool  intersect = false 
)
inline

constructor

Definition at line 41 of file CalculateOptimalROI.h.

◆ CalculateOptimalROI() [2/2]

HuginBase::CalculateOptimalROI::CalculateOptimalROI ( PanoramaData panorama,
AppBase::ProgressDisplay progress,
std::vector< UIntSet hdr_stacks 
)
inline

Definition at line 48 of file CalculateOptimalROI.h.

◆ ~CalculateOptimalROI()

virtual HuginBase::CalculateOptimalROI::~CalculateOptimalROI ( )
inlinevirtual

destructor

Definition at line 57 of file CalculateOptimalROI.h.

Member Function Documentation

◆ AddCheckingRects()

void HuginBase::CalculateOptimalROI::AddCheckingRects ( std::list< vigra::Rect2D > &  testingRects,
const vigra::Rect2D &  rect,
const long  maxvalue 
)
private

add new rect to list of rects to be check, do some checks before

Definition at line 176 of file CalculateOptimalROI.cpp.

References o_optimalSize, and threshold().

Referenced by nonreccheck().

◆ autocrop()

bool HuginBase::CalculateOptimalROI::autocrop ( )
private

◆ calcOptimalROI()

bool HuginBase::CalculateOptimalROI::calcOptimalROI ( PanoramaData panorama)
private

◆ CheckRectCoversPano()

bool HuginBase::CalculateOptimalROI::CheckRectCoversPano ( const vigra::Rect2D &  rect)
private

check if given rect covers the whole pano

Definition at line 200 of file CalculateOptimalROI.cpp.

References imgPixel(), and threshold().

Referenced by nonreccheck().

◆ CleanUp()

void HuginBase::CalculateOptimalROI::CleanUp ( )
private

Definition at line 98 of file CalculateOptimalROI.cpp.

References threshold(), and transfMap.

Referenced by calcOptimalROI().

◆ getResultOptimalROI()

virtual vigra::Rect2D HuginBase::CalculateOptimalROI::getResultOptimalROI ( )
inlinevirtual

return the ROI structure?, for now area

Definition at line 70 of file CalculateOptimalROI.h.

◆ imgPixel()

bool HuginBase::CalculateOptimalROI::imgPixel ( int  i,
int  j 
)
private

◆ modifiesPanoramaData()

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

returns true if the algorithm changes the PanoramaData.

Implements HuginBase::PanoramaAlgorithm.

Definition at line 60 of file CalculateOptimalROI.h.

◆ nonreccheck()

void HuginBase::CalculateOptimalROI::nonreccheck ( const vigra::Rect2D &  rect,
int  acc,
int  searchStrategy,
long maxvalue 
)
private

◆ runAlgorithm()

virtual bool HuginBase::CalculateOptimalROI::runAlgorithm ( )
inlinevirtual

implementation of the algorithm.

You should override with your algorithm's implementiation.

Implements HuginBase::PanoramaAlgorithm.

Definition at line 64 of file CalculateOptimalROI.h.

◆ setStacks()

void HuginBase::CalculateOptimalROI::setStacks ( std::vector< UIntSet hdr_stacks)

sets the stack vector

Definition at line 375 of file CalculateOptimalROI.cpp.

References intersection, stacks, and threshold().

◆ stackPixel()

bool HuginBase::CalculateOptimalROI::stackPixel ( int  i,
int  j,
UIntSet stack 
)
private

Member Data Documentation

◆ activeImages

UIntSet HuginBase::CalculateOptimalROI::activeImages
private

Definition at line 92 of file CalculateOptimalROI.h.

Referenced by calcOptimalROI(), and imgPixel().

◆ intersection

bool HuginBase::CalculateOptimalROI::intersection
private

Definition at line 90 of file CalculateOptimalROI.h.

Referenced by setStacks(), and stackPixel().

◆ m_bestRect

vigra::Rect2D HuginBase::CalculateOptimalROI::m_bestRect
private

Definition at line 97 of file CalculateOptimalROI.h.

Referenced by autocrop(), calcOptimalROI(), and nonreccheck().

◆ o_optimalSize

vigra::Size2D HuginBase::CalculateOptimalROI::o_optimalSize
private

Definition at line 89 of file CalculateOptimalROI.h.

Referenced by AddCheckingRects(), autocrop(), calcOptimalROI(), and imgPixel().

◆ pixels

std::vector<bool> HuginBase::CalculateOptimalROI::pixels
private

Definition at line 96 of file CalculateOptimalROI.h.

Referenced by calcOptimalROI(), and imgPixel().

◆ stacks

std::vector<UIntSet> HuginBase::CalculateOptimalROI::stacks
private

Definition at line 91 of file CalculateOptimalROI.h.

Referenced by imgPixel(), and setStacks().

◆ testedPixels

std::vector<bool> HuginBase::CalculateOptimalROI::testedPixels
private

Definition at line 95 of file CalculateOptimalROI.h.

Referenced by calcOptimalROI(), and imgPixel().

◆ transfMap

std::map<unsigned int,PTools::Transform*> HuginBase::CalculateOptimalROI::transfMap
private

Definition at line 93 of file CalculateOptimalROI.h.

Referenced by calcOptimalROI(), CleanUp(), and stackPixel().


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