private void computePsiSmooth(GrayF32 ux , GrayF32 uy , GrayF32 vx , GrayF32 vy ,
								  GrayF32 psiSmooth ) {
		int N = derivFlowUX.width * derivFlowUX.height;

		for( int i = 0; i < N; i++ ) {
			float vux = ux.data[i];
			float vuy = uy.data[i];
			float vvx = vx.data[i];
			float vvy = vy.data[i];

			float mu = vux*vux + vuy*vuy;
			float mv = vvx*vvx + vvy*vvy;

			psiSmooth.data[i] = (float)(1.0/(2.0*Math.sqrt(mu + mv + EPSILON*EPSILON)));
		}
	}
private void computePsiSmooth ( GrayF32 ux , GrayF32 uy , GrayF32 vx , GrayF32 vy , GrayF32 psiSmooth ) { int N = derivFlowUX . width * derivFlowUX . height ; for ( int i = 0 ; i < N ; i ++ ) { float vux = ux . data [ i ] ; float vuy = uy . data [ i ] ; float vvx = vx . data [ i ] ; float vvy = vy . data [ i ] ; float mu = vux * vux + vuy * vuy ; float mv = vvx * vvx + vvy * vvy ; psiSmooth . data [ i ] = ( float ) ( 1.0 / ( 2.0 * Math . sqrt ( mu + mv + EPSILON * EPSILON ) ) ) ; } }
Equation 5.  Psi_s