#include <Filter/FilterBase.hh>


Public Types | |
| enum | TBorderHandling { TBH_full, TBH_same, TBH_valid } |
enum for border calculation, same meanings as in matlab:
| |
Public Member Functions | |
| void | AddDebugLevel (const std::string &name) |
| void | AddDebugLevel (const long int lv) |
| 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. | |
| bool | DebugLevelIsSet (const std::string &name) const |
| bool | DebugLevelIsSet (const long int lv) const |
| virtual int | Filter (const Image< InputStorageType > &src, Image< OutputStorageType > &dst)=0 |
| prototyp for filter computation function | |
| FilterBase (const FilterBase< InputStorageType, OutputStorageType > &other) | |
| FilterBase () | |
| int | GetBorderHandling () const |
| void | GetBorders (int &border_x, int &border_y) const |
| int | GetDebugLevel () const |
| void | GetDebugStream (std::ostream &os) const |
| std::ostream & | GetDebugStream () const |
| long int | Name2DebugLevel (const std::string &name) const |
| looks up a debuglevel in the internal map, returns 0 if not found | |
| long int | NewDebugLevel (const std::string &name) |
| creates a new debuglevel | |
| void | PrintDebugLevel (std::ostream &os=std::cout) const |
| void | RemoveDebugLevel (const std::string &name) |
| void | RemoveDebugLevel (const long int lv) |
| void | SetBorderHandling (const int bh) |
| void | SetDebugLevel (const std::string &name) |
| void | SetDebugLevel (const long int lv) |
| 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) | |
| void | ShowDebugLevel (std::ostream &os=std::cout) const |
| prints all internally known debuglevels | |
| 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 | |
| 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 | |
| std::map< std::string, long int > | _String2Debuglevel |
Static Protected Attributes | |
| static std::ostream | _zDebugStream |
| static long int | GlobalDebugLevel = 0 |
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 76 of file FilterBase.hh.
| enum BIAS::FilterBase::TBorderHandling |
enum for border calculation, same meanings as in matlab:
The resulting output image is smaller than the input image. The ROI of the output image is set accordingly.
Definition at line 97 of file FilterBase.hh.
| FilterBase::FilterBase | ( | ) | [inline] |
| FilterBase::FilterBase | ( | const FilterBase< InputStorageType, OutputStorageType > & | other | ) | [inline] |
Definition at line 49 of file FilterBase.cpp.
| FilterBase::~FilterBase | ( | ) | [inline, virtual] |
Definition at line 55 of file FilterBase.cpp.
| void BIAS::Debug::AddDebugLevel | ( | const std::string & | name | ) | [inline, inherited] |
| void BIAS::Debug::AddDebugLevel | ( | const long int | lv | ) | [inline, inherited] |
Definition at line 347 of file Debug.hh.
Referenced by BIAS::Triangulation::CorrectCorrespondences(), BIAS::FilterBase< InputStorageType, OutputStorageType >::FilterBase(), main(), BIAS::PMDImageProc::PreparePolyDepthCalibration(), and BIAS::RANSAC< SolutionType >::RANSAC().
| long BIAS::Debug::ConsumeNextFreeDebuglevel_ | ( | ) | [inline, protected, inherited] |
| void FilterBase::CopyNonROIFromSource | ( | const Image< InputStorageType > & | src, | |
| Image< OutputStorageType > & | dst | |||
| ) | const [inline] |
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 BIASASSERT, BIAS::ImageBase::GetChannelCount(), BIAS::ROI::GetCorners(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::ImageBase::GetROI(), BIAS::ImageBase::GetWidth(), and BIAS::ROI_Corners.
| bool BIAS::Debug::DebugLevelIsSet | ( | const std::string & | name | ) | const [inline, inherited] |
| bool BIAS::Debug::DebugLevelIsSet | ( | const long int | lv | ) | const [inline, inherited] |
Definition at line 333 of file Debug.hh.
Referenced by BIAS::GenSynthMatches::_AddUniformDistributedOutliers(), BIAS::CornerDetectorGradient< StorageType, CalculationType >::_CalcCornerness(), BIAS::GaussThreshold< InputStorageType, OutputStorageType >::_CalculateKernels(), BIAS::Gauss< InputStorageType, OutputStorageType >::_CalculateKernels(), BIAS::LinearRegionDetector< StorageType, CalculationType >::_ComputeCornerness(), BIAS::CornerDetectorKLT< StorageType, CalculationType >::_ComputeCornerness(), BIAS::GenSynthMatches::_CreateCamMovement(), BIAS::GenSynthMatches::_CreateStatic2DPoints(), BIAS::ImageBlender::BlendImages(), BIAS::StructureTensor< InputStorageType, OutputStorageType >::CalcStructureTensor(), BIAS::StructureTensor< InputStorageType, OutputStorageType >::CalcStructureTensor3x3(), BIAS::StructureTensor< InputStorageType, OutputStorageType >::CalcStructureTensor5x5(), BIAS::StructureTensor< InputStorageType, OutputStorageType >::CalcStructureTensor7x7(), BIAS::StructureTensor< InputStorageType, OutputStorageType >::CalcStructureTensorValid(), BIAS::UnscentedTransform::ComputeSigmaPoints_(), BIAS::Triangulation::CorrectCorrespondences(), BIAS::CornerDetectorGradient< StorageType, CalculationType >::Detect(), BIAS::Rescale< InputStorageType, OutputStorageType >::DownsampleBy2Color(), BIAS::Binomial< InputStorageType, OutputStorageType >::Filter3x3ValidGreyFloat(), BIAS::Binomial< InputStorageType, OutputStorageType >::Filter5x5ValidGreyFloat(), BIAS::Convolution< InputStorageType, OutputStorageType >::FilterFloat(), BIAS::Convolution< InputStorageType, OutputStorageType >::FilterInt(), BIAS::RANSAC< SolutionType >::GenerateSamplesRandom(), BIAS::GenSynthMatches::GetGTNormalizedF(), main(), BIAS::Tracker< StorageType, CalculationType >::PreparePyramide(), and BIAS::MonteCarloTransform::Transform().
| virtual int BIAS::FilterBase< InputStorageType, OutputStorageType >::Filter | ( | const Image< InputStorageType > & | src, | |
| Image< OutputStorageType > & | dst | |||
| ) | [pure virtual] |
prototyp for filter computation function
Implemented in BIAS::Binomial< InputStorageType, OutputStorageType >, BIAS::CannyEdge< InputStorageType, OutputStorageType >, BIAS::CensusTransform< InputStorageType, OutputStorageType >, BIAS::ColorFilter< InputStorageType, OutputStorageType >, BIAS::Convolution< InputStorageType, OutputStorageType >, BIAS::DeInterlace< InputStorageType, OutputStorageType >, BIAS::Dilation< InputStorageType, OutputStorageType >, BIAS::DistTransform< InputStorageType, OutputStorageType >, BIAS::Erosion< InputStorageType, OutputStorageType >, BIAS::FilterNTo2N< InputStorageType, OutputStorageType >, BIAS::FilterNTo3N< InputStorageType, OutputStorageType >, BIAS::FilterNToN< InputStorageType, OutputStorageType >, BIAS::Gauss< InputStorageType, OutputStorageType >, BIAS::GaussThreshold< InputStorageType, OutputStorageType >, BIAS::GradientGauss< InputStorageType, OutputStorageType >, BIAS::GradientGaussAsymmetric< InputStorageType, OutputStorageType >, BIAS::GradientSimple< InputStorageType, OutputStorageType >, BIAS::GradientSobel3x3< InputStorageType, OutputStorageType >, BIAS::Mean< InputStorageType, OutputStorageType >, BIAS::Median< InputStorageType, OutputStorageType >, BIAS::Rescale< InputStorageType, OutputStorageType >, BIAS::Shift< InputStorageType, OutputStorageType >, BIAS::StructureTensor< InputStorageType, OutputStorageType >, BIAS::Thinning< InputStorageType, OutputStorageType >, BIAS::Convolution< OutputStorageType, OutputStorageType >, BIAS::FilterNTo2N< CalculationType, CalculationType >, BIAS::FilterNToN< StorageType, CalculationType >, BIAS::Gauss< float, float >, BIAS::Gauss< OutputStorageType, OutputStorageType >, BIAS::Gauss< unsigned char, unsigned char >, BIAS::Gauss< StorageType, StorageType >, BIAS::Rescale< unsigned char, unsigned char >, BIAS::Rescale< StorageType, StorageType >, and BIAS::StructureTensor< CalculationType, CalculationType >.
| int BIAS::FilterBase< InputStorageType, OutputStorageType >::GetBorderHandling | ( | ) | const [inline] |
Definition at line 128 of file FilterBase.hh.
Referenced by BIAS::GaussThreshold< InputStorageType, OutputStorageType >::Filter(), BIAS::Gauss< InputStorageType, OutputStorageType >::Filter(), BIAS::Convolution< InputStorageType, OutputStorageType >::FilterFloat(), and BIAS::Convolution< InputStorageType, OutputStorageType >::FilterInt().
| void FilterBase::GetBorders | ( | int & | border_x, | |
| int & | border_y | |||
| ) | const [inline] |
Definition at line 61 of file FilterBase.cpp.
References BIAS::FilterBase< InputStorageType, OutputStorageType >::_FilterBorderHandling, BIASABORT, BIASASSERT, BIASERR, BIAS::FilterBase< InputStorageType, OutputStorageType >::GetBordersValid_(), BIAS::FilterBase< InputStorageType, OutputStorageType >::TBH_full, BIAS::FilterBase< InputStorageType, OutputStorageType >::TBH_same, and BIAS::FilterBase< InputStorageType, OutputStorageType >::TBH_valid.
| virtual void BIAS::FilterBase< InputStorageType, OutputStorageType >::GetBordersValid_ | ( | int & | border_x, | |
| int & | border_y | |||
| ) | const [protected, pure virtual] |
Implemented in BIAS::Binomial< InputStorageType, OutputStorageType >, BIAS::CannyEdge< InputStorageType, OutputStorageType >, BIAS::CensusTransform< InputStorageType, OutputStorageType >, BIAS::ColorFilter< InputStorageType, OutputStorageType >, BIAS::Convolution< InputStorageType, OutputStorageType >, BIAS::Dilation< InputStorageType, OutputStorageType >, BIAS::DistTransform< InputStorageType, OutputStorageType >, BIAS::Erosion< InputStorageType, OutputStorageType >, BIAS::GradientGauss< InputStorageType, OutputStorageType >, BIAS::GradientSimple< InputStorageType, OutputStorageType >, BIAS::GradientSobel3x3< InputStorageType, OutputStorageType >, BIAS::HessianGauss< InputStorageType, OutputStorageType >, BIAS::HessianSimple< InputStorageType, OutputStorageType >, BIAS::Label, BIAS::Mean< InputStorageType, OutputStorageType >, BIAS::Median< InputStorageType, OutputStorageType >, BIAS::Rescale< InputStorageType, OutputStorageType >, BIAS::Shift< InputStorageType, OutputStorageType >, BIAS::StructureTensor< InputStorageType, OutputStorageType >, BIAS::Convolution< OutputStorageType, OutputStorageType >, BIAS::Rescale< unsigned char, unsigned char >, BIAS::Rescale< StorageType, StorageType >, and BIAS::StructureTensor< CalculationType, CalculationType >.
Referenced by BIAS::FilterBase< InputStorageType, OutputStorageType >::GetBorders().
| int BIAS::Debug::GetDebugLevel | ( | ) | const [inline, inherited] |
Definition at line 324 of file Debug.hh.
Referenced by BIAS::MSAC< SolutionType >::_GenerateSamplesRandom(), BIAS::ImageAlignment::Align(), BIAS::ExampleDebug::func(), BIAS::FMatrix::GetEpipoles(), BIAS::listenthread(), main(), BIAS::GuiGTK::MouseMotionCallback_(), BIAS::Image< StorageType >::operator=(), BIAS::ImageBase::operator=(), BIAS::ExampleDebug::ResetDebugLevelFromGlobal(), BIAS::TrackerBaseAffine2< StorageType >::TrackAffine_(), and BIAS::TrackerBaseAffine< StorageType >::TrackAffine_().
| void BIAS::Debug::GetDebugStream | ( | std::ostream & | os | ) | const [inline, inherited] |
| std::ostream& BIAS::Debug::GetDebugStream | ( | ) | const [inline, inherited] |
Definition at line 397 of file Debug.hh.
Referenced by BIAS::MSAC< SolutionType >::_GenerateSamplesRandom(), BIAS::RANSAC< SolutionType >::GenerateSamplesRandom(), and BIAS::GuiGTK::MouseMotionCallback_().
| static long int BIAS::Debug::GetGlobalDebugLevel | ( | ) | [inline, static, inherited] |
Definition at line 423 of file Debug.hh.
Referenced by BIAS::ExampleDebug::func(), and BIAS::ExampleDebug::ResetDebugLevelFromGlobal().
| long int BIAS::Debug::Name2DebugLevel | ( | const std::string & | name | ) | const [inline, inherited] |
| long int BIAS::Debug::NewDebugLevel | ( | const std::string & | name | ) | [inline, inherited] |
creates a new debuglevel
Definition at line 466 of file Debug.hh.
References ABORT, it, and res.
Referenced by BIAS::Condensation::Condensation(), BIAS::Histogram::Histogram(), BIAS::MonteCarloTransform::MonteCarloTransform(), myclass::myclass(), BIAS::PreemptiveRANSAC< SolutionType >::PreemptiveRANSAC(), BIAS::RANSAC< SolutionType >::RANSAC(), BIAS::RANSACPreKnowledge< SolutionType >::RANSACPreKnowledge(), BIAS::ROI::ROI(), BIAS::Triangulation::Triangulation(), and BIAS::UnscentedTransform::UnscentedTransform().
| void BIAS::Debug::PrintDebugLevel | ( | std::ostream & | os = std::cout |
) | const [inline, inherited] |
| void BIAS::Debug::RemoveDebugLevel | ( | const std::string & | name | ) | [inline, inherited] |
| void BIAS::Debug::RemoveDebugLevel | ( | const long int | lv | ) | [inline, inherited] |
| void BIAS::FilterBase< InputStorageType, OutputStorageType >::SetBorderHandling | ( | const int | bh | ) | [inline] |
Definition at line 126 of file FilterBase.hh.
Referenced by BIAS::PMDImageProc::DenoiseDepthImage(), BIAS::CalibratedPyramid< StorageType >::Downsample_(), BIAS::PMDImageProc::FitDepthTo2DImage(), BIAS::PMDImageProc::FitDepthTo2DImageFree_(), and main().
| void BIAS::Debug::SetDebugLevel | ( | const std::string & | name | ) | [inline, inherited] |
| void BIAS::Debug::SetDebugLevel | ( | const long int | lv | ) | [inline, inherited] |
Definition at line 310 of file Debug.hh.
Referenced by main(), BIAS::ExampleDebug::ResetDebugLevelFromGlobal(), BIAS::MDcam::ScanBus(), BIAS::MDcam::SetDebugLevelDcam(), BIAS::VideoSource_Disk::VideoSource_Disk(), BIAS::VideoSource_DV2::VideoSource_DV2(), BIAS::VideoSource_DV::VideoSource_DV_Internal_Init_(), and BIAS::VideoSource_V4L::VideoSource_V4L().
| void BIAS::Debug::SetDebugStream | ( | const std::ostream & | os | ) | [inline, inherited] |
| static void BIAS::Debug::SetGlobalDebugLevel | ( | long int | lev | ) | [inline, static, inherited] |
| void FilterBase::SetNonROIToValue | ( | Image< OutputStorageType > & | dst, | |
| const std::vector< OutputStorageType > & | t | |||
| ) | const [inline] |
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 BIASASSERT, BIAS::ImageBase::GetChannelCount(), BIAS::ROI::GetCorners(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::ImageBase::GetROI(), BIAS::ImageBase::GetWidth(), and BIAS::ROI_Corners.
| void BIAS::Debug::ShowDebugLevel | ( | std::ostream & | os = std::cout |
) | const [inline, inherited] |
int BIAS::FilterBase< InputStorageType, OutputStorageType >::_FilterBorderHandling [protected] |
Definition at line 131 of file FilterBase.hh.
Referenced by BIAS::GradientSobel3x3< InputStorageType, OutputStorageType >::Filter(), BIAS::Erosion< InputStorageType, OutputStorageType >::Filter(), BIAS::Dilation< InputStorageType, OutputStorageType >::Filter(), BIAS::Binomial< InputStorageType, OutputStorageType >::Filter3x3(), BIAS::Binomial< InputStorageType, OutputStorageType >::Filter5x5(), BIAS::FilterBase< InputStorageType, OutputStorageType >::FilterBase(), and BIAS::FilterBase< InputStorageType, OutputStorageType >::GetBorders().
long int BIAS::Debug::_liDebugLevel [protected, inherited] |
Definition at line 502 of file Debug.hh.
Referenced by BIAS::GuiGTK::DeleteEvent_(), BIAS::GuiGTK::Destroy_(), BIAS::GuiGTK::DrawingAreaExposeCallback_(), BIAS::GuiGTK::GtkMain(), BIAS::GuiGTK::KeyPressEventCallback_(), BIAS::GuiGTK::LabelExposeCallback_(), BIAS::GuiGTK::MouseButtonPressCallback_(), BIAS::GuiGTK::MouseButtonReleaseCallback_(), BIAS::GuiGTK::MouseMotionCallback_(), BIAS::Image< StorageType >::operator=(), BIAS::ImageBase::operator=(), and BIAS::Debug::operator=().
long int BIAS::Debug::_liNextDebugLevel [protected, inherited] |
new concept, debuglevel are managed here in the debug class
Definition at line 508 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
std::map<std::string, long int> BIAS::Debug::_String2Debuglevel [protected, inherited] |
std::ostream BIAS::Debug::_zDebugStream [static, protected, inherited] |
Definition at line 503 of file Debug.hh.
Referenced by BIAS::GuiGTK::DeleteEvent_(), BIAS::GuiGTK::Destroy_(), BIAS::GuiGTK::DrawingAreaExposeCallback_(), BIAS::GuiGTK::GtkMain(), BIAS::GuiGTK::KeyPressEventCallback_(), BIAS::GuiGTK::LabelExposeCallback_(), BIAS::GuiGTK::MouseButtonPressCallback_(), BIAS::GuiGTK::MouseButtonReleaseCallback_(), BIAS::GuiGTK::MouseMotionCallback_(), and BIAS::Debug::operator=().
long int BIAS::Debug::GlobalDebugLevel = 0 [static, protected, inherited] |
1.5.7.1