Basic Image AlgorithmS Library
2.8.0
|
Class for holding multiple downsampled images. More...
#include <Gui/ImageCanvas.hh>
Public Member Functions | |
void | AddDebugLevel (const long int lv) |
void | AddDebugLevel (const std::string &name) |
void | Clear () |
void | clear () |
int | CreateAdditionalLayer (unsigned int numnewLayers=1, unsigned int minImageWidth=32) |
resizes this and fills correctly with smaller images More... | |
bool | DebugLevelIsSet (const long int lv) const |
bool | DebugLevelIsSet (const std::string &name) const |
int | Downsample () |
downsamples from (*this)[0] assumes that all pointers e.g. More... | |
void | Dump (std::ostream &os=std::cout) const |
bool | empty () const |
deprecated interface More... | |
int | GetAnisotropicImageValue (const double &xsource, const double &ysource, const Matrix2x2< double > &Cov, double &T, unsigned int channel=0) const |
computes (Gaussian) expectation value across a region, used e.g. More... | |
int | GetDebugLevel () const |
std::ostream & | GetDebugStream () const |
void | GetDebugStream (std::ostream &os) const |
const std::vector< double > & | GetFactors () const |
std::vector< double > | GetFactors () |
double | GetImageValue (const double &x, const double &y, unsigned int scale, int channel=0) const |
bilinear value from scale space: (x,y) is position in pyramid[0], 0<=scale<=size()-1 is pyramid level More... | |
double | GetPositionOffset () const |
unsigned | GetPyramidSize () const |
deprecated interface More... | |
double | GetRescaleFactor () const |
void | GetSingleImage (Image< StorageType > &im) const |
returns a single image containing all pyramid images More... | |
int | GetTrilinearImageValue (const double &x, const double &y, const double &scale, double &T, int channel=0) const |
trilinear value from scale space: (x,y) is position in pyramid[0], 0<=scale<=size()-1 is pyramid level More... | |
void | Init (const Image< StorageType > &image, const unsigned py_size=0) |
copy image into level 0 and create other levels according to parameters set so far (pyramidsize, filter,...) More... | |
void | Init (const unsigned int width, const unsigned int height, const unsigned int channelcount, const unsigned py_size) |
void | Init (const unsigned pyramid_size) |
initializes with empty images More... | |
void | InitFromImageBase (const ImageBase &image, const unsigned py_size=0) |
same as Init(Image) but can use different ST, e.g. More... | |
bool | IsEmpty () const |
bool | IsInROI (double x, double y, int layer) const |
long int | Name2DebugLevel (const std::string &name) const |
looks up a debuglevel in the internal map, returns 0 if not found More... | |
long int | NewDebugLevel (const std::string &name) |
creates a new debuglevel More... | |
PyramidImage< StorageType > & | operator= (const PyramidImage< StorageType > &pim) |
deep copy assignement More... | |
SharedPtr< Image< StorageType > > & | operator[] (const unsigned index) |
element access More... | |
SharedPtr< const Image < StorageType > > | operator[] (const unsigned index) const |
void | PrintDebugLevel (std::ostream &os=std::cout) const |
PyramidImage () | |
PyramidImage (const PyramidImage< StorageType > &pim) | |
PyramidImage (const double factor, const std::vector< SharedPtr< Image< StorageType > > > &imgs) | |
void | RemoveDebugLevel (const long int lv) |
void | RemoveDebugLevel (const std::string &name) |
virtual void | resize (const unsigned size) |
void | SetDebugLevel (const long int lv) |
void | SetDebugLevel (const std::string &name) |
void | SetDebugStream (const std::ostream &os) |
void | SetLowPassFilter (const FilterNToN< StorageType, StorageType > &filter) |
void | SetLowPassType (int lpt) |
void | SetRescaleFactor (const double factor) |
int | SetROI (unsigned minx, unsigned miny, unsigned maxx, unsigned maxy) |
set the ROI for all images More... | |
int | SetROI (const ROI &roi) |
set the ROI for all images from original ROI from Img More... | |
void | SetUID (BIAS::UUID uid) |
void | SetZero () |
sets all pixels in all images to zero More... | |
virtual PyramidImageInterface < StorageType > * | ShallowClone () const |
create a shallow clone More... | |
PyramidImage< StorageType > & | ShallowCopy (const PyramidImage< StorageType > &pim) |
sets this as shallow copy of pim More... | |
void | ShowDebugLevel (std::ostream &os=std::cout) const |
prints all internally known debuglevels More... | |
unsigned | size () const |
deprecated interface More... | |
unsigned | Size () const |
int | WriteImages (const std::string &prefix) const |
writes a file in mip format per pyramid level using prefix More... | |
~PyramidImage () | |
Static Public Member Functions | |
static long int | GetGlobalDebugLevel () |
static void | SetGlobalDebugLevel (long int lev) |
Protected Member Functions | |
void | _CreateLevels () |
creates the levels by downsampling from (*this)[0] More... | |
long | ConsumeNextFreeDebuglevel_ () |
returns the next available debuglevel More... | |
virtual void | push_back (SharedPtr< Image< StorageType > > img) |
Protected Attributes | |
std::vector< SharedPtr< Image < StorageType > > > | _Images |
long int | _liDebugLevel |
long int | _liNextDebugLevel |
new concept, debuglevel are managed here in the debug class More... | |
double | _PositionOffset |
Offset which needs to be used when transferring point locations between pyramid levels: More... | |
Rescale< StorageType, StorageType > | _rescale |
double | _RescaleFactor |
std::map< std::string, long int > | _String2Debuglevel |
std::vector< double > | _vFactor |
Static Protected Attributes | |
static std::ostream | _zDebugStream |
static long int | GlobalDebugLevel = 0 |
Class for holding multiple downsampled images.
Represent a pyramid image, i.e. multiple downsampled images. The image with index 0 has the original size, while each (i+1)-th image has half the size of the i-th image.
Definition at line 30 of file ImageCanvas.hh.
BIAS::PyramidImage< T >::PyramidImage | ( | ) |
BIAS::PyramidImage< T >::PyramidImage | ( | const PyramidImage< StorageType > & | pim | ) |
BIAS::PyramidImage< T >::PyramidImage | ( | const double | factor, |
const std::vector< SharedPtr< Image< StorageType > > > & | imgs | ||
) |
BIAS::PyramidImage< T >::~PyramidImage | ( | ) |
|
protected |
creates the levels by downsampling from (*this)[0]
|
inlineinherited |
Definition at line 355 of file Debug.hh.
Referenced by BIAS::GLProjectionParametersBase::AddDebugLevel(), BIAS::Triangulation::CorrectCorrespondences(), BIAS::FilterBase< InputStorageType, OutputStorageType >::FilterBase(), BIAS::ShowCamWxVideoSourceFactory::OpenDevice(), and BIAS::SceneOpenSceneGraph::SceneOpenSceneGraph().
|
inlineinherited |
|
virtual |
Implements BIAS::PyramidImageInterface< StorageType >.
|
inline |
Definition at line 88 of file PyramidImage.hh.
Referenced by BIAS::PyramidImage< StorageType >::Clear().
|
inlineprotectedinherited |
int BIAS::PyramidImage< T >::CreateAdditionalLayer | ( | unsigned int | numnewLayers = 1 , |
unsigned int | minImageWidth = 32 |
||
) |
resizes this and fills correctly with smaller images
Make sure that you do not change the filter type between initial pyramid creation and the call to this function, otherwise the global scalar _PositionOffset becomes inconsistent
No images smaller than minImageWidth will be created. I case such an image is rejected, return value is set to +1.
|
inlineinherited |
Definition at line 341 of file Debug.hh.
Referenced by BIAS::GenSynthMatches::_AddUniformDistributedOutliers(), BIAS::GenSynthMatches::_CreateCamMovement(), BIAS::GenSynthMatches::_CreateStatic2DPoints(), BIAS::UnscentedTransform::ComputeSigmaPoints_(), BIAS::Triangulation::CorrectCorrespondences(), BIAS::GenSynthMatches::GetGTNormalizedF(), BIAS::MonteCarloTransform::GetSamples_(), and BIAS::MonteCarloTransform::Transform().
|
inlineinherited |
|
virtual |
downsamples from (*this)[0] assumes that all pointers e.g.
(*this)[1] are valid and point to an image of correct size returns 0 on success, anything else on failure
Implements BIAS::PyramidImageInterface< StorageType >.
|
virtual |
Implements BIAS::PyramidImageInterface< StorageType >.
|
inlineinherited |
deprecated interface
Definition at line 97 of file PyramidImageInterface.hh.
int BIAS::PyramidImage< T >::GetAnisotropicImageValue | ( | const double & | xsource, |
const double & | ysource, | ||
const Matrix2x2< double > & | Cov, | ||
double & | T, | ||
unsigned int | channel = 0 |
||
) | const |
computes (Gaussian) expectation value across a region, used e.g.
in anisotropic anti-aliasing
Referenced by BIAS::ImageAlignment::Align().
|
inlineinherited |
Definition at line 332 of file Debug.hh.
Referenced by BIAS::listenthread(), BIAS::Image< StorageType >::operator=(), and BIAS::ImageBase::operator=().
|
inlineinherited |
|
inlineinherited |
|
inline |
Definition at line 203 of file PyramidImage.hh.
Referenced by BIAS::PyramidImage< StorageType >::operator=(), and BIAS::PyramidImage< StorageType >::ShallowCopy().
|
inline |
Definition at line 205 of file PyramidImage.hh.
|
inlinestaticinherited |
|
virtual |
bilinear value from scale space: (x,y) is position in pyramid[0], 0<=scale<=size()-1 is pyramid level
Slow, but correct implementation, with boundary checking, takes care of PositionOffset
Implements BIAS::PyramidImageInterface< StorageType >.
Referenced by BIAS::ImageAlignment::Align().
|
inlinevirtual |
Implements BIAS::PyramidImageInterface< StorageType >.
Definition at line 209 of file PyramidImage.hh.
Referenced by BIAS::PyramidImage< StorageType >::operator=(), and BIAS::PyramidImage< StorageType >::ShallowCopy().
|
inlineinherited |
deprecated interface
Definition at line 110 of file PyramidImageInterface.hh.
|
inlinevirtual |
Implements BIAS::PyramidImageInterface< StorageType >.
Definition at line 195 of file PyramidImage.hh.
|
virtual |
returns a single image containing all pyramid images
Implements BIAS::PyramidImageInterface< StorageType >.
Referenced by BIAS::ScaledImageCanvas::Show(), BIAS::ImageCanvas::Show(), and BIAS::GuiBase::ShowImage().
|
virtual |
trilinear value from scale space: (x,y) is position in pyramid[0], 0<=scale<=size()-1 is pyramid level
Slow, but correct implementation, with boundary checking, takes care of PositionOffset
Implements BIAS::PyramidImageInterface< StorageType >.
Referenced by BIAS::ImageAlignment::Align().
|
virtual |
copy image into level 0 and create other levels according to parameters set so far (pyramidsize, filter,...)
py_size | 0=auto, 1=only original image |
Implements BIAS::PyramidImageInterface< StorageType >.
Referenced by BIAS::GuiBase::ShowImage().
|
virtual |
Implements BIAS::PyramidImageInterface< StorageType >.
|
virtual |
initializes with empty images
Implements BIAS::PyramidImageInterface< StorageType >.
|
virtual |
same as Init(Image) but can use different ST, e.g.
construct float pyramid from uchar image, uses ImageConvert then.
py_size | 0=auto, 1=only original image |
Implements BIAS::PyramidImageInterface< StorageType >.
|
inlinevirtual |
Implements BIAS::PyramidImageInterface< StorageType >.
Definition at line 178 of file PyramidImage.hh.
bool BIAS::PyramidImage< T >::IsInROI | ( | double | x, |
double | y, | ||
int | layer | ||
) | const |
Referenced by BIAS::ImageAlignment::Align(), and BIAS::PyramidImage< StorageType >::IsInROI().
|
inlineinherited |
|
inlineinherited |
creates a new debuglevel
Definition at line 474 of file Debug.hh.
Referenced by BIAS::COSAC< SolutionType >::COSAC(), BIAS::ProjectionParametersPerspectiveDepth::Init(), BIAS::MonteCarloTransform::MonteCarloTransform(), BIAS::PMatrixEstimation::PMatrixEstimation(), BIAS::PreemptiveRANSAC< SolutionType >::PreemptiveRANSAC(), BIAS::RANSACPreKnowledge< SolutionType >::RANSACPreKnowledge(), BIAS::ROI::ROI(), BIAS::RotationAveraging::RotationAveraging(), BIAS::SceneOpenSceneGraph::SceneOpenSceneGraph(), BIAS::ThreeDOutOpenSceneGraph::ThreeDOutOpenSceneGraph(), BIAS::Triangulation::Triangulation(), and BIAS::UnscentedTransform::UnscentedTransform().
PyramidImage<StorageType>& BIAS::PyramidImage< T >::operator= | ( | const PyramidImage< StorageType > & | pim | ) |
deep copy assignement
|
inlinevirtual |
element access
Implements BIAS::PyramidImageInterface< StorageType >.
Definition at line 103 of file PyramidImage.hh.
|
inlinevirtual |
Implements BIAS::PyramidImageInterface< StorageType >.
Definition at line 107 of file PyramidImage.hh.
|
inlineinherited |
|
inlineprotectedvirtual |
Definition at line 248 of file PyramidImage.hh.
|
inlineinherited |
|
inlineinherited |
|
virtual |
Implements BIAS::PyramidImageInterface< StorageType >.
Referenced by BIAS::CalibratedPyramid< StorageType >::operator=().
|
inlineinherited |
Definition at line 318 of file Debug.hh.
Referenced by BIAS::ShowCamWxVideoSourceFactory::CreateBumbleBee(), BIAS::ShowCamWxVideoSourceFactory::CreateDCAM(), BIAS::VideoSource_MDcam::ScanBus(), BIAS::GLProjectionParametersBase::SetDebugLevel(), BIAS::VideoSource_Disk::VideoSource_Disk(), BIAS::VideoSource_DV2::VideoSource_DV2(), BIAS::VideoSource_DV::VideoSource_DV_Internal_Init_(), and BIAS::VideoSource_V4L::VideoSource_V4L().
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
|
inline |
Definition at line 197 of file PyramidImage.hh.
|
inline |
Definition at line 199 of file PyramidImage.hh.
|
inline |
Definition at line 193 of file PyramidImage.hh.
|
virtual |
set the ROI for all images
Implements BIAS::PyramidImageInterface< StorageType >.
int BIAS::PyramidImage< T >::SetROI | ( | const ROI & | roi | ) |
|
virtual |
Implements BIAS::PyramidImageInterface< StorageType >.
|
virtual |
sets all pixels in all images to zero
Implements BIAS::PyramidImageInterface< StorageType >.
|
virtual |
create a shallow clone
Implements BIAS::PyramidImageInterface< StorageType >.
PyramidImage<StorageType>& BIAS::PyramidImage< T >::ShallowCopy | ( | const PyramidImage< StorageType > & | pim | ) |
sets this as shallow copy of pim
Referenced by BIAS::PyramidImage< StorageType >::ShallowClone().
|
inlineinherited |
|
inlineinherited |
deprecated interface
Definition at line 102 of file PyramidImageInterface.hh.
Referenced by BIAS::ImageAlignment::Align(), BIAS::PyramidImage< StorageType >::Dump(), BIAS::PyramidImage< StorageType >::GetImageValue(), BIAS::PyramidImage< StorageType >::GetSingleImage(), BIAS::PyramidImage< StorageType >::operator=(), BIAS::Tracker< StorageType, CalculationType >::PreparePyramide(), BIAS::CornerMatcher::RefinePyramideNCC(), BIAS::PyramidImage< StorageType >::resize(), BIAS::PyramidImage< StorageType >::ShallowCopy(), BIAS::GuiBase::ShowImage(), BIAS::ImageAlignment::StrictPyramidAlign(), and BIAS::Tracker< StorageType, CalculationType >::Track().
|
inlinevirtual |
Implements BIAS::PyramidImageInterface< StorageType >.
Definition at line 179 of file PyramidImage.hh.
Referenced by BIAS::CalibratedPyramid< StorageType >::CalibratedPyramid().
|
virtual |
writes a file in mip format per pyramid level using prefix
Implements BIAS::PyramidImageInterface< StorageType >.
|
protected |
Definition at line 220 of file PyramidImage.hh.
Referenced by BIAS::PyramidImage< StorageType >::operator=().
|
protectedinherited |
Definition at line 510 of file Debug.hh.
Referenced by BIAS::Debug::operator=(), and BIAS::ImageBase::operator=().
|
protectedinherited |
new concept, debuglevel are managed here in the debug class
Definition at line 516 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
protected |
Offset which needs to be used when transferring point locations between pyramid levels:
(2*xs+offset, 2*ys+offset) = (xb, yb) or (xs, ys) = ((xb-offset)/2.0, (yb-offset)/2.0)
where (xs, ys) is the pixel position in pixel coo. the smaller destination image and (xb, yb) is the position in pixel coo. in the bigger source image.
see Rescale::DowsampleBy2 for details
Definition at line 243 of file PyramidImage.hh.
|
protected |
Definition at line 223 of file PyramidImage.hh.
Referenced by BIAS::PyramidImage< StorageType >::operator=(), and BIAS::PyramidImage< StorageType >::ShallowCopy().
|
protected |
Definition at line 226 of file PyramidImage.hh.
Referenced by BIAS::PyramidImage< StorageType >::operator=(), and BIAS::PyramidImage< StorageType >::ShallowCopy().
|
protectedinherited |
Definition at line 517 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
protected |
Definition at line 229 of file PyramidImage.hh.
|
staticprotectedinherited |
Definition at line 511 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
staticprotectedinherited |