|
OrbbecSDK 2.10.6
OrbbecSDK: Software-Development-Kit for Orbbec 3D Cameras
|
The Filter class is the base class for all filters in the SDK. More...
#include <Filter.hpp>
Public Member Functions | |
| Filter (ob_filter *impl) | |
| virtual | ~Filter () noexcept |
| ob_filter * | getImpl () const |
| Get the Impl object of the filter. | |
| virtual const std::string & | getName () const |
| Get the type of filter. | |
| virtual void | reset () const |
| Reset the filter, freeing the internal cache, stopping the processing thread, and clearing the pending buffer frame when asynchronous processing is used. | |
| virtual void | enable (bool enable) const |
| enable the filter | |
| virtual bool | isEnabled () const |
| Return Enable State. | |
| virtual std::shared_ptr< Frame > | process (std::shared_ptr< const Frame > frame) const |
| Processes a frame synchronously. | |
| virtual void | pushFrame (std::shared_ptr< Frame > frame) const |
| Pushes the pending frame into the cache for asynchronous processing. | |
| virtual void | setCallBack (FilterCallback callback) |
| Set the callback function for asynchronous processing. | |
| virtual std::string | getConfigSchema () const |
| Get config schema of the filter. | |
| virtual std::vector< OBFilterConfigSchemaItem > | getConfigSchemaVec () const |
| Get the Config Schema Vec object. | |
| virtual void | setConfigValue (const std::string &configName, double value) const |
| Set the filter config value by name. | |
| virtual double | getConfigValue (const std::string &configName) const |
| Get the Config Value object by name. | |
| virtual const char * | type () |
| template<typename T> | |
| bool | is () |
| Check if the runtime type of the filter object is compatible with a given type. | |
| template<typename T> | |
| std::shared_ptr< T > | as () |
Protected Member Functions | |
| Filter ()=default | |
| Default constructor with nullptr impl, used for derived classes only. | |
| virtual void | init (ob_filter *impl) |
Protected Attributes | |
| ob_filter * | impl_ = nullptr |
| std::string | name_ |
| FilterCallback | callback_ |
| std::vector< OBFilterConfigSchemaItem > | configSchemaVec_ |
The Filter class is the base class for all filters in the SDK.
Definition at line 77 of file Filter.hpp.
|
protecteddefault |
Default constructor with nullptr impl, used for derived classes only.
|
inlineexplicit |
Definition at line 113 of file Filter.hpp.
|
inlinevirtualnoexcept |
Definition at line 117 of file Filter.hpp.
|
inlineprotectedvirtual |
Definition at line 90 of file Filter.hpp.
Referenced by ob::Align::Align(), ob::DecimationFilter::DecimationFilter(), ob::DisparityTransform::DisparityTransform(), ob::EdgeNoiseRemovalFilter::EdgeNoiseRemovalFilter(), ob::EnhancedDepthFilter::EnhancedDepthFilter(), ob::FalsePositiveFilter::FalsePositiveFilter(), Filter(), ob::FormatConvertFilter::FormatConvertFilter(), ob::HdrMerge::HdrMerge(), ob::HoleFillingFilter::HoleFillingFilter(), ob::LutNoiseRemovalFilter::LutNoiseRemovalFilter(), ob::MgcNoiseRemovalFilter::MgcNoiseRemovalFilter(), ob::NoiseRemovalFilter::NoiseRemovalFilter(), ob::PointCloudFilter::PointCloudFilter(), ob::SequenceIdFilter::SequenceIdFilter(), ob::SpatialAdvancedFilter::SpatialAdvancedFilter(), ob::SpatialFastFilter::SpatialFastFilter(), ob::SpatialModerateFilter::SpatialModerateFilter(), ob::TemporalFilter::TemporalFilter(), ob::ThresholdFilter::ThresholdFilter(), and ob::UnDistortionFilter::UnDistortionFilter().
|
inline |
Get the Impl object of the filter.
Definition at line 130 of file Filter.hpp.
|
inlinevirtual |
Get the type of filter.
Definition at line 139 of file Filter.hpp.
Referenced by type().
|
inlinevirtual |
Reset the filter, freeing the internal cache, stopping the processing thread, and clearing the pending buffer frame when asynchronous processing is used.
Definition at line 147 of file Filter.hpp.
|
inlinevirtual |
enable the filter
Definition at line 156 of file Filter.hpp.
Referenced by enable(), and isEnabled().
|
inlinevirtual |
Return Enable State.
Definition at line 165 of file Filter.hpp.
|
inlinevirtual |
Processes a frame synchronously.
| [in] | frame | The frame to be processed. |
Definition at line 179 of file Filter.hpp.
|
inlinevirtual |
Pushes the pending frame into the cache for asynchronous processing.
| [in] | frame | The pending frame. The processing result is returned by the callback function. |
Definition at line 198 of file Filter.hpp.
|
inlinevirtual |
Set the callback function for asynchronous processing.
| [in] | callback | The processing result callback. |
Definition at line 213 of file Filter.hpp.
|
inlinevirtual |
Get config schema of the filter.
The returned string is a csv format string representing the configuration schema of the filter. The format of the string is: <parameter_name>, <parameter_type: "int", "float", "bool">, <minimum_value>, <maximum_value>, <value_step>, <default_value>, <parameter_description>
Definition at line 228 of file Filter.hpp.
|
inlinevirtual |
Get the Config Schema Vec object.
The returned vector contains the config schema items. Each item in the vector is an OBFilterConfigSchemaItem object.
Definition at line 241 of file Filter.hpp.
Referenced by ob::SpatialAdvancedFilter::getAlphaRange(), ob::EnhancedDepthFilter::getConfidenceThresholdRange(), ob::TemporalFilter::getDiffScaleRange(), ob::NoiseRemovalFilter::getDispDiffRange(), ob::SpatialAdvancedFilter::getDispDiffRange(), ob::SpatialModerateFilter::getDispDiffRange(), ob::FalsePositiveFilter::getfpebfMinBleedLengthRange(), ob::FalsePositiveFilter::getfpebfROIMaxXRatioRange(), ob::FalsePositiveFilter::getfpebfROIMaxYRatioRange(), ob::FalsePositiveFilter::getfpebfROIMinXRatioRange(), ob::FalsePositiveFilter::getfpebfROIMinYRatioRange(), ob::FalsePositiveFilter::getfpEdgeBleedFilterEnableRange(), ob::FalsePositiveFilter::getfppafMaxHeightRatioRange(), ob::FalsePositiveFilter::getfppafMaxNoiseLevelRange(), ob::FalsePositiveFilter::getfppafMaxSpeckleSizeRange(), ob::FalsePositiveFilter::getfppafMaxWidthRatioRange(), ob::FalsePositiveFilter::getfppafROIMaxXRatioRange(), ob::FalsePositiveFilter::getfppafROIMaxYRatioRange(), ob::FalsePositiveFilter::getfppafROIMinXRatioRange(), ob::FalsePositiveFilter::getfppafROIMinYRatioRange(), ob::FalsePositiveFilter::getfppafScoreRange(), ob::FalsePositiveFilter::getfppafToleranceRange(), ob::FalsePositiveFilter::getfpPatternAmbiguityFilterEnableRange(), ob::FalsePositiveFilter::getfpTextureSparsityFilterEnableRange(), ob::FalsePositiveFilter::getfptsfMaxNoiseLevelRange(), ob::FalsePositiveFilter::getfptsfMaxSpeckleSizeRange(), ob::FalsePositiveFilter::getfptsfROIMaxXRatioRange(), ob::FalsePositiveFilter::getfptsfROIMaxYRatioRange(), ob::FalsePositiveFilter::getfptsfROIMinXRatioRange(), ob::FalsePositiveFilter::getfptsfROIMinYRatioRange(), ob::EdgeNoiseRemovalFilter::getHeightRange(), ob::LutNoiseRemovalFilter::getHeightRange(), ob::MgcNoiseRemovalFilter::getHeightRange(), ob::EdgeNoiseRemovalFilter::getLimitXthRange(), ob::MgcNoiseRemovalFilter::getLimitXthRange(), ob::EdgeNoiseRemovalFilter::getLimitYthRange(), ob::MgcNoiseRemovalFilter::getLimitYthRange(), ob::SpatialAdvancedFilter::getMagnitudeRange(), ob::SpatialModerateFilter::getMagnitudeRange(), ob::EdgeNoiseRemovalFilter::getMarginXthRange(), ob::MgcNoiseRemovalFilter::getMarginXthRange(), ob::EdgeNoiseRemovalFilter::getMarginYthRange(), ob::MgcNoiseRemovalFilter::getMarginYthRange(), ob::LutNoiseRemovalFilter::getMaxLutRange(), ob::MgcNoiseRemovalFilter::getMaxRadiusRange(), ob::ThresholdFilter::getMaxRange(), ob::NoiseRemovalFilter::getMaxSizeRange(), ob::MgcNoiseRemovalFilter::getMaxWidthLeftRange(), ob::MgcNoiseRemovalFilter::getMaxWidthRightRange(), ob::LutNoiseRemovalFilter::getMinDiffRange(), ob::ThresholdFilter::getMinRange(), ob::SpatialAdvancedFilter::getRadiusRange(), ob::SpatialFastFilter::getRadiusRange(), ob::SpatialModerateFilter::getRadiusRange(), ob::EdgeNoiseRemovalFilter::getVerticalDirectionEnableRange(), ob::TemporalFilter::getWeightRange(), ob::EdgeNoiseRemovalFilter::getWidthRange(), ob::LutNoiseRemovalFilter::getWidthRange(), and ob::MgcNoiseRemovalFilter::getWidthRange().
|
inlinevirtual |
Set the filter config value by name.
| [in] | configName | The name of the config. |
| [in] | value | The value of the config. |
Definition at line 254 of file Filter.hpp.
Referenced by ob::Align::Align(), ob::UnDistortionFilter::clearNewCameraMatrix(), ob::SequenceIdFilter::selectSequenceId(), ob::PointCloudFilter::setColorDataNormalization(), ob::EnhancedDepthFilter::setConfidenceThreshold(), ob::PointCloudFilter::setCoordinateDataScaled(), ob::PointCloudFilter::setCoordinateSystem(), ob::PointCloudFilter::setCreatePointFormat(), ob::PointCloudFilter::setDecimationFactor(), ob::TemporalFilter::setDiffScale(), ob::HoleFillingFilter::setFilterMode(), ob::EdgeNoiseRemovalFilter::setFilterParams(), ob::LutNoiseRemovalFilter::setFilterParams(), ob::MgcNoiseRemovalFilter::setFilterParams(), ob::NoiseRemovalFilter::setFilterParams(), ob::SpatialAdvancedFilter::setFilterParams(), ob::SpatialFastFilter::setFilterParams(), ob::SpatialModerateFilter::setFilterParams(), ob::FormatConvertFilter::setFormatConvertType(), ob::Align::setMatchTargetResolution(), ob::UnDistortionFilter::setNewCameraMatrix(), ob::EnhancedDepthFilter::setResolution(), ob::DecimationFilter::setScaleValue(), ob::UnDistortionFilter::setStreamType(), ob::ThresholdFilter::setValueRange(), ob::TemporalFilter::setWeight(), and ob::UnDistortionFilter::UnDistortionFilter().
|
inlinevirtual |
Get the Config Value object by name.
| [in] | configName | The name of the config. |
Definition at line 270 of file Filter.hpp.
Referenced by ob::Align::getAlignToStreamType(), ob::SpatialAdvancedFilter::getAlphaRange(), ob::EnhancedDepthFilter::getConfidenceThresholdRange(), ob::EnhancedDepthFilter::getCurrentHeight(), ob::EnhancedDepthFilter::getCurrentWidth(), ob::PointCloudFilter::getDecimationFactorRange(), ob::TemporalFilter::getDiffScaleRange(), ob::NoiseRemovalFilter::getDispDiffRange(), ob::SpatialAdvancedFilter::getDispDiffRange(), ob::SpatialModerateFilter::getDispDiffRange(), ob::HoleFillingFilter::getFilterMode(), ob::EdgeNoiseRemovalFilter::getFilterParams(), ob::LutNoiseRemovalFilter::getFilterParams(), ob::MgcNoiseRemovalFilter::getFilterParams(), ob::NoiseRemovalFilter::getFilterParams(), ob::SpatialAdvancedFilter::getFilterParams(), ob::SpatialFastFilter::getFilterParams(), ob::SpatialModerateFilter::getFilterParams(), ob::FalsePositiveFilter::getfpebfMinBleedLengthRange(), ob::FalsePositiveFilter::getfpebfROIMaxXRatioRange(), ob::FalsePositiveFilter::getfpebfROIMaxYRatioRange(), ob::FalsePositiveFilter::getfpebfROIMinXRatioRange(), ob::FalsePositiveFilter::getfpebfROIMinYRatioRange(), ob::FalsePositiveFilter::getfpEdgeBleedFilterEnableRange(), ob::FalsePositiveFilter::getfppafMaxHeightRatioRange(), ob::FalsePositiveFilter::getfppafMaxNoiseLevelRange(), ob::FalsePositiveFilter::getfppafMaxSpeckleSizeRange(), ob::FalsePositiveFilter::getfppafMaxWidthRatioRange(), ob::FalsePositiveFilter::getfppafROIMaxXRatioRange(), ob::FalsePositiveFilter::getfppafROIMaxYRatioRange(), ob::FalsePositiveFilter::getfppafROIMinXRatioRange(), ob::FalsePositiveFilter::getfppafROIMinYRatioRange(), ob::FalsePositiveFilter::getfppafScoreRange(), ob::FalsePositiveFilter::getfppafToleranceRange(), ob::FalsePositiveFilter::getfpPatternAmbiguityFilterEnableRange(), ob::FalsePositiveFilter::getfpTextureSparsityFilterEnableRange(), ob::FalsePositiveFilter::getfptsfMaxNoiseLevelRange(), ob::FalsePositiveFilter::getfptsfMaxSpeckleSizeRange(), ob::FalsePositiveFilter::getfptsfROIMaxXRatioRange(), ob::FalsePositiveFilter::getfptsfROIMaxYRatioRange(), ob::FalsePositiveFilter::getfptsfROIMinXRatioRange(), ob::FalsePositiveFilter::getfptsfROIMinYRatioRange(), ob::EdgeNoiseRemovalFilter::getHeightRange(), ob::LutNoiseRemovalFilter::getHeightRange(), ob::MgcNoiseRemovalFilter::getHeightRange(), ob::EdgeNoiseRemovalFilter::getLimitXthRange(), ob::MgcNoiseRemovalFilter::getLimitXthRange(), ob::EdgeNoiseRemovalFilter::getLimitYthRange(), ob::MgcNoiseRemovalFilter::getLimitYthRange(), ob::SpatialAdvancedFilter::getMagnitudeRange(), ob::SpatialModerateFilter::getMagnitudeRange(), ob::EdgeNoiseRemovalFilter::getMarginXthRange(), ob::MgcNoiseRemovalFilter::getMarginXthRange(), ob::EdgeNoiseRemovalFilter::getMarginYthRange(), ob::MgcNoiseRemovalFilter::getMarginYthRange(), ob::LutNoiseRemovalFilter::getMaxLutRange(), ob::MgcNoiseRemovalFilter::getMaxRadiusRange(), ob::ThresholdFilter::getMaxRange(), ob::NoiseRemovalFilter::getMaxSizeRange(), ob::MgcNoiseRemovalFilter::getMaxWidthLeftRange(), ob::MgcNoiseRemovalFilter::getMaxWidthRightRange(), ob::LutNoiseRemovalFilter::getMinDiffRange(), ob::ThresholdFilter::getMinRange(), ob::SpatialAdvancedFilter::getRadiusRange(), ob::SpatialFastFilter::getRadiusRange(), ob::SpatialModerateFilter::getRadiusRange(), ob::DecimationFilter::getScaleRange(), ob::DecimationFilter::getScaleValue(), ob::SequenceIdFilter::getSelectSequenceId(), ob::UnDistortionFilter::getStreamType(), ob::EdgeNoiseRemovalFilter::getVerticalDirectionEnableRange(), ob::TemporalFilter::getWeightRange(), ob::EdgeNoiseRemovalFilter::getWidthRange(), ob::LutNoiseRemovalFilter::getWidthRange(), and ob::MgcNoiseRemovalFilter::getWidthRange().
|
inlinevirtual |
Definition at line 285 of file Filter.hpp.
Referenced by is(), ob::PointCloudFilter::setCoordinateSystem(), and ob::FormatConvertFilter::setFormatConvertType().
| bool ob::Filter::is | ( | ) |
Check if the runtime type of the filter object is compatible with a given type.
Define the is() template function for the Filter class.
| T | The given type. |
Definition at line 2343 of file Filter.hpp.
|
inline |
Definition at line 298 of file Filter.hpp.
|
protected |
Definition at line 79 of file Filter.hpp.
Referenced by enable(), getConfigSchema(), getConfigValue(), getImpl(), init(), isEnabled(), process(), pushFrame(), reset(), ob::Align::setAlignToStreamProfile(), setCallBack(), setConfigValue(), and ~Filter().
|
protected |
Definition at line 80 of file Filter.hpp.
|
protected |
Definition at line 81 of file Filter.hpp.
Referenced by setCallBack().
|
protected |
Definition at line 82 of file Filter.hpp.
Referenced by getConfigSchemaVec(), ob::PointCloudFilter::getDecimationFactorRange(), ob::DecimationFilter::getScaleRange(), and init().