public void setData(int x, int y, int z, DarkFieldPCA myPCA) { SimpleMatrix eigenVectors = myPCA.getEigenVectors(); SimpleVector eigenValues = myPCA.getEigenValues(); for (int i = 0; i < fieldList.size(); i++) { SimpleVector eigenVec = eigenVectors.getCol(i); double eigenVal = eigenValues.getElement(i); eigenVec = eigenVec.multipliedBy(eigenVal); fieldList.get(i).setVector(x, y, z, eigenVec); } // /** // * Threshold that checks, if 3 component of eigenvalues is too small // * If 3 component is too small, don't consider it as a fiber orientation // * and ignore it // */ // double th = 1E-10; // SimpleVector fiberDir; // if(myPCA.getEigenValues().getElement(2)<th){ // fiberDir = new SimpleVector(3); // }else{ // fiberDir = myPCA.getEigenVectors().getCol(2).normalizedL2(); // fiberDir.multiplyBy(myPCA.getEigenValues().getElement(2)); // } }