BinaryPixOp(Dst, Src1, Src2, Bpo) { foreach d, s1, s2 in Dst, Src1, Src2 Dst(d) = Bpo.doIt(Src1(s1), Src2(s2)); }
The requirements on the BpoT template parameter expressed as class definition are:
template<class DstValT, class Src1ValT, class Src2ValT> class BpoT { public: typedef HxTagTransInVar TransVarianceCategory; BpoT(HxTagList&); DstValT doIt(const Src1ValT& v1, const Src2ValT& v2); static HxString className(); };
The function doIt will be called with 2 parameters of type Src1ImgSigT::ArithType and Src2ImgSigT::ArithType, and the result will be stored in a variable of type DstImgSigT::ArithType before being written to the destination image.
Example(s):