Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
dai::node::EdgeDetector Class Reference

EdgeDetector node. Performs edge detection using 3x3 Sobel filter. More...

#include <EdgeDetector.hpp>

Inheritance diagram for dai::node::EdgeDetector:
Inheritance graph
[legend]

Public Member Functions

 EdgeDetector (const std::shared_ptr< PipelineImpl > &par, int64_t nodeId)
 
 EdgeDetector (const std::shared_ptr< PipelineImpl > &par, int64_t nodeId, std::unique_ptr< Properties > props)
 
bool getWaitForConfigInput () const
 
void setMaxOutputFrameSize (int maxFrameSize)
 
void setNumFramesPool (int numFramesPool)
 
void setWaitForConfigInput (bool wait)
 
- Public Member Functions inherited from dai::NodeCRTP< Node, EdgeDetector, EdgeDetectorProperties >
std::unique_ptr< Nodeclone () const override
 
const char * getName () const override
 
- Public Member Functions inherited from dai::Node
virtual std::unique_ptr< Nodeclone () const =0
 Deep copy the node. More...
 
AssetManagergetAssetManager ()
 Get node AssetManager as a reference. More...
 
const AssetManagergetAssetManager () const
 Get node AssetManager as a const reference. More...
 
std::vector< Input * > getInputRefs ()
 Retrieves reference to node inputs. More...
 
std::vector< const Input * > getInputRefs () const
 Retrieves reference to node inputs. More...
 
std::vector< InputgetInputs ()
 Retrieves all nodes inputs. More...
 
virtual const char * getName () const =0
 Retrieves nodes name. More...
 
std::vector< Output * > getOutputRefs ()
 Retrieves reference to node outputs. More...
 
std::vector< const Output * > getOutputRefs () const
 Retrieves reference to node outputs. More...
 
std::vector< OutputgetOutputs ()
 Retrieves all nodes outputs. More...
 
Pipeline getParentPipeline ()
 
const Pipeline getParentPipeline () const
 
 Node (const std::shared_ptr< PipelineImpl > &p, Id nodeId, std::unique_ptr< Properties > props)
 Constructs Node. More...
 
virtual ~Node ()=default
 

Public Attributes

EdgeDetectorConfig initialConfig
 
Input inputConfig {*this, "inputConfig", Input::Type::SReceiver, false, 4, {{DatatypeEnum::EdgeDetectorConfig, false}}}
 
Input inputImage {*this, "inputImage", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgFrame, false}}}
 
Output outputImage {*this, "outputImage", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}}
 
Output passthroughInputImage {*this, "passthroughInputImage", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}}
 
- Public Attributes inherited from dai::NodeCRTP< Node, EdgeDetector, EdgeDetectorProperties >
Propertiesproperties
 Underlying properties. More...
 
- Public Attributes inherited from dai::Node
const Id id
 Id of node. More...
 
Propertiesproperties
 

Static Public Attributes

constexpr static const char * NAME = "EdgeDetector"
 

Protected Member Functions

PropertiesgetProperties ()
 
- Protected Member Functions inherited from dai::Node
virtual tl::optional< OpenVINO::VersiongetRequiredOpenVINOVersion ()
 
void setInputMapRefs (InputMap *inMapRef)
 
void setInputMapRefs (std::initializer_list< InputMap * > l)
 
void setInputRefs (Input *inRef)
 
void setInputRefs (std::initializer_list< Input * > l)
 
void setOutputMapRefs (OutputMap *outMapRef)
 
void setOutputMapRefs (std::initializer_list< OutputMap * > l)
 
void setOutputRefs (Output *outRef)
 
void setOutputRefs (std::initializer_list< Output * > l)
 

Private Attributes

std::shared_ptr< RawEdgeDetectorConfigrawConfig
 

Additional Inherited Members

- Public Types inherited from dai::NodeCRTP< Node, EdgeDetector, EdgeDetectorProperties >
using Properties = EdgeDetectorProperties
 
- Public Types inherited from dai::Node
using Id = std::int64_t
 Node identificator. Unique for every node on a single Pipeline. More...
 
- Protected Attributes inherited from dai::Node
AssetManager assetManager
 
std::unordered_map< std::string, InputMap * > inputMapRefs
 
std::unordered_map< std::string, Input * > inputRefs
 
std::unordered_map< std::string, OutputMap * > outputMapRefs
 
std::unordered_map< std::string, Output * > outputRefs
 
std::weak_ptr< PipelineImplparent
 
copyable_unique_ptr< PropertiespropertiesHolder
 

Detailed Description

EdgeDetector node. Performs edge detection using 3x3 Sobel filter.

Definition at line 19 of file EdgeDetector.hpp.

Constructor & Destructor Documentation

◆ EdgeDetector() [1/2]

dai::node::EdgeDetector::EdgeDetector ( const std::shared_ptr< PipelineImpl > &  par,
int64_t  nodeId 
)

Definition at line 8 of file EdgeDetector.cpp.

◆ EdgeDetector() [2/2]

dai::node::EdgeDetector::EdgeDetector ( const std::shared_ptr< PipelineImpl > &  par,
int64_t  nodeId,
std::unique_ptr< Properties props 
)

Definition at line 10 of file EdgeDetector.cpp.

Member Function Documentation

◆ getProperties()

EdgeDetector::Properties & dai::node::EdgeDetector::getProperties ( )
protectedvirtual

Reimplemented from dai::Node.

Definition at line 18 of file EdgeDetector.cpp.

◆ getWaitForConfigInput()

bool dai::node::EdgeDetector::getWaitForConfigInput ( ) const
See also
setWaitForConfigInput
Returns
True if wait for inputConfig message, false otherwise

Definition at line 28 of file EdgeDetector.cpp.

◆ setMaxOutputFrameSize()

void dai::node::EdgeDetector::setMaxOutputFrameSize ( int  maxFrameSize)

Specify maximum size of output image.

Parameters
maxFrameSizeMaximum frame size in bytes

Definition at line 36 of file EdgeDetector.cpp.

◆ setNumFramesPool()

void dai::node::EdgeDetector::setNumFramesPool ( int  numFramesPool)

Specify number of frames in pool.

Parameters
numFramesPoolHow many frames should the pool have

Definition at line 32 of file EdgeDetector.cpp.

◆ setWaitForConfigInput()

void dai::node::EdgeDetector::setWaitForConfigInput ( bool  wait)

Specify whether or not wait until configuration message arrives to inputConfig Input.

Parameters
waitTrue to wait for configuration message, false otherwise.

Definition at line 24 of file EdgeDetector.cpp.

Member Data Documentation

◆ initialConfig

EdgeDetectorConfig dai::node::EdgeDetector::initialConfig

Initial config to use for edge detection.

Definition at line 36 of file EdgeDetector.hpp.

◆ inputConfig

Input dai::node::EdgeDetector::inputConfig {*this, "inputConfig", Input::Type::SReceiver, false, 4, {{DatatypeEnum::EdgeDetectorConfig, false}}}

Input EdgeDetectorConfig message with ability to modify parameters in runtime. Default queue is non-blocking with size 4.

Definition at line 42 of file EdgeDetector.hpp.

◆ inputImage

Input dai::node::EdgeDetector::inputImage {*this, "inputImage", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgFrame, false}}}

Input image on which edge detection is performed. Default queue is non-blocking with size 4.

Definition at line 47 of file EdgeDetector.hpp.

◆ NAME

constexpr static const char* dai::node::EdgeDetector::NAME = "EdgeDetector"
staticconstexpr

Definition at line 21 of file EdgeDetector.hpp.

◆ outputImage

Output dai::node::EdgeDetector::outputImage {*this, "outputImage", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}}

Outputs image frame with detected edges

Definition at line 52 of file EdgeDetector.hpp.

◆ passthroughInputImage

Output dai::node::EdgeDetector::passthroughInputImage {*this, "passthroughInputImage", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}}

Passthrough message on which the calculation was performed.

Definition at line 57 of file EdgeDetector.hpp.

◆ rawConfig

std::shared_ptr<RawEdgeDetectorConfig> dai::node::EdgeDetector::rawConfig
private

Definition at line 27 of file EdgeDetector.hpp.


The documentation for this class was generated from the following files:


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:20