template<class ArrayT>
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
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 }
|