Basic Image AlgorithmS Library
2.8.0
|
binomial low pass filter class More...
#include <Filter/Binomial.hh>
Public Types | |
enum | TBorderHandling { TBH_full, TBH_same, TBH_valid } |
enum for border calculation, same meanings as in matlab: More... | |
Public Member Functions | |
void | AddDebugLevel (const long int lv) |
void | AddDebugLevel (const std::string &name) |
Binomial () | |
Binomial (const Binomial< InputStorageType, OutputStorageType > &other) | |
bool | CalculationInFloat () const |
decides if calculation is done in integer or floating point More... | |
virtual FilterNToN < InputStorageType, OutputStorageType > * | Clone () const |
void | CopyNonROIFromSource (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) const |
run over all pixel which do not belong to the roi and set them to the value in the source image regardless of the roi of the source. More... | |
bool | DebugLevelIsSet (const long int lv) const |
bool | DebugLevelIsSet (const std::string &name) const |
virtual int | Filter (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) |
sets kernel if params changed and calls convolution More... | |
int | Filter3x3 (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) |
int | Filter3x3SameGreyFloat (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) |
specialized function for convolution with 3x3 binomial filter. More... | |
int | Filter3x3ValidGreyFloat (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) |
specialized function for convolution with 3x3 binomial filter. More... | |
int | Filter5x5 (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) |
int | Filter5x5ValidGreyFloat (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) |
specialized function for convolution with 5x5 binomial filter. More... | |
virtual int | FilterFloat (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) |
no implementation, calls Filter More... | |
virtual int | FilterInt (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) |
no implementation, calls Filter More... | |
int | GetBorderHandling () const |
void | GetBorders (int &border_x, int &border_y) const |
int | GetDebugLevel () const |
std::ostream & | GetDebugStream () const |
void | GetDebugStream (std::ostream &os) const |
int | GetHalfWinSize () const |
void | GetKernel (FilterMask &fm) const |
get the current filter mask More... | |
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... | |
void | PrintDebugLevel (std::ostream &os=std::cout) const |
void | PrintKernel () const |
prints the used filter mask, for debugging More... | |
void | RemoveDebugLevel (const long int lv) |
void | RemoveDebugLevel (const std::string &name) |
void | SetBorderHandling (const int bh) |
void | SetDebugLevel (const long int lv) |
void | SetDebugLevel (const std::string &name) |
void | SetDebugStream (const std::ostream &os) |
void | SetHalfWinSize (int hws) |
void | SetKernel (FilterMask &fm) |
set a new filter mask More... | |
void | SetNonROIToValue (Image< OutputStorageType > &dst, const std::vector< OutputStorageType > &t) const |
run over all pixel which do not belong to the roi and set them to some value (typically black) More... | |
void | ShowDebugLevel (std::ostream &os=std::cout) const |
prints all internally known debuglevels More... | |
~Binomial () | |
Static Public Member Functions | |
static long int | GetGlobalDebugLevel () |
static void | SetGlobalDebugLevel (long int lev) |
Protected Member Functions | |
void | _CalculateKernel (int HalfWinSize) |
calculates the kernel More... | |
long | ConsumeNextFreeDebuglevel_ () |
returns the next available debuglevel More... | |
int | ConvFloatHori_ (const Image< InputStorageType > &src, Image< CONV_FLOAT > &dst) |
worker function for float separated (horizontal) convolution More... | |
int | ConvFloatMat_ (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) |
worker function for float matrix convolution More... | |
int | ConvFloatVert_ (const Image< CONV_FLOAT > &src, Image< OutputStorageType > &dst) |
worker function for float separated (vertical) convolution More... | |
int | ConvIntHori_ (const Image< InputStorageType > &src, Image< CONV_INT > &dst) |
worker function for int separated (horizontal) convolution More... | |
int | ConvIntMat_ (const Image< InputStorageType > &src, Image< OutputStorageType > &dst) |
worker function for int matrix convolution More... | |
int | ConvIntVert_ (const Image< CONV_INT > &src, Image< OutputStorageType > &dst) |
worker function for int separated (vertical) convolution More... | |
virtual void | GetBordersValid_ (int &border_x, int &border_y) const |
Protected Attributes | |
int | _FilterBorderHandling |
FilterMask | _fm |
the kernel data used for convolution More... | |
int | _HalfWinSize |
the parameter More... | |
int | _LastHalfWinSize |
long int | _liDebugLevel |
long int | _liNextDebugLevel |
new concept, debuglevel are managed here in the debug class More... | |
std::map< std::string, long int > | _String2Debuglevel |
Image< CONV_FLOAT > | _tmpFloat |
temporary memory, needed for separable filters when float filtering More... | |
Image< CONV_INT > | _tmpInt |
temporary memory, needed for separable filters when integer filtering More... | |
Static Protected Attributes | |
static std::ostream | _zDebugStream |
static long int | GlobalDebugLevel = 0 |
binomial low pass filter class
Definition at line 42 of file Binomial.hh.
|
inherited |
enum for border calculation, same meanings as in matlab:
Enumerator | |
---|---|
TBH_full | |
TBH_same | |
TBH_valid |
Definition at line 98 of file FilterBase.hh.
Binomial::Binomial | ( | ) |
Definition at line 42 of file Binomial.cpp.
References BIAS::Binomial< InputStorageType, OutputStorageType >::_CalculateKernel(), and BIAS::Binomial< InputStorageType, OutputStorageType >::_HalfWinSize.
Binomial::Binomial | ( | const Binomial< InputStorageType, OutputStorageType > & | other | ) |
Definition at line 54 of file Binomial.cpp.
Binomial::~Binomial | ( | ) |
Definition at line 61 of file Binomial.cpp.
|
protected |
calculates the kernel
Definition at line 475 of file Binomial.cpp.
References TNT::Vector< T >::newsize().
Referenced by BIAS::Binomial< InputStorageType, OutputStorageType >::Binomial().
|
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 |
|
inlineinherited |
decides if calculation is done in integer or floating point
Definition at line 103 of file Convolution.hh.
|
inlinevirtual |
Reimplemented from BIAS::Convolution< InputStorageType, OutputStorageType >.
Definition at line 63 of file Binomial.hh.
|
inlineprotectedinherited |
|
protectedinherited |
worker function for float separated (horizontal) convolution
Definition at line 290 of file Convolution.cpp.
References BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::ImageBase::GetWidth(), BIAS::ImageBase::IsInterleaved(), and BIAS::Vector< T >::Size().
|
protectedinherited |
worker function for float matrix convolution
Definition at line 228 of file Convolution.cpp.
References BIAS::ImageBase::GetChannelCount(), BIAS::Matrix< T >::GetCols(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::Matrix< T >::GetRows(), BIAS::ImageBase::GetWidth(), and BIAS::ImageBase::IsInterleaved().
|
protectedinherited |
worker function for float separated (vertical) convolution
Definition at line 344 of file Convolution.cpp.
References BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::ImageBase::GetWidth(), BIAS::ImageBase::IsInterleaved(), and BIAS::Vector< T >::Size().
|
protectedinherited |
worker function for int separated (horizontal) convolution
Definition at line 115 of file Convolution.cpp.
References BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::ImageBase::GetWidth(), BIAS::ImageBase::IsInterleaved(), and BIAS::Vector< T >::Size().
|
protectedinherited |
worker function for int matrix convolution
Definition at line 50 of file Convolution.cpp.
References BIAS::ImageBase::GetChannelCount(), BIAS::Matrix< T >::GetCols(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::Matrix< T >::GetRows(), BIAS::ImageBase::GetWidth(), and BIAS::ImageBase::IsInterleaved().
|
protectedinherited |
worker function for int separated (vertical) convolution
Definition at line 171 of file Convolution.cpp.
References BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::ImageBase::GetWidth(), BIAS::ImageBase::IsInterleaved(), and BIAS::Vector< T >::Size().
|
inherited |
run over all pixel which do not belong to the roi and set them to the value in the source image regardless of the roi of the source.
Both images must have same size.
Definition at line 135 of file FilterBase.cpp.
References BIAS::ImageBase::GetChannelCount(), BIAS::ROI::GetCorners(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::ImageBase::GetROI(), BIAS::ImageBase::GetWidth(), and BIAS::ROI_Corners.
|
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 |
sets kernel if params changed and calls convolution
Reimplemented from BIAS::Convolution< InputStorageType, OutputStorageType >.
Definition at line 69 of file Binomial.cpp.
References BIAS::Convolution< InputStorageType, OutputStorageType >::Filter().
Referenced by BIAS::CalibratedPyramid< StorageType >::Downsample_().
int Binomial::Filter3x3 | ( | const Image< InputStorageType > & | src, |
Image< OutputStorageType > & | dst | ||
) |
Definition at line 109 of file Binomial.cpp.
References BIAS::Convolution< InputStorageType, OutputStorageType >::Filter(), BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetHeight(), BIAS::ImageBase::GetWidth(), BIAS::Image< StorageType >::Init(), BIAS::ImageBase::IsEmpty(), BIAS::Image< StorageType >::Release(), and BIAS::ImageBase::SamePixelAndChannelCount().
int Binomial::Filter3x3SameGreyFloat | ( | const Image< InputStorageType > & | src, |
Image< OutputStorageType > & | dst | ||
) |
specialized function for convolution with 3x3 binomial filter.
dst must be initialized with the right image size. Internal calculation is done using floating point numbers. Uses "zero padding" of the image to achieve destination image ROIs of same size as source image ROIs. Untested !!
Definition at line 265 of file Binomial.cpp.
References BIAS::ROI::GetCorners(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::ImageBase::GetROI(), and BIAS::ROI::SetCorners().
int Binomial::Filter3x3ValidGreyFloat | ( | const Image< InputStorageType > & | src, |
Image< OutputStorageType > & | dst | ||
) |
specialized function for convolution with 3x3 binomial filter.
dst must be initialized with the right image size. Internal calculation is done using floating point numbers.
Definition at line 178 of file Binomial.cpp.
References BIAS::ImageBase::GetChannelCount(), BIAS::ROI::GetCorners(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageData(), BIAS::ImageBase::GetROI(), BIAS::ImageBase::GetWidth(), BIAS::ImageBase::SamePixelAndChannelCount(), BIAS::ImageIO::Save(), and BIAS::ROI::SetCorners().
int Binomial::Filter5x5 | ( | const Image< InputStorageType > & | src, |
Image< OutputStorageType > & | dst | ||
) |
Definition at line 144 of file Binomial.cpp.
References BIAS::Convolution< InputStorageType, OutputStorageType >::Filter(), BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetHeight(), BIAS::ImageBase::GetWidth(), BIAS::Image< StorageType >::Init(), BIAS::ImageBase::IsEmpty(), BIAS::Image< StorageType >::Release(), and BIAS::ImageBase::SamePixelAndChannelCount().
int Binomial::Filter5x5ValidGreyFloat | ( | const Image< InputStorageType > & | src, |
Image< OutputStorageType > & | dst | ||
) |
specialized function for convolution with 5x5 binomial filter.
dst must be initialized with the right image size. Internal calculation is done using floating point numbers.
Definition at line 383 of file Binomial.cpp.
References BIAS::ImageBase::GetChannelCount(), BIAS::ROI::GetCorners(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageData(), BIAS::ImageBase::GetROI(), BIAS::ImageBase::GetWidth(), BIAS::ImageBase::SamePixelAndChannelCount(), BIAS::ImageIO::Save(), and BIAS::ROI::SetCorners().
|
virtual |
no implementation, calls Filter
Reimplemented from BIAS::Convolution< InputStorageType, OutputStorageType >.
Definition at line 101 of file Binomial.cpp.
|
virtual |
no implementation, calls Filter
Reimplemented from BIAS::Convolution< InputStorageType, OutputStorageType >.
Definition at line 94 of file Binomial.cpp.
|
inlineinherited |
Definition at line 129 of file FilterBase.hh.
|
inherited |
Definition at line 61 of file FilterBase.cpp.
Referenced by BIAS::Rescale< InputStorageType, OutputStorageType >::GetBordersValid_().
|
protectedvirtual |
Implements BIAS::FilterBase< InputStorageType, OutputStorageType >.
Definition at line 505 of file Binomial.cpp.
|
inlineinherited |
Definition at line 332 of file Debug.hh.
Referenced by BIAS::listenthread(), BIAS::Image< StorageType >::operator=(), and BIAS::ImageBase::operator=().
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
|
inline |
Definition at line 100 of file Binomial.hh.
|
inlineinherited |
get the current filter mask
Definition at line 92 of file Convolution.hh.
|
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().
|
inlineinherited |
|
inherited |
prints the used filter mask, for debugging
Definition at line 583 of file Convolution.cpp.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 127 of file FilterBase.hh.
Referenced by BIAS::PMDImageProc::DenoiseDepthImage(), BIAS::CalibratedPyramid< StorageType >::Downsample_(), BIAS::PMDImageProc::FitDepthTo2DImage(), and BIAS::PMDImageProc::FitDepthTo2DImageFree_().
|
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 103 of file Binomial.hh.
Referenced by BIAS::CalibratedPyramid< StorageType >::Downsample_(), and BIAS::Rescale< InputStorageType, OutputStorageType >::UpdateLowpass().
|
inlineinherited |
set a new filter mask
Definition at line 96 of file Convolution.hh.
|
inherited |
run over all pixel which do not belong to the roi and set them to some value (typically black)
Definition at line 84 of file FilterBase.cpp.
References BIAS::ImageBase::GetChannelCount(), BIAS::ROI::GetCorners(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::ImageBase::GetROI(), BIAS::ImageBase::GetWidth(), and BIAS::ROI_Corners.
|
inlineinherited |
|
protectedinherited |
Definition at line 132 of file FilterBase.hh.
Referenced by BIAS::FilterBase< InputStorageType, OutputStorageType >::FilterBase().
|
protectedinherited |
the kernel data used for convolution
Definition at line 107 of file Convolution.hh.
Referenced by BIAS::Convolution< InputStorageType, OutputStorageType >::Convolution().
|
protected |
the parameter
Definition at line 108 of file Binomial.hh.
Referenced by BIAS::Binomial< InputStorageType, OutputStorageType >::Binomial().
|
protected |
Definition at line 109 of file Binomial.hh.
|
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=().
|
protectedinherited |
Definition at line 517 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
protectedinherited |
temporary memory, needed for separable filters when float filtering
Definition at line 114 of file Convolution.hh.
|
protectedinherited |
temporary memory, needed for separable filters when integer filtering
Definition at line 117 of file Convolution.hh.
|
staticprotectedinherited |
Definition at line 511 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
staticprotectedinherited |