public void apply( Direction2 d, EigenTensors2 t, float[][] f, float[][] g) { if (_scale==0.0f) { copy(f,g); } else { int n1 = f[0].length; int n2 = f.length; float[][] au = new float[n2][n1]; float[][] av = new float[n2][n1]; float[][] sf = new float[n2][n1]; t.getEigenvalues(au,av); setEigenvalues(d,t); _lsf.applySmoothL(_kmax,f,sf); //_lsf.applySmoothS(f,sf); _lsf.apply(t,_scale,sf,g); t.setEigenvalues(au,av); } } public void apply(
public void apply( Direction3 d, EigenTensors3 t, float[][][] f, float[][][] g) { if (_scale==0.0f) { copy(f,g); } else { int n1 = f[0][0].length; int n2 = f[0].length; int n3 = f.length; float[][][] au = new float[n3][n2][n1]; float[][][] av = new float[n3][n2][n1]; float[][][] aw = new float[n3][n2][n1]; float[][][] sf = new float[n3][n2][n1]; t.getEigenvalues(au,av,aw); setEigenvalues(d,t); _lsf.applySmoothL(_kmax,f,sf); //_lsf.applySmoothS(f,sf); _lsf.apply(t,_scale,sf,g); t.setEigenvalues(au,av,aw); } } private float _scale;