From: <bma...@us...> - 2017-03-13 09:54:48
|
Revision: 9540 http://sourceforge.net/p/fudaa/svn/9540 Author: bmarchan Date: 2017-03-13 09:54:45 +0000 (Mon, 13 Mar 2017) Log Message: ----------- Fix : Nettoyage des fichiers existants avant sauvegarde Modified Paths: -------------- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java =================================================================== --- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2017-03-13 09:26:10 UTC (rev 9539) +++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2017-03-13 09:54:45 UTC (rev 9540) @@ -758,6 +758,8 @@ /** * Definit que le projet est en full ortho (ou en mise \xE0 l'\xE9chelle). + * En passage mise \xE0 l'echelle, les points d'orthorectification sont supprim\xE9s + * * @param _b True : Full ortho, False : Mise \xE0 l'echelle. */ public void setFullOrtho(boolean _b) { @@ -769,6 +771,8 @@ } else { coeffs=new double[0]; + // Suppression des points d'orthorectification + setOrthoPoints(null); } isModified=true; Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java =================================================================== --- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java 2017-03-13 09:26:10 UTC (rev 9539) +++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java 2017-03-13 09:54:45 UTC (rev 9540) @@ -519,21 +519,24 @@ _prog.setDesc(PivResource.getS("Sauvegarde du projet")); // Le fichier GRP + File grpFile=new File(prj_.getOutputDir(),"GRP.dat"); + grpFile.delete(); if (prj_.orthoPoints!=null) { - File grpFile=new File(prj_.getOutputDir(),"GRP.dat"); new PivGRPWriter().write(prj_.orthoPoints, grpFile, null); } // Le fichier des coefficients ortho + File coeffFile=new File(prj_.getOutputDir(),"coeff.dat"); + coeffFile.delete(); if (prj_.coeffs!=null) { - File coeffFile=new File(prj_.getOutputDir(),"coeff.dat"); new PivCoeffWriter().write(prj_.coeffs, coeffFile, null); } // Les fichiers de parametres ortho + File imgRefFile=new File(prj_.getOutputDir(),"img_ref.dat"); + imgRefFile.delete(); if (prj_.orthoParams!=null) { Object[] params=new Object[]{prj_.orthoParams,prj_.getSrcImageSize()}; - File imgRefFile=new File(prj_.getOutputDir(),"img_ref.dat"); new PivImgRefWriter().write(params, imgRefFile, null); File hFile=new File(prj_.getOutputDir(),"h.dat"); @@ -541,21 +544,24 @@ } // Le fichiers de parametres de calcul + File paramFile=new File(prj_.getOutputDir(),"PIV_param.dat"); + paramFile.delete(); if (prj_.computeParams!=null) { Object[] params=new Object[]{prj_.computeParams,new PivTransectParams(),prj_.getTransfImageSize()}; - File paramFile=new File(prj_.getOutputDir(),"PIV_param.dat"); new PivParamWriter().write(params, paramFile, null); } // Le contour de grille + File cntGridFile=new File(prj_.getOutputDir(),"grid_param.dat"); + cntGridFile.delete(); if (prj_.cntGrid!=null) { - File cntGridFile=new File(prj_.getOutputDir(),"grid_param.dat"); new PivGridParamWriter().write(prj_.cntGrid, cntGridFile, null); } // Le fichiers des points de grille + File gridFile=new File(prj_.getOutputDir(),"grid.dat"); + gridFile.delete(); if (prj_.computeGrid!=null) { - File gridFile=new File(prj_.getOutputDir(),"grid.dat"); new PivGridWriter().write(prj_.computeGrid, gridFile, null); } @@ -585,6 +591,8 @@ * @param _all Tous les r\xE9sultats sont list\xE9s, sinon seulement ceux pour le calcul de moyenne. */ public void saveInstantResultsList(boolean _all) { + File listFile = new File(prj_.getOutputDir(),"list_avg.dat"); + listFile.delete(); File[] instantVelFiles=prj_.getRawVelocityFiles(); // Pas de r\xE9sultats instantan\xE9s @@ -593,7 +601,7 @@ // Cr\xE9ation du fichier contenant la liste des fichiers piv.dat obtenus par calcul. PrintWriter out=null; try { - out = new PrintWriter(new File(prj_.getOutputDir(),"list_avg.dat")); + out = new PrintWriter(listFile); // En principe, le nb de fichiers existants dans le repertoire devrait etre le meme // que la taille du tableau usedInstantResults. Ce n'est pas toujours le cas, // par exemple quand le calcul s'est mal pass\xE9. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2017-05-30 14:01:12
|
Revision: 9617 http://sourceforge.net/p/fudaa/svn/9617 Author: bmarchan Date: 2017-05-30 14:01:10 +0000 (Tue, 30 May 2017) Log Message: ----------- Suppression des points de correlation avec valeur = -99. Modified Paths: -------------- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsDefault.java Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java =================================================================== --- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java 2017-05-26 21:02:59 UTC (rev 9616) +++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java 2017-05-30 14:01:10 UTC (rev 9617) @@ -260,13 +260,22 @@ File velFile=new File(prj_.getOutputDir(),"average_vel.out"); if (velFile.exists()) { - CtuluIOResult<PivResultsDefault> ret = new PivAverageVelReader().read(velFile, _prog); - lres.add(ret.getSource()); + PivResultsDefault aveVelRes = new PivAverageVelReader().read(velFile, _prog).getSource(); + lres.add(aveVelRes); File scalFile=new File(prj_.getOutputDir(), "average_scal.out"); if (scalFile.exists()) { - ret = new PivAverageScalReader().read(scalFile, _prog); - lres.add((PivResultsI)ret.getSource()); + PivResultsDefault aveScalRes = new PivAverageScalReader().read(scalFile, _prog).getSource(); + lres.add(aveScalRes); + + // On supprime les points de correlation = -99 + // Cette suppression ne peut \xEAtre faite dans le lecteur des fichiers, certains fichiers ne disposant pas de l'information. + for (int ipt=aveScalRes.getNbPoints()-1; ipt>=0; ipt--) { + if (aveScalRes.getValue(ipt, ResultType.CORREL)==-99) { + aveScalRes.removePoint(ipt); + aveVelRes.removePoint(ipt); + } + } } return new PivCompositeResults(lres); @@ -361,17 +370,27 @@ for (int i=0; i<instantFltFiles.length; i++) { List<PivResultsI> lres=new ArrayList<PivResultsI>(); - CtuluIOResult<PivResultsDefault> ret = new PivInstantFilteredReader().read(instantFltFiles[i], _prog); - lres.add(ret.getSource()); + PivResultsDefault instantVelRes = new PivInstantFilteredReader().read(instantFltFiles[i], _prog).getSource(); + lres.add(instantVelRes); // Les scalaires + PivResultsDefault instantScalRes=null; if (instantScalFiles!=null && instantScalFiles.length>0) { - ret=new PivInstantScalReader().read(instantScalFiles[i], _prog); + instantScalRes=new PivInstantScalReader().read(instantScalFiles[i], _prog).getSource(); // La correlation est supprim\xE9e, elle est issue du fichier filtered plus pr\xE9cis. - ret.getSource().removeResult(ResultType.CORREL); -// ret.getSource().removeResult(TYPE.CORREL); - lres.add(ret.getSource()); + instantScalRes.removeResult(ResultType.CORREL); + lres.add(instantScalRes); } + + // On supprime les points de correlation = -99 + // Cette suppression ne peut \xEAtre faite dans le lecteur des fichiers, certains fichiers ne disposant pas de l'information. + for (int ipt=instantVelRes.getNbPoints()-1; ipt>=0; ipt--) { + if (instantVelRes.getValue(ipt, ResultType.CORREL)==-99) { + instantVelRes.removePoint(ipt); + if (instantScalRes != null) + instantScalRes.removePoint(ipt); + } + } instantRes[i]=new PivCompositeResults(lres); } @@ -425,8 +444,8 @@ for (int i=0; i<instantVelFiles.length; i++) { List<PivResultsI> lres=new ArrayList<PivResultsI>(); - CtuluIOResult<PivResultsDefault> ret = new PivInstantVelReader().read(instantVelFiles[i], _prog); - lres.add(ret.getSource()); + PivResultsDefault instantVelRes = new PivInstantVelReader().read(instantVelFiles[i], _prog).getSource(); + lres.add(instantVelRes); // if (instantScalFiles!=null && instantScalFiles.length>0) { // ret=new PivInstantScalReader().read(instantScalFiles[i], _prog); @@ -433,6 +452,16 @@ // lres.add(ret.getSource()); // } + // On supprime les points de correlation = -99 + // Cette suppression ne peut \xEAtre faite dans le lecteur des fichiers, certains fichiers ne disposant pas de l'information. + for (int ipt=instantVelRes.getNbPoints()-1; ipt>=0; ipt--) { + if (instantVelRes.getValue(ipt, ResultType.CORREL)==-99) { + instantVelRes.removePoint(ipt); +// if (instantScalRes != null) +// instantScalRes.removePoint(ipt); + } + } + instantRes.add(new PivCompositeResults(lres)); } return instantRes.toArray(new PivCompositeResults[0]); Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsDefault.java =================================================================== --- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsDefault.java 2017-05-26 21:02:59 UTC (rev 9616) +++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsDefault.java 2017-05-30 14:01:10 UTC (rev 9617) @@ -96,6 +96,25 @@ } } } + + /** + * Supprime un point de r\xE9sultat + * @param _ind L'indice du point + */ + public void removePoint(int _ind) { + if (_ind < 0 || _ind >= getNbPoints()) + return; + + x.remove(_ind); + y.remove(_ind); + + for (int i=0; i < types.size(); i++) { + // Type vectoriel + if (types.get(i).isVector()) { + vals.get(types.get(i)).remove(_ind); + } + } + } /** * Ajoute une nature de r\xE9sultats. Les valeurs pour ce r\xE9sultats sont par defaut egales \xE0 0. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |