Program Listing for File ImageAlign.hpp
↰ Return to documentation for file (include/depthai/pipeline/node/ImageAlign.hpp)
#pragma once
#include <depthai/pipeline/Node.hpp>
// shared
#include <depthai-shared/properties/ImageAlignProperties.hpp>
#include "depthai/pipeline/datatype/ImageAlignConfig.hpp"
namespace dai {
namespace node {
class ImageAlign : public NodeCRTP<Node, ImageAlign, ImageAlignProperties> {
public:
constexpr static const char* NAME = "ImageAlign";
protected:
Properties& getProperties();
private:
std::shared_ptr<RawImageAlignConfig> rawConfig;
public:
ImageAlign(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId);
ImageAlign(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId, std::unique_ptr<Properties> props);
ImageAlignConfig initialConfig;
Input inputConfig{*this, "inputConfig", Input::Type::SReceiver, false, 4, {{DatatypeEnum::ImageAlignConfig, false}}};
Input input{*this, "input", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgFrame, false}}};
Input inputAlignTo{*this, "inputAlignTo", Input::Type::SReceiver, false, 1, true, {{DatatypeEnum::ImgFrame, false}}};
Output outputAligned{*this, "outputAligned", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};
Output passthroughInput{*this, "passthroughInput", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};
ImageAlign& setOutputSize(int alignWidth, int alignHeight);
ImageAlign& setOutKeepAspectRatio(bool keep);
ImageAlign& setInterpolation(Interpolation interp);
ImageAlign& setNumShaves(int numShaves);
ImageAlign& setNumFramesPool(int numFramesPool);
};
} // namespace node
} // namespace dai