Represents the pipeline, set of nodes and connections between them. More...
#include <Pipeline.hpp>
Public Types | |
using | NodeConnectionMap = PipelineImpl::NodeConnectionMap |
using | NodeMap = PipelineImpl::NodeMap |
Public Member Functions | |
Pipeline | clone () const |
Clone the pipeline (Creates a copy) More... | |
template<class N > | |
std::shared_ptr< N > | create () |
std::vector< std::shared_ptr< Node > > | getAllNodes () |
Get a vector of all nodes. More... | |
std::vector< std::shared_ptr< const Node > > | getAllNodes () const |
Get a vector of all nodes. More... | |
AssetManager & | getAssetManager () |
Get pipelines AssetManager as reference. More... | |
const AssetManager & | getAssetManager () const |
Get pipelines AssetManager as reference. More... | |
BoardConfig | getBoardConfig () const |
Gets board configuration. More... | |
CalibrationHandler | getCalibrationData () const |
const NodeConnectionMap & | getConnectionMap () const |
Get a reference to internal connection representation. More... | |
std::vector< Node::Connection > | getConnections () const |
Get all connections. More... | |
Device::Config | getDeviceConfig () const |
Get device configuration needed for this pipeline. More... | |
GlobalProperties | getGlobalProperties () const |
std::shared_ptr< Node > | getNode (Node::Id id) |
Get node with id if it exists, nullptr otherwise. More... | |
std::shared_ptr< const Node > | getNode (Node::Id id) const |
Get node with id if it exists, nullptr otherwise. More... | |
const NodeMap & | getNodeMap () const |
Get a reference to internal node map. More... | |
OpenVINO::Version | getOpenVINOVersion () const |
Get possible OpenVINO version to run this pipeline. More... | |
PipelineSchema | getPipelineSchema (SerializationType type=DEFAULT_SERIALIZATION_TYPE) const |
tl::optional< OpenVINO::Version > | getRequiredOpenVINOVersion () const |
Get required OpenVINO version to run this pipeline. Can be none. More... | |
bool | isOpenVINOVersionCompatible (OpenVINO::Version version) const |
Checks whether a given OpenVINO version is compatible with the pipeline. More... | |
void | link (const Node::Output &out, const Node::Input &in) |
Pipeline () | |
Pipeline (const std::shared_ptr< PipelineImpl > &pimpl) | |
void | remove (std::shared_ptr< Node > node) |
Removes a node from pipeline. More... | |
void | serialize (PipelineSchema &schema, Assets &assets, std::vector< std::uint8_t > &assetStorage) const |
nlohmann::json | serializeToJson () const |
Returns whole pipeline represented as JSON. More... | |
void | setBoardConfig (BoardConfig board) |
Sets board configuration. More... | |
void | setCalibrationData (CalibrationHandler calibrationDataHandler) |
void | setCameraTuningBlobPath (const dai::Path &path) |
Set a camera IQ (Image Quality) tuning blob, used for all cameras. More... | |
void | setOpenVINOVersion (OpenVINO::Version version) |
Set a specific OpenVINO version to use with this pipeline. More... | |
void | setSippBufferSize (int sizeBytes) |
void | setSippDmaBufferSize (int sizeBytes) |
void | setXLinkChunkSize (int sizeBytes) |
void | unlink (const Node::Output &out, const Node::Input &in) |
Private Member Functions | |
PipelineImpl * | impl () |
const PipelineImpl * | impl () const |
Private Attributes | |
std::shared_ptr< PipelineImpl > | pimpl |
Represents the pipeline, set of nodes and connections between them.
Definition at line 100 of file Pipeline.hpp.
Definition at line 177 of file Pipeline.hpp.
Definition at line 183 of file Pipeline.hpp.
dai::Pipeline::Pipeline | ( | ) |
Constructs a new pipeline
Definition at line 19 of file Pipeline.cpp.
|
explicit |
Definition at line 46 of file Pipeline.cpp.
Pipeline dai::Pipeline::clone | ( | ) | const |
Clone the pipeline (Creates a copy)
Definition at line 24 of file Pipeline.cpp.
|
inline |
Adds a node to pipeline.
Node is specified by template argument N
Definition at line 145 of file Pipeline.hpp.
|
inline |
Get a vector of all nodes.
Definition at line 159 of file Pipeline.hpp.
|
inline |
Get a vector of all nodes.
Definition at line 155 of file Pipeline.hpp.
|
inline |
Get pipelines AssetManager as reference.
Definition at line 219 of file Pipeline.hpp.
|
inline |
Get pipelines AssetManager as reference.
Definition at line 214 of file Pipeline.hpp.
|
inline |
Gets board configuration.
Definition at line 303 of file Pipeline.hpp.
|
inline |
gets the calibration data which is set through pipeline
Definition at line 242 of file Pipeline.hpp.
|
inline |
Get a reference to internal connection representation.
Definition at line 179 of file Pipeline.hpp.
|
inline |
Get all connections.
Definition at line 173 of file Pipeline.hpp.
|
inline |
Get device configuration needed for this pipeline.
Definition at line 308 of file Pipeline.hpp.
GlobalProperties dai::Pipeline::getGlobalProperties | ( | ) | const |
Definition at line 50 of file Pipeline.cpp.
Get node with id if it exists, nullptr otherwise.
Definition at line 168 of file Pipeline.hpp.
Get node with id if it exists, nullptr otherwise.
Definition at line 164 of file Pipeline.hpp.
|
inline |
Get a reference to internal node map.
Definition at line 185 of file Pipeline.hpp.
|
inline |
Get possible OpenVINO version to run this pipeline.
Definition at line 247 of file Pipeline.hpp.
PipelineSchema dai::Pipeline::getPipelineSchema | ( | SerializationType | type = DEFAULT_SERIALIZATION_TYPE | ) | const |
Definition at line 54 of file Pipeline.cpp.
|
inline |
Get required OpenVINO version to run this pipeline. Can be none.
Definition at line 252 of file Pipeline.hpp.
|
inlineprivate |
Definition at line 102 of file Pipeline.hpp.
|
inlineprivate |
Definition at line 105 of file Pipeline.hpp.
|
inline |
Checks whether a given OpenVINO version is compatible with the pipeline.
Definition at line 293 of file Pipeline.hpp.
|
inline |
Link output to an input. Both nodes must be on the same pipeline
Throws an error if they aren't or cannot be connected
out | Nodes output to connect from |
in | Nodes input to connect to |
Definition at line 197 of file Pipeline.hpp.
|
inline |
Removes a node from pipeline.
Definition at line 150 of file Pipeline.hpp.
|
inline |
Definition at line 130 of file Pipeline.hpp.
|
inline |
Returns whole pipeline represented as JSON.
Definition at line 135 of file Pipeline.hpp.
|
inline |
Sets board configuration.
Definition at line 298 of file Pipeline.hpp.
|
inline |
Sets the calibration in pipeline which overrides the calibration data in eeprom
calibrationDataHandler | CalibrationHandler object which is loaded with calibration information. |
Definition at line 233 of file Pipeline.hpp.
|
inline |
Set a camera IQ (Image Quality) tuning blob, used for all cameras.
Definition at line 257 of file Pipeline.hpp.
|
inline |
Set a specific OpenVINO version to use with this pipeline.
Definition at line 224 of file Pipeline.hpp.
|
inline |
SIPP (Signal Image Processing Pipeline) internal memory pool. SIPP is a framework used to schedule HW filters, e.g. ISP, Warp, Median filter etc. Changing the size of this pool is meant for advanced use cases, pushing the limits of the HW. By default memory is allocated in high speed CMX memory. Setting to 0 will allocate in DDR 256 kilobytes. Units are bytes.
Definition at line 277 of file Pipeline.hpp.
|
inline |
SIPP (Signal Image Processing Pipeline) internal DMA memory pool. SIPP is a framework used to schedule HW filters, e.g. ISP, Warp, Median filter etc. Changing the size of this pool is meant for advanced use cases, pushing the limits of the HW. Memory is allocated in high speed CMX memory Units are bytes.
Definition at line 288 of file Pipeline.hpp.
|
inline |
Set chunk size for splitting device-sent XLink packets, in bytes. A larger value could increase performance, with 0 disabling chunking. A negative value won't modify the device defaults - configured per protocol, currently 64*1024 for both USB and Ethernet.
Definition at line 266 of file Pipeline.hpp.
|
inline |
Unlink output from an input.
Throws an error if link doesn't exists
out | Nodes output to unlink from |
in | Nodes input to unlink to |
Definition at line 209 of file Pipeline.hpp.
|
private |
Definition at line 101 of file Pipeline.hpp.