Basic Image AlgorithmS Library
2.8.0
|
virtual parent class for API definition of all (future) filters More...
#include <Filter/FilterBase.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) |
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)=0 |
prototyp for filter computation function More... | |
FilterBase () | |
FilterBase (const FilterBase< InputStorageType, OutputStorageType > &other) | |
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 |
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 | 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 | 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... | |
virtual | ~FilterBase () |
Static Public Member Functions | |
static long int | GetGlobalDebugLevel () |
static void | SetGlobalDebugLevel (long int lev) |
Protected Member Functions | |
long | ConsumeNextFreeDebuglevel_ () |
returns the next available debuglevel More... | |
virtual void | GetBordersValid_ (int &border_x, int &border_y) const =0 |
Protected Attributes | |
int | _FilterBorderHandling |
long int | _liDebugLevel |
long int | _liNextDebugLevel |
new concept, debuglevel are managed here in the debug class More... | |
std::map< std::string, long int > | _String2Debuglevel |
Static Protected Attributes | |
static std::ostream | _zDebugStream |
static long int | GlobalDebugLevel = 0 |
virtual parent class for API definition of all (future) filters
We would like to have a general (abstract) class FilterBase, which should be located in BIAS/Filter and which has the main function Filter(inputimage, outputimage). This enforces all our filters to have a common interface. Derived from that, we have Convolution, Gauss, Median, ... To keep the interface clean and exchangable, all Filters should be derived from FilterBase and be usable with the standard interface. The standard function checks the desired properties of the Kernel and behaves accordingly, i.e. may call the optimized subroutines, e.g. FastSobel3x3. These subroutines may also be directly called if the user knows exactly which implementation he wants. FilterBase also holds an enum for the output size, such as "full", "same" or "valid".
Definition at line 77 of file FilterBase.hh.
enum BIAS::FilterBase::TBorderHandling |
enum for border calculation, same meanings as in matlab:
Enumerator | |
---|---|
TBH_full | |
TBH_same | |
TBH_valid |
Definition at line 98 of file FilterBase.hh.
FilterBase::FilterBase | ( | ) |
Definition at line 38 of file FilterBase.cpp.
References BIAS::FilterBase< InputStorageType, OutputStorageType >::_FilterBorderHandling, BIAS::Debug::AddDebugLevel(), and BIAS::FilterBase< InputStorageType, OutputStorageType >::TBH_valid.
FilterBase::FilterBase | ( | const FilterBase< InputStorageType, OutputStorageType > & | other | ) |
Definition at line 49 of file FilterBase.cpp.
|
virtual |
Definition at line 55 of file FilterBase.cpp.
|
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 |
|
inlineprotectedinherited |
void FilterBase::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.
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 |
|
pure virtual |
prototyp for filter computation function
Implemented in BIAS::Label, BIAS::Rescale< InputST, OutputST >, BIAS::Rescale< unsigned char, unsigned char >, BIAS::Rescale< StorageType, StorageType >, BIAS::DensityFilter< InputStorageType, OutputStorageType >, BIAS::Convolution< InputStorageType, OutputStorageType >, BIAS::Convolution< float, float >, BIAS::Convolution< InputST, OutputST >, BIAS::Convolution< OutputStorageType, OutputStorageType >, BIAS::Convolution< OutputST, OutputST >, BIAS::Convolution< StorageType, StorageType >, BIAS::Convolution< unsigned char, unsigned char >, BIAS::DistTransform< InputStorageType, OutputStorageType >, BIAS::DeInterlace< InputStorageType, OutputStorageType >, BIAS::CannyEdge< InputStorageType, OutputStorageType >, BIAS::CannyEdge< InputST, OutputST >, BIAS::GradientSobel3x3< InputStorageType, OutputStorageType >, BIAS::StructureTensor< InputStorageType, OutputStorageType >, BIAS::GradientSobel3x3< InputST, OutputST >, BIAS::StructureTensor< CalculationType, CalculationType >, BIAS::GradientSimple< InputStorageType, OutputStorageType >, BIAS::HistogramEqualization< InputStorageType, OutputStorageType >, BIAS::Gauss< InputStorageType, OutputStorageType >, BIAS::Gauss< float, float >, BIAS::Gauss< InputST, OutputST >, BIAS::Gauss< OutputStorageType, OutputStorageType >, BIAS::Gauss< StorageType, StorageType >, BIAS::Gauss< unsigned char, unsigned char >, BIAS::FilterNTo2N< InputStorageType, OutputStorageType >, BIAS::FilterNTo2N< InputST, OutputST >, BIAS::FilterNTo2N< CalculationType, CalculationType >, BIAS::TukeyWindow< InputStorageType, OutputStorageType >, BIAS::GradientGaussAsymmetric< InputStorageType, OutputStorageType >, BIAS::GradientGauss< InputStorageType, OutputStorageType >, BIAS::Binomial< InputStorageType, OutputStorageType >, BIAS::Dilation< InputStorageType, OutputStorageType >, BIAS::FilterNTo3N< InputStorageType, OutputStorageType >, BIAS::FilterNToN< InputStorageType, OutputStorageType >, BIAS::GaussThreshold< InputStorageType, OutputStorageType >, BIAS::Median< InputStorageType, OutputStorageType >, BIAS::FilterNTo3N< CalculationType, CalculationType >, BIAS::FilterNToN< float, float >, BIAS::FilterNToN< StorageType, CalculationType >, BIAS::FilterNToN< InputST, OutputST >, BIAS::FilterNToN< OutputStorageType, OutputStorageType >, BIAS::FilterNToN< OutputST, OutputST >, BIAS::FilterNToN< unsigned char, unsigned char >, BIAS::FilterNToN< StorageType, StorageType >, BIAS::Median< InputST, OutputST >, BIAS::Erosion< InputStorageType, OutputStorageType >, BIAS::Mean< InputStorageType, OutputStorageType >, BIAS::Thinning< InputStorageType, OutputStorageType >, BIAS::Mean< InputST, OutputST >, BIAS::CensusTransform< InputStorageType, OutputStorageType >, and BIAS::Bilateral< InputStorageType, OutputStorageType >.
|
inline |
Definition at line 129 of file FilterBase.hh.
void FilterBase::GetBorders | ( | int & | border_x, |
int & | border_y | ||
) | const |
Definition at line 61 of file FilterBase.cpp.
Referenced by BIAS::Rescale< InputStorageType, OutputStorageType >::GetBordersValid_().
|
protectedpure virtual |
Implemented in BIAS::Rescale< InputStorageType, OutputStorageType >, BIAS::Rescale< InputST, OutputST >, BIAS::Rescale< unsigned char, unsigned char >, BIAS::Rescale< StorageType, StorageType >, BIAS::StructureTensor< InputStorageType, OutputStorageType >, BIAS::StructureTensor< CalculationType, CalculationType >, BIAS::Label, BIAS::Median< InputStorageType, OutputStorageType >, BIAS::Median< InputST, OutputST >, BIAS::Convolution< InputStorageType, OutputStorageType >, BIAS::Convolution< float, float >, BIAS::Convolution< InputST, OutputST >, BIAS::Convolution< OutputStorageType, OutputStorageType >, BIAS::Convolution< OutputST, OutputST >, BIAS::Convolution< StorageType, StorageType >, BIAS::Convolution< unsigned char, unsigned char >, BIAS::GradientSimple< InputStorageType, OutputStorageType >, BIAS::Binomial< InputStorageType, OutputStorageType >, BIAS::GradientSobel3x3< InputStorageType, OutputStorageType >, BIAS::GradientSobel3x3< InputST, OutputST >, BIAS::Bilateral< InputStorageType, OutputStorageType >, BIAS::GradientGauss< InputStorageType, OutputStorageType >, BIAS::DeInterlace< InputStorageType, OutputStorageType >, BIAS::DensityFilter< InputStorageType, OutputStorageType >, BIAS::Mean< InputStorageType, OutputStorageType >, BIAS::Mean< InputST, OutputST >, BIAS::HessianGauss< InputStorageType, OutputStorageType >, BIAS::Dilation< InputStorageType, OutputStorageType >, BIAS::HessianSimple< InputStorageType, OutputStorageType >, BIAS::DistTransform< InputStorageType, OutputStorageType >, BIAS::HistogramEqualization< InputStorageType, OutputStorageType >, BIAS::TukeyWindow< InputStorageType, OutputStorageType >, BIAS::CannyEdge< InputStorageType, OutputStorageType >, BIAS::CannyEdge< InputST, OutputST >, BIAS::Erosion< InputStorageType, OutputStorageType >, BIAS::Thinning< InputStorageType, OutputStorageType >, and BIAS::CensusTransform< InputStorageType, OutputStorageType >.
|
inlineinherited |
Definition at line 332 of file Debug.hh.
Referenced by BIAS::listenthread(), BIAS::Image< StorageType >::operator=(), and BIAS::ImageBase::operator=().
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
|
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 |
|
inlineinherited |
|
inlineinherited |
|
inline |
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 |
void FilterBase::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)
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 |
|
protected |
Definition at line 132 of file FilterBase.hh.
Referenced by BIAS::FilterBase< InputStorageType, OutputStorageType >::FilterBase().
|
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=().
|
staticprotectedinherited |
Definition at line 511 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
staticprotectedinherited |