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. |