User Documentation
RAVL, Recognition And Vision Library
Ravl - Core - Data Processing - Processes

Complex processes

Sometimes we wish to combine two or more streams of data. There are two many combinations of inputs and output, passive and active inputs, to support directly, however some simple cases are provided for. Implementing other more complex combinations for a specific application is not complicated. As before both the use of simple functions and processes based on classes are supported. The wrappers of multiple argument processes are show in Figure 5 and Figure 6.

Figure 5: 2 Argument process
Figure 6: 3 Argument process

The following example is not as elegant as previous examples, as the two input streams are setup separately to aid clarity. Figure 7 shows the pipelines created.

Figure 7: Example of a 2 input process.

DPIFileC<IntT> src1("in.dat");
DPIPortC<RealT> src2 = DPIFileC<RealT>("in2.dat") >> DPOffsetScale(2.0,3.0);
DPIStreamOp21C<IntT,RealT,RealT>(MyComibinationProcC("some parameters"),src1,src2) >> DPOffsetScale(5.0,2.0) >>= DPIFileC<RealT>("out.dat");

Normal classes:

 DPProcessC Templated process handle.
 DPFuncP2ProcC Function ptr to process handle.
 DPProcInfoC Process information.
 DPOffsetScaleC OffsetScale a stream of data.
 DPRunningAverageC Running average on a stream of data.

Normal functions:

 Process(OutT (*func)(const InT &) ) Turn a function into a process.
 operator >>(const DPProcessC &,OutT (*func)(InterT) )
 operator >>(InterT (*func)(InT) ,const DPProcessC &)
 DPFunc2Proc(OutT (*func)(const InT &) )
 operator >>(const DPProcessC &,OutT (*func)(const InterT &) )
 operator >>(InterT (*func)(const InT &) ,const DPProcessC &)
 operator >>(InterT (*func1)(InT) ,OutT (*func2)(InterT) )
 Process(const ObjT &,OutT (*nmethod)(const InT &) ) Turn a function into a process.
 DPOffsetScale(const NumTypeT &,const ScaleT &)
 DPRunningAverage(const NumTypeT &,IntT) Construct a running average.

Advanced classes:

 DPProcessBaseC Process handle base.
 DPMethod2ProcC Methodtion handle.
Maintainer:Charles Galambos, Documentation by CxxDoc: Tue Aug 13 10:00:52 2002