Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

template<class ArrayT>
std::vector<ArrayT*> Impala::Core::Array::InvOpponentDer ( std::vector< ArrayT * > &  src  )  [inline]

input: R, Rx, Ry, G, Gx, Gy, B, Bx, and By.

output: O1_x, O1_y, O2_x, O2_y, O3_x, O3_y the first four are the same as computed in trait M9N4poFO O3x is Rx+Gx+Bx/sqrt(3) ported from matlab code at http://lear.inrialpes.fr/people/vandeweijer/research1

Note:
:only tested for ArrayT = Array2dScalarReal64

Definition at line 30 of file InvOpponentDer.h.

Referenced by InvQuasi().

00031 {
00032     Trait::M9N4poFO<ArrayT, ArrayT> traitO1xy2xy;
00033     std::vector<ArrayT*> resList;
00034     resList = Pattern::PatM9N4PixOp<ArrayT>(src[0], src[3], src[6],
00035                                             src[1], src[4], src[7],
00036                                             src[2], src[5], src[8],
00037                                             traitO1xy2xy);
00038 
00039     ArrayT* o3x = ArrayClone<ArrayT>(src[0]);
00040     Trait::M9poFO3x<ArrayT, ArrayT> traitO3x;
00041     Pattern::PatM9PixOp<ArrayT>(o3x, src[0], src[3], src[6],
00042                                      src[1], src[4], src[7],
00043                                      src[2], src[5], src[8],
00044                                      traitO3x);
00045     resList.push_back(o3x);
00046 
00047     ArrayT* o3y = ArrayClone<ArrayT>(src[0]);
00048     Trait::M9poFO3y<ArrayT, ArrayT> traitO3y;
00049     Pattern::PatM9PixOp<ArrayT>(o3y, src[0], src[3], src[6],
00050                                      src[1], src[4], src[7],
00051                                      src[2], src[5], src[8],
00052                                      traitO3y);
00053     resList.push_back(o3y);
00054     return resList;
00055 }


Generated on Fri Mar 19 10:57:16 2010 for ImpalaSrc by  doxygen 1.5.1