|
From: <bma...@us...> - 2015-02-24 13:41:04
|
Revision: 9046
http://sourceforge.net/p/fudaa/svn/9046
Author: bmarchan
Date: 2015-02-24 13:40:55 +0000 (Tue, 24 Feb 2015)
Log Message:
-----------
Reprise de la chaine de calculs a la suite des nouveaux exe fournis
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoParamPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredReader.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantScalReader.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantVelReader.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
trunk/soft/fudaa-lspiv/src/test/java/org/fudaa/fudaa/piv/io/TestJExeLauncher.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoParamPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoParamPanel.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoParamPanel.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -192,12 +192,12 @@
CtuluLog ana=new CtuluLog();
ana.setDesc(PivResource.getS("Pr\xE9visualisation des images transform\xE9es"));
- PivExeLauncher.instance().launchOrthoPlan(ana, impl_.getCurrentProject(),null);
+ PivExeLauncher.instance().computeOrthoCoefs(ana, impl_.getCurrentProject(),null);
if (ana.containsErrorOrSevereError()) {
impl_.error(ana.getResume());
return;
}
- PivExeLauncher.instance().launchTransfImg(ana, impl_.getCurrentProject(),true,null);
+ PivExeLauncher.instance().computeTransfImg(ana, impl_.getCurrentProject(),true,null);
if (ana.containsErrorOrSevereError()) {
impl_.error(ana.getResume());
return;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -375,8 +375,8 @@
cqVelResults.setVisible(false);
}
- if (prj_.getInstantResults()!=null) {
- mdlInstantVelResults=new PivVelResultsModel(prj_.getInstantResults());
+ if (prj_.getInstantRawResults()!=null) {
+ mdlInstantVelResults=new PivVelResultsModel(prj_.getInstantRawResults());
cqInstantVelResults_.setModele(mdlInstantVelResults);
cqInstantVelResults_.setVisible(false);
}
@@ -396,8 +396,8 @@
mdlTransect.setProjet(prj_);
cqTransect_.modele(mdlTransect);
- if (prj_.getInstantResults()!=null) {
- mdlInstantResults=new PivResultsModel(prj_.getInstantResults(),null);
+ if (prj_.getInstantRawResults()!=null) {
+ mdlInstantResults=new PivResultsModel(prj_.getInstantRawResults(),null);
cqInstantIso_.setModele(mdlInstantResults);
}
@@ -590,7 +590,7 @@
}
// La liste des r\xE9sultats instantan\xE9s/filtr\xE9s
- PivResultsI[] instantRes=prj_.getInstantResults();
+ PivResultsI[] instantRes=prj_.getInstantRawResults();
if (instantRes != null) {
for (int i = 0; i < instantRes.length; i++) {
cbVel_.addItem(PivResource.getS("R\xE9sultat : {0}",i+1));
@@ -678,9 +678,9 @@
majTools();
}
else if ("instantResults".equals(_prop)) {
- if (_prj.getInstantResults()!=null) {
- mdlInstantResults=new PivResultsModel(prj_.getInstantResults(),null);
- mdlInstantVelResults=new PivVelResultsModel(prj_.getInstantResults());
+ if (_prj.getInstantRawResults()!=null) {
+ mdlInstantResults=new PivResultsModel(prj_.getInstantRawResults(),null);
+ mdlInstantVelResults=new PivVelResultsModel(prj_.getInstantRawResults());
}
else {
mdlInstantResults=null;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -83,14 +83,14 @@
CtuluLog ana=new CtuluLog();
// Filtrage
- PivExeLauncher.instance().launchFilterInstantResultats(ana, impl.getCurrentProject(),this);
+ PivExeLauncher.instance().computeFilteredInstantResultats(ana, impl.getCurrentProject(),this);
if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
// Moyenne
- PivExeLauncher.instance().launchAverageResults(ana, impl.getCurrentProject(), this);
+ PivExeLauncher.instance().computeAverageResults(ana, impl.getCurrentProject(), this);
if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -74,13 +74,13 @@
try {
CtuluLog ana=new CtuluLog();
ana.setDesc(this.getName());
- PivExeLauncher.instance().launchBathyCompute(ana, impl.getCurrentProject(), this);
+ PivExeLauncher.instance().computeTransect(ana, impl.getCurrentProject(), this);
if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
- PivExeLauncher.instance().launchQCompute(ana, impl.getCurrentProject(), this);
+ PivExeLauncher.instance().computeQ(ana, impl.getCurrentProject(), this);
if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -68,13 +68,13 @@
try {
CtuluLog ana=new CtuluLog();
ana.setDesc(this.getName());
- PivExeLauncher.instance().launchPiv(ana, impl.getCurrentProject(), this);
+ PivExeLauncher.instance().computePiv(ana, impl.getCurrentProject(), this);
if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
- PivExeLauncher.instance().launchInstantResults(ana, impl.getCurrentProject(), this);
+ PivExeLauncher.instance().computeRawInstantResults(ana, impl.getCurrentProject(), this);
if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -60,12 +60,12 @@
try {
CtuluLog ana=new CtuluLog();
ana.setDesc(getName());
- PivExeLauncher.instance().launchOrthoPlan(ana, impl.getCurrentProject(), this);
+ PivExeLauncher.instance().computeOrthoCoefs(ana, impl.getCurrentProject(), this);
if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
- PivExeLauncher.instance().launchTransfImg(ana, impl.getCurrentProject(), false, this);
+ PivExeLauncher.instance().computeTransfImg(ana, impl.getCurrentProject(), false, this);
if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -60,12 +60,12 @@
CtuluLog ana=new CtuluLog();
ana.setDesc(PivResource.getS("V\xE9rification des points d'orthorectification"));
- PivExeLauncher.instance().launchOrthoPlan(ana, impl.getCurrentProject(),null);
+ PivExeLauncher.instance().computeOrthoCoefs(ana, impl.getCurrentProject(),null);
if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
- PivExeLauncher.instance().launchVerifOrtho(ana, impl.getCurrentProject(),null);
+ PivExeLauncher.instance().computeVerifOrtho(ana, impl.getCurrentProject(),null);
if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -165,12 +165,12 @@
}
/**
- * Calcule un num\xE9ro d'image sur 4 caract\xE8res pour un index donn\xE9. Les premiers
+ * Formatte un num\xE9ro d'image sur 4 caract\xE8res pour un index donn\xE9. Les premiers
* caract\xE8res sont combl\xE9s par des 0. Exemple : 0013
* @param _i L'index d'image
* @return Le num\xE9ro d'image sur 4 caract\xE8res.
*/
- static String computeImgNumber(int _i) {
+ static String formatImgNumber(int _i) {
int pow=3;
StringBuffer sb=new StringBuffer();
while (_i<Math.pow(10,pow) && pow>0) { pow--; sb.append("0"); }
@@ -184,7 +184,7 @@
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchOrthoPlan(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean computeOrthoCoefs(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -236,7 +236,7 @@
* r\xE9el.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchTransfImg(CtuluLog _ana, PivProject _prj, boolean _apercu, CtuluTaskOperationGUI _task) {
+ public boolean computeTransfImg(CtuluLog _ana, PivProject _prj, boolean _apercu, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjImgInp=new File(prjRoot,IMG_PGM_DIR);
File prjImgOut=new File(prjRoot,IMG_TRANSF_DIR);
@@ -318,7 +318,7 @@
if (_task!=null)
_task.setProgression(prog);
- new File(prjImgOut,"image1_transf.pgm").renameTo(new File(prjImgOut,"image"+computeImgNumber(i+1)+"_transf.pgm"));
+ new File(prjImgOut,"image1_transf.pgm").renameTo(new File(prjImgOut,"image"+formatImgNumber(i+1)+"_transf.pgm"));
}
FuLog.trace(PivResource.getS("Transformation des images ok."));
}
@@ -349,21 +349,25 @@
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchPiv(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean computePiv(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjImgOut=new File(prjRoot,IMG_TRANSF_DIR);
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
File prjVelRaw=new File(prjRoot,VEL_RAW_DIR);
File prjVelFlt=new File(prjRoot,VEL_FILTER_DIR);
+ File prjScalFlt=new File(prjRoot,VEL_SCAL_DIR);
// Nettoyage eventuel du repertoire des r\xE9sultats.
prjVelRaw.mkdir();
for (File f : prjVelRaw.listFiles()) f.delete();
- // Nettoyage des resultats filtr\xE9s et moyenn\xE9s
+ // Nettoyage des vitesses filtr\xE9es
prjVelFlt.mkdir();
for (File f : prjVelFlt.listFiles()) f.delete();
+ // Nettoyage des scalaires filtr\xE9s
+ prjScalFlt.mkdir();
+ for (File f : prjScalFlt.listFiles()) f.delete();
+ // On supprime le fichier des vitesses moyennes
String faverage="average_vel.out";
- // On supprime le fichier des vitesses moyennes
File resFile=new File(prjOutputs, faverage);
resFile.delete();
// Et celui des scalaires moyens
@@ -430,7 +434,7 @@
}
// On renomme le fichier
- new File(prjVelRaw,"piv.dat").renameTo(new File(prjVelRaw,"piv"+computeImgNumber(i+1)+".dat"));
+ new File(prjVelRaw,"piv.dat").renameTo(new File(prjVelRaw,"piv"+formatImgNumber(i+1)+".dat"));
prog=(i+1)*90/(imgOut.length-1)+5;
if (_task!=null)
@@ -447,7 +451,7 @@
new File(prjImgOut, "image2_transf.pgm").delete();
if (_ana.containsErrorOrSevereError()) {
- _prj.setInstantResults(null);
+ _prj.setInstantRawResults(null);
}
}
@@ -465,7 +469,7 @@
* @return true : Tout s'est bien d\xE9roul\xE9.
* @see #launchOrthoPlan
*/
- public boolean launchVerifOrtho(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean computeVerifOrtho(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -528,7 +532,7 @@
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchFilterInstantResultats(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean computeFilteredInstantResultats(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
File prjVelFlt=new File(prjRoot,VEL_FILTER_DIR);
@@ -547,7 +551,7 @@
PivResultsI[] res=null;
try {
- // Cr\xE9ation du fichier contenant la liste des fichiers piv.dat obtenus par calcul.
+ // Cr\xE9ation du fichier contenant la liste de tous les fichiers piv.dat obtenus par calcul.
_prj.saveInstantResultsList(true);
// PIV_param.dat
@@ -578,8 +582,30 @@
FuLog.trace(PivResource.getS("Filtrage ok."));
+ desc = PivResource.getS("Calcul des scalaires instantan\xE9s...");
+ FuLog.trace(desc);
+ if (_task != null) {
+ _task.setDesc(desc);
+ _task.setProgression(0);
+ }
+
+ outs = FuLib.runProgram(new String[] { exePath + File.separator + EXE.vel_scal + EXE_EXT }, prjRoot);
+ if (!outs.trim().equals("")) {
+ _ana.addError(PivResource.getS("Erreur de calcul des scalaires instantan\xE9s:\n") + outs);
+ return false;
+ }
+
+ if (_task != null && _task.isStopRequested()) {
+ _ana.addError(PivResource.getS("Calcul interrompu"));
+ return false;
+ }
+ if (_task != null)
+ _task.setProgression(80);
+
+ FuLog.trace(PivResource.getS("Calcul ok."));
+
// Chargement des r\xE9sultats
- res=_prj.loadFilteredInstantResults(_task);
+ res=_prj.loadInstantFilteredResults(_task);
}
catch (IOException ex) {
_ana.addError(ex.getMessage());
@@ -603,7 +629,7 @@
* @return true : Tout s'est bien d\xE9roul\xE9.
* @see #launchFilterVelocities
*/
- public boolean launchAverageResults(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean computeAverageResults(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -621,7 +647,8 @@
PivResultsI res=null;
try {
- // list_avg.dat deja cr\xE9\xE9 auparavant => Pas de cr\xE9ation
+ // Cr\xE9ation du fichier contenant la liste des fichiers piv.dat pour la moyenne.
+ _prj.saveInstantResultsList(false);
String desc=PivResource.getS("Calcul des vitesses moyennes...");
FuLog.trace(desc);
@@ -692,7 +719,7 @@
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchBathyCompute(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean computeTransect(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -753,7 +780,7 @@
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchQCompute(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean computeQ(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -836,18 +863,12 @@
* @return true : Tout s'est bien d\xE9roul\xE9.
* @see #launchPiv
*/
- public boolean launchInstantResults(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean computeRawInstantResults(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjVelReal=new File(prjRoot, VEL_REAL_DIR);
- File prjVelScal=new File(prjRoot, VEL_SCAL_DIR);
File prjVelRaw=new File(prjRoot, VEL_RAW_DIR);
File prjOutputs=new File(prjRoot, OUTPUT_DIR);
- // Nettoyage eventuel du repertoire des r\xE9sultats scalaires
- prjVelScal.mkdir();
- for (File f : prjVelScal.listFiles())
- f.delete();
-
// Nettoyage eventuel du repertoire des r\xE9sultats vitesse
prjVelReal.mkdir();
for (File f : prjVelReal.listFiles())
@@ -863,7 +884,7 @@
_task.setProgression(0);
}
- // Cr\xE9ation du fichier contenant la liste des fichiers piv.dat obtenus par calcul.
+ // Cr\xE9ation du fichier contenant la liste de tous les fichiers piv.dat obtenus par calcul.
PrintWriter out=new PrintWriter(new File(prjOutputs,"list_avg.dat"));
for (File f : prjVelRaw.listFiles()) {
out.println(f.getName());
@@ -898,37 +919,15 @@
FuLog.trace(PivResource.getS("Transformation ok."));
- desc=PivResource.getS("Calcul des r\xE9sultats instantan\xE9s...");
- FuLog.trace(desc);
- if (_task!=null) {
- _task.setDesc(desc);
- _task.setProgression(0);
- }
-
- outs = FuLib.runProgram(new String[]{exePath+File.separator+EXE.vel_scal + EXE_EXT}, prjRoot);
- if (!outs.trim().equals("")) {
- _ana.addError(PivResource.getS("Erreur de calcul des r\xE9sultats instantan\xE9s:\n")+outs);
- return false;
- }
-
- if (_task!=null && _task.isStopRequested()) {
- _ana.addError(PivResource.getS("Calcul interrompu"));
- return false;
- }
- if (_task!=null)
- _task.setProgression(80);
-
- FuLog.trace(PivResource.getS("Calcul ok."));
-
// Chargement des r\xE9sultats
- res=_prj.loadInstantResults(_task);
+ res=_prj.loadInstantRawResults(_task);
}
catch (IOException ex) {
_ana.addError(ex.getMessage());
return false;
}
finally {
- _prj.setInstantResults(res);
+ _prj.setInstantRawResults(res);
}
return true;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredReader.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredReader.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredReader.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -55,7 +55,7 @@
*/
private synchronized PivResultsDefault readVelocities() {
// TODO Bertrand : A verifier
- PivResultsDefault res = new PivResultsDefault(new TYPE[]{TYPE.VX,TYPE.VY,TYPE.CORREL,TYPE.NORME,TYPE.OMEGA,TYPE.DIVERG});
+ PivResultsDefault res = new PivResultsDefault(new TYPE[]{TYPE.VX,TYPE.VY});
if (super.in_ == null) {
analyze_.addErrorFromFile(PivResource.getS("Flux d'entr\xE9e non trouv\xE9"), 0);
@@ -78,15 +78,9 @@
in_.readFields();
double[] vals=new double[res.getResults().length];
- for (int i=0; i<3/*vals.length*/; i++) {
+ for (int i=0; i<res.getResults().length; i++) {
vals[i]=in_.doubleField(i+2);
}
- // Norme
- vals[3]=Math.sqrt(vals[0]*vals[0]+vals[1]*vals[1]);
- // Les autres
- for (int i=4; i<vals.length; i++) {
- vals[i]=i;
- }
res.addPoint(in_.doubleField(0), in_.doubleField(1), vals);
lu+=26; // Si le formattage en fortran
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantScalReader.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantScalReader.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantScalReader.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -77,8 +77,8 @@
in_.readFields();
// Les valeurs
- double[] vals=new double[4];
- for (int i=0; i<4; i++) {
+ double[] vals=new double[res.getResults().length];
+ for (int i=0; i<res.getResults().length; i++) {
vals[i]=in_.doubleField(i+2);
}
res.addPoint(in_.doubleField(0),in_.doubleField(1),vals);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantVelReader.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantVelReader.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantVelReader.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -54,7 +54,7 @@
* @return les infos non bloquantes.
*/
private synchronized PivResultsDefault readVelocities() {
- PivResultsDefault res = new PivResultsDefault(new TYPE[]{TYPE.VX,TYPE.VY});
+ PivResultsDefault res = new PivResultsDefault(new TYPE[]{TYPE.VX,TYPE.VY,TYPE.CORREL,TYPE.NORME});
if (super.in_ == null) {
analyze_.addErrorFromFile(PivResource.getS("Flux d'entr\xE9e non trouv\xE9"), 0);
@@ -76,11 +76,15 @@
while (true) {
in_.readFields();
- double[] vals=new double[2];
+ double[] vals=new double[4];
// VX
vals[0]=in_.doubleField(2);
// VY
vals[1]=in_.doubleField(3);
+ // CORREL
+ vals[2]=in_.doubleField(4);
+ // NORME : Recalcul\xE9e par PIV
+ vals[3]=Math.sqrt(vals[0]*vals[0]+vals[1]*vals[1]);
res.addPoint(in_.doubleField(0), in_.doubleField(1), vals);
lu+=26; // Si le formattage en fortran
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 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -783,9 +783,9 @@
averageResults=loadAverageResults(_prog);
// Les r\xE9sultats instantan\xE9s
- instantResults=loadInstantResults(_prog);
+ instantResults=loadInstantRawResults(_prog);
// Les r\xE9sultats instantan\xE9s filtr\xE9s
- instantFilteredResults=loadFilteredInstantResults(_prog);
+ instantFilteredResults=loadInstantFilteredResults(_prog);
// Et ceux utilis\xE9s pour le calcul de moyenne
usedInstantResults=loadInstantResultsList(_prog);
@@ -911,21 +911,21 @@
}
/**
- * Charge les resultats instantan\xE9es dans l'espace r\xE9el, suivant l'ordre
+ * Charge les resultats instantan\xE9es bruts dans l'espace r\xE9el, suivant l'ordre
* alphab\xE9tique des fichiers.
*
* @param _prog L'interface de progression.
* @return Les resultats ou <tt>null</tt> si aucun r\xE9sultat.
*/
- public PivCompositeResults[] loadInstantResults(ProgressionInterface _prog) {
+ public PivCompositeResults[] loadInstantRawResults(ProgressionInterface _prog) {
File[] instantVelFiles=new File(rootPath,VEL_REAL_DIR).listFiles();
- File[] instantScalFiles=new File(rootPath,VEL_SCAL_DIR).listFiles();
+// File[] instantScalFiles=new File(rootPath,VEL_SCAL_DIR).listFiles();
if (instantVelFiles!=null && instantVelFiles.length>0) {
Arrays.sort(instantVelFiles);
// Peut \xEAtre null pour les anciens projets.
- if (instantScalFiles!=null)
- Arrays.sort(instantScalFiles);
+// if (instantScalFiles!=null)
+// Arrays.sort(instantScalFiles);
List<PivCompositeResults> instantRes=new ArrayList<PivCompositeResults>();
for (int i=0; i<instantVelFiles.length; i++) {
@@ -934,10 +934,10 @@
CtuluIOResult<PivResultsDefault> ret = new PivInstantVelReader().read(instantVelFiles[i], _prog);
lres.add(ret.getSource());
- if (instantScalFiles!=null && instantScalFiles.length>0) {
- ret=new PivInstantScalReader().read(instantScalFiles[i], _prog);
- lres.add(ret.getSource());
- }
+// if (instantScalFiles!=null && instantScalFiles.length>0) {
+// ret=new PivInstantScalReader().read(instantScalFiles[i], _prog);
+// lres.add(ret.getSource());
+// }
instantRes.add(new PivCompositeResults(lres));
}
@@ -953,17 +953,30 @@
* @param _prog L'interface de progression.
* @return Les resultats ou <tt>null</tt> si aucun r\xE9sultat.
*/
- public PivResultsI[] loadFilteredInstantResults(ProgressionInterface _prog) {
+ public PivResultsI[] loadInstantFilteredResults(ProgressionInterface _prog) {
File[] instantFltFiles=new File(rootPath,VEL_FILTER_DIR).listFiles();
+ File[] instantScalFiles=new File(rootPath,VEL_SCAL_DIR).listFiles();
if (instantFltFiles!=null && instantFltFiles.length>0) {
Arrays.sort(instantFltFiles);
+ // Peut \xEAtre null pour les anciens projets.
+ if (instantScalFiles!=null)
+ Arrays.sort(instantScalFiles);
- PivResultsI[] instantRes=new PivResultsI[instantFltFiles.length];
+ PivCompositeResults[] instantRes=new PivCompositeResults[instantFltFiles.length];
for (int i=0; i<instantFltFiles.length; i++) {
+ List<PivResultsI> lres=new ArrayList<PivResultsI>();
CtuluIOResult<PivResultsDefault> ret = new PivInstantFilteredReader().read(instantFltFiles[i], _prog);
- instantRes[i]=ret.getSource();
+ lres.add(ret.getSource());
+
+ // Les scalaires
+ if (instantScalFiles!=null && instantScalFiles.length>0) {
+ ret=new PivInstantScalReader().read(instantScalFiles[i], _prog);
+ lres.add(ret.getSource());
+ }
+
+ instantRes[i]=new PivCompositeResults(lres);
}
return instantRes;
}
@@ -1366,19 +1379,19 @@
}
/**
- * Retourne les r\xE9sultats instantan\xE9s.
+ * Retourne les r\xE9sultats instantan\xE9s bruts.
* @return Les r\xE9sultats, ou <tt>null</tt> s'ils n'ont pas \xE9t\xE9 d\xE9finis.
*/
- public PivResultsI[] getInstantResults() {
+ public PivResultsI[] getInstantRawResults() {
return instantResults;
}
/**
- * Definit les r\xE9sultats instantan\xE9s de calcul, et notifie que le projet a \xE9t\xE9
+ * Definit les r\xE9sultats instantan\xE9s bruts de calcul, et notifie que le projet a \xE9t\xE9
* modifi\xE9.
* @param _res Les r\xE9sultats. <tt>null</tt> est autoris\xE9.
*/
- public void setInstantResults(PivResultsI[] _res) {
+ public void setInstantRawResults(PivResultsI[] _res) {
if (CtuluLibArray.isEquals(instantResults, _res)) return;
instantResults=_res;
Modified: trunk/soft/fudaa-lspiv/src/test/java/org/fudaa/fudaa/piv/io/TestJExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/test/java/org/fudaa/fudaa/piv/io/TestJExeLauncher.java 2015-02-20 16:34:33 UTC (rev 9045)
+++ trunk/soft/fudaa-lspiv/src/test/java/org/fudaa/fudaa/piv/io/TestJExeLauncher.java 2015-02-24 13:40:55 UTC (rev 9046)
@@ -8,8 +8,8 @@
public class TestJExeLauncher extends TestCase {
public void testComputeImgLauncher() {
- assertEquals(PivExeLauncher.computeImgNumber(1),"0001");
- assertEquals(PivExeLauncher.computeImgNumber(672),"0672");
- assertEquals(PivExeLauncher.computeImgNumber(9999),"9999");
+ assertEquals(PivExeLauncher.formatImgNumber(1),"0001");
+ assertEquals(PivExeLauncher.formatImgNumber(672),"0672");
+ assertEquals(PivExeLauncher.formatImgNumber(9999),"9999");
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|