|
From: <bma...@us...> - 2015-01-23 14:32:29
|
Revision: 8994
http://sourceforge.net/p/fudaa/svn/8994
Author: bmarchan
Date: 2015-01-23 14:32:27 +0000 (Fri, 23 Jan 2015)
Log Message:
-----------
Acceptation de tout type de format d'image
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/pom.xml
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.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/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/banniere.jpg
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportTranfFilesPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportTransfImagesAction.java
Modified: trunk/soft/fudaa-lspiv/pom.xml
===================================================================
--- trunk/soft/fudaa-lspiv/pom.xml 2015-01-22 08:33:35 UTC (rev 8993)
+++ trunk/soft/fudaa-lspiv/pom.xml 2015-01-23 14:32:27 UTC (rev 8994)
@@ -3,8 +3,8 @@
<modelVersion>4.0.0</modelVersion>
<properties>
- <fudaa-framework.version>1.4-SNAPSHOT</fudaa-framework.version>
- <fudaa-mesh.version>1.4-SNAPSHOT</fudaa-mesh.version>
+ <fudaa-framework.version>1.7-SNAPSHOT</fudaa-framework.version>
+ <fudaa-mesh.version>1.5-SNAPSHOT</fudaa-mesh.version>
<javaCompiler>1.6</javaCompiler>
<targetJdk>1.6</targetJdk>
</properties>
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportTranfFilesPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportTranfFilesPanel.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportTranfFilesPanel.java 2015-01-23 14:32:27 UTC (rev 8994)
@@ -0,0 +1,137 @@
+/*
+ * @creation 18 d\xE9c. 2008
+ * @modification $Date:$
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail fud...@li...
+ */
+package org.fudaa.fudaa.piv;
+
+import java.io.File;
+
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+
+import org.fudaa.ctulu.CtuluUI;
+import org.fudaa.ctulu.gui.CtuluCellTextRenderer;
+import org.fudaa.ctulu.gui.CtuluDialogPanel;
+import org.fudaa.ctulu.gui.CtuluFileChooser;
+import org.fudaa.ctulu.gui.CtuluFileChooserPanel;
+import org.fudaa.ctulu.gui.CtuluListEditorModel;
+import org.fudaa.ctulu.gui.CtuluListEditorPanel;
+
+import com.memoire.bu.BuVerticalLayout;
+
+/**
+ * Un panneau pour exporter les images transform\xE9es pgm ou autres vers un r\xE9pertoire choisi.
+ *
+ * @author mar...@de...
+ * @version $Id$
+ */
+public class PivExportTranfFilesPanel extends CtuluDialogPanel {
+
+ private CtuluUI ui_;
+ /** Le repertoire racine du projet */
+ private File prjRoot_;
+ /** Le repertoire d'export. */
+ private CtuluFileChooserPanel fcDirExport_;
+ /** Le mod\xE8le pour la liste des images */
+ private CtuluListEditorModel mdFiles_;
+
+ /**
+ * Constructeur.
+ * @param _ui Le parent pour la boite de dialogue.
+ */
+ public PivExportTranfFilesPanel(CtuluUI _ui) {
+ ui_=_ui;
+
+ setLayout(new BuVerticalLayout(5, true, true));
+ setHelpText(PivResource.getS("Selectionner les images que vous souhaitez exporter."));
+
+ fcDirExport_=new CtuluFileChooserPanel();
+ fcDirExport_.setFileSelectMode(JFileChooser.DIRECTORIES_ONLY);
+ add(fcDirExport_);
+
+ // Label images
+ add(new JLabel(PivResource.getS("Liste des images"),JLabel.LEFT));
+
+ // Liste des images
+ mdFiles_=new CtuluListEditorModel(true) {
+ @Override
+ public boolean isCellEditable(int _rowIndex, int _columnIndex) {
+ return false;
+ }
+ @Override
+ public Object createNewObject() {
+ return null;
+ }
+ };
+
+ CtuluListEditorPanel pnFiles=new CtuluListEditorPanel(mdFiles_, true, true, false) {
+ @Override
+ public void actionAdd() {
+ }
+ };
+
+ pnFiles.setValueListCellRenderer(new CtuluCellTextRenderer() {
+ @Override
+ public void setValue(Object _file) {
+ File f=(File)_file;
+ setText(f.getName());
+ if (f.getPath().startsWith(prjRoot_.getPath())) {
+ setToolTipText(PivResource.getS("Dans le projet"));
+ }
+ else {
+ setToolTipText(f.getPath());
+ }
+ }
+ });
+
+ add(pnFiles);
+ }
+
+ @Override
+ public void setValue(Object _files) {
+ if (!(_files instanceof File[]))
+ throw new IllegalArgumentException("bad type parameter");
+ setFiles((File[])_files);
+ }
+
+ @Override
+ public File[] getValue() {
+ return getFiles();
+ }
+
+ /**
+ * Definit la racine du projet, pour savoir si un fichier fait d\xE9j\xE0 partie du projet.
+ * @param _root La racine du projet.
+ */
+ public void setRootProject(File _root) {
+ prjRoot_=_root;
+ }
+
+ /**
+ * D\xE9finit l'utilitaire \xE0 modifier.
+ * @param _tool L'utilitaire
+ */
+ public void setFiles(File[] _files) {
+ if (_files==null) return;
+
+ mdFiles_.setData(_files);
+ }
+
+ /**
+ * @return Les fichiers image, comportant les anciens et nouveaux fichiers.
+ */
+ public File[] getFiles() {
+ File[] files=new File[mdFiles_.getRowCount()];
+ mdFiles_.getValues(files);
+
+ return files;
+ }
+
+ @Override
+ public boolean isDataValid() {
+ return true;
+ }
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportTranfFilesPanel.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-01-22 08:33:35 UTC (rev 8993)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-01-23 14:32:27 UTC (rev 8994)
@@ -42,6 +42,7 @@
import org.fudaa.fudaa.piv.action.PivComputeFlowAction;
import org.fudaa.fudaa.piv.action.PivComputeLaunchAction;
import org.fudaa.fudaa.piv.action.PivComputeParamAction;
+import org.fudaa.fudaa.piv.action.PivExportTransfImagesAction;
import org.fudaa.fudaa.piv.action.PivFlowParamAction;
import org.fudaa.fudaa.piv.action.PivImportGRPAction;
import org.fudaa.fudaa.piv.action.PivImportGridAction;
@@ -81,14 +82,14 @@
protected static BuInformationsSoftware isPIV_ = new BuInformationsSoftware();
static {
isPIV_.name = "LSPIV";
- isPIV_.version = "1.3.2";
- isPIV_.date = "2013-02-14";
- isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CETMEF (c)1999-2013";
+ isPIV_.version = "1.4.1";
+ isPIV_.date = "2014-12-10";
+ isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CETMEF (c)1999-2014";
isPIV_.license = "GPL2";
isPIV_.languages = "en,fr";
isPIV_.authors=new String[]{"B.Marchand (mar...@de...)"};
isPIV_.contact="mag...@ed...\n jer...@ir...\n ale...@ed...";
- isPIV_.http="http://www.fudaa.fr/lspiv/";
+ isPIV_.http="http://forge.irstea.fr/projects/fudaa-lspiv";
isPIV_.logo = PivResource.PIV.getIcon("iconepiv.gif");
isPIV_.banner = PivResource.PIV.getIcon("banniere.jpg");
@@ -164,7 +165,7 @@
private void initStaticLanguageDependant() {
FILE_FLT_PROJ=new BuFileFilter("lspiv.zip",PivResource.getS("Fichier projet"));
FILE_FLT_PGM=new BuFileFilter("pgm",PivResource.getS("Fichiers images en niveaux de gris"));
- FILE_FLT_IMAGES=new BuFileFilter(new String[]{"jpg","gif","png","pgm"},PivResource.getS("Fichiers images"));
+ FILE_FLT_IMAGES=new BuFileFilter(new String[]{"jpg","jpeg","gif","png","pgm","tif","tiff","bmp"},PivResource.getS("Fichiers images"));
FILE_FLT_GRID=new BuFileFilter("dat",PivResource.getS("Fichier grid"));
FILE_FLT_GRP=new BuFileFilter("dat",PivResource.getS("Fichier GRP"));
FILE_FLT_BATHY=new BuFileFilter("dat",PivResource.getS("Fichier bathy"));
@@ -207,7 +208,7 @@
setEnabledForAction("CREATE_GRP", bprjOpen && bprjHasSrcImg);
setEnabledForAction("IMPORT_GRP", bprjOpen && bprjHasSrcImg);
setEnabledForAction("VERIFY_GRP", bprjOpen && project.getOrthoPoints()!=null);
- setEnabledForAction("DEFINE_ORTHO_PARAM", bprjOpen && project.getOrthoPoints()!=null && project.hasTransformableImages());
+ setEnabledForAction("DEFINE_ORTHO_PARAM", bprjOpen && project.getOrthoPoints()!=null && bprjHasSrcImg);
setEnabledForAction("COMPUTE_ORTHO", bprjOpen);
setEnabledForAction("DEFINE_PIV_PARAM", bprjOpen && bprjHasTransfImg);
setEnabledForAction("DEFINE_GRID", bprjOpen && bprjHasTransfImg);
@@ -220,6 +221,7 @@
setEnabledForAction("COMPUTE_AVERAGE", bprjOpen);
setEnabledForAction("SHOW_VELOCITIES_RESULTS", bprjOpen && project.getAverageResults()!=null);
setEnabledForAction("SHOW_FLOW_RESULTS", bprjOpen && project.getFlowResults()!=null);
+ setEnabledForAction("EXPORT_TRANSF_IMAGES", bprjOpen && bprjHasTransfImg);
refreshTitle();
}
@@ -815,6 +817,8 @@
BuMenuItem itExportImageToClip = new BuMenuItem();
super.initExportImageToClipborad(itExportImageToClip);
mnExport.add(itExportImageToClip);
+ mnExport.addSeparator();
+ mnExport.add(new PivExportTransfImagesAction(this));
}
/**
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportTransfImagesAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportTransfImagesAction.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportTransfImagesAction.java 2015-01-23 14:32:27 UTC (rev 8994)
@@ -0,0 +1,126 @@
+/*
+ * @creation 3 juil. 2008
+ * @modification $Date:$
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail fud...@li...
+ */
+package org.fudaa.fudaa.piv.action;
+
+import java.awt.event.ActionEvent;
+import java.io.File;
+
+import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.ctulu.gui.CtuluDialog;
+import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
+import org.fudaa.ebli.commun.EbliActionSimple;
+import org.fudaa.fudaa.piv.PivExePanel;
+import org.fudaa.fudaa.piv.PivExportTranfFilesPanel;
+import org.fudaa.fudaa.piv.PivImplementation;
+import org.fudaa.fudaa.piv.PivManageOriginalFilesPanel;
+import org.fudaa.fudaa.piv.PivPreferences;
+import org.fudaa.fudaa.piv.PivProgressionPanel;
+import org.fudaa.fudaa.piv.PivResource;
+import org.fudaa.fudaa.piv.PivVisuPanel;
+import org.fudaa.fudaa.piv.io.PivExeLauncher;
+
+/**
+ * Une action pour eporter les images transform\xE9es.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivExportTransfImagesAction extends EbliActionSimple {
+ PivImplementation impl;
+ PivExportTranfFilesPanel pnExportImages;
+ CtuluDialog diProgress_;
+
+ /**
+ * Constructeur.
+ * @param _impl L'implementation.
+ */
+ public PivExportTransfImagesAction(PivImplementation _impl) {
+ super(PivResource.getS("Export des images transform\xE9es..."), null, "EXPORT_TRANSF_IMAGES");
+
+ impl=_impl;
+ setEnabled(false);
+ }
+
+ /**
+ * Exporte les images transform\xE9es au format pgm.
+ * @param _e L'evenement pour l'action.
+ */
+ @Override
+ public void actionPerformed(final ActionEvent _e) {
+ if (!isValide()) {
+ return;
+ }
+
+// if (!PivExeLauncher.instance().areExeOK()) {
+// PivExePanel pnExe = new PivExePanel();
+//
+// // TODO BM : Verifier que les nouvelles images sont compatibles avec les donn\xE9es d'ortho ou message.
+//
+// if (!pnExe.afficheModaleOk(impl.getFrame(), PivResource.getS("R\xE9pertoire contenant les executables"))) {
+// return;
+// }
+// }
+
+ // Selection des images
+ if (pnExportImages==null)
+ pnExportImages = new PivExportTranfFilesPanel(impl);
+ pnExportImages.setRootProject(impl.getCurrentProject().getRoot());
+ pnExportImages.setFiles(impl.getCurrentProject().getTransfImageFiles());
+ if (!pnExportImages.afficheModaleOk(impl.getFrame(), PivResource.getS("Export des images"), CtuluDialog.OK_CANCEL_OPTION)) {
+ return;
+ }
+
+ final File[] exportImgFiles=pnExportImages.getFiles();
+
+// // Le reconditionnement des images.
+// CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Traitement des images sources")) {
+//
+// @Override
+// public void act() {
+// try {
+// CtuluAnalyze ana=new CtuluAnalyze();
+// ana.setDesc(getName());
+// impl.getCurrentProject().setSrcImagesFiles(exportImgFiles, this, ana);
+//
+// if (ana.containsErrorOrFatalError()) {
+// impl.error(ana.getResume());
+// return;
+// }
+//
+// }
+// finally {
+// diProgress_.dispose();
+// }
+//
+// impl.get2dFrame().getVisuPanel().setViewMode(PivVisuPanel.MODE_ORIGINAL_VIEW);
+//// impl.message(PivResource.getS("{0} images ont \xE9t\xE9 reconditionn\xE9es avec succ\xE8s",impl.getCurrentProject().getSrcImageFiles().length));
+// }
+// };
+//
+// PivProgressionPanel pnProgress_=new PivProgressionPanel(r);
+// diProgress_ = pnProgress_.createDialog(impl.getParentComponent());
+// diProgress_.setOption(CtuluDialog.ZERO_OPTION);
+// diProgress_.setDefaultCloseOperation(CtuluDialog.DO_NOTHING_ON_CLOSE);
+// diProgress_.setTitle(r.getName());
+//
+// r.start();
+// diProgress_.afficheDialogModal();
+ }
+
+ /**
+ * @return true Si toutes les donn\xE9es sont pr\xE9sentes pour un lancement.
+ */
+ public boolean isValide() {
+ return true;
+ }
+
+ @Override
+ public String getEnableCondition() {
+ return PivResource.getS("Les images transform\xE9es doivent exister");
+ }
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportTransfImagesAction.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
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-01-22 08:33:35 UTC (rev 8993)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java 2015-01-23 14:32:27 UTC (rev 8994)
@@ -103,8 +103,8 @@
impl.error(PivResource.getS("Erreur"), PivResource.getS("Les param\xE8tres d'orthorectification n'ont pas \xE9t\xE9 donn\xE9s"));
return false;
}
- if (!impl.getCurrentProject().hasTransformableImages()) {
- impl.error(PivResource.getS("Erreur"), PivResource.getS("Le projet ne contient aucune image \xE0 transformer"));
+ if (!impl.getCurrentProject().hasSrcImages()) {
+ impl.error(PivResource.getS("Erreur"), PivResource.getS("Le projet ne contient aucune image source"));
return false;
}
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-01-22 08:33:35 UTC (rev 8993)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-01-23 14:32:27 UTC (rev 8994)
@@ -229,7 +229,7 @@
}
/**
- * Lance le calcul des images transform\xE9es a partir des coefficients
+ * Lance le calcul de transformation des images sources a partir des coefficients
* d'orthorectification.
*
* @param _ana L'analyse pour la tache ex\xE9cut\xE9e.
@@ -268,7 +268,7 @@
// copyFile(prjOutputs, exeOutputs, "coeff.dat");
// Les images
- File[] imgInp = _prj.getTransformableImageFiles();
+ File[] imgInp = _prj.getSrcImageFiles();
// Si une image1.pgm existe, on la renomme pour eviter qu'elle soit \xE9cras\xE9e.
int indImgInpExe=Arrays.asList(imgInp).indexOf(fimgInpExe);
@@ -290,6 +290,7 @@
new PivPGMWriter().write(new File(prjImgInp, fimgInpExe.getName()), buffer);
}
else {
+ // TODO : Ne devrait plus passer par la...
// Attention : Le nom ne doit pas etre le m\xEAme que les images d\xE9ja
// stock\xE9es
String srcFileName = imgInp[i].getName();
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-01-22 08:33:35 UTC (rev 8993)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-01-23 14:32:27 UTC (rev 8994)
@@ -177,10 +177,6 @@
public boolean hasSrcImages() {
return getSrcImageFiles().length>0;
}
-
- public boolean hasTransformableImages() {
- return getTransformableImageFiles().length>0;
- }
/**
* Le projet contient-il des r\xE9sultats de vitesse brutes ?
@@ -235,19 +231,6 @@
}
/**
- * @return Le chemins des images transformables uniquement parmis les images sources, dans
- * l'ordre utilisateur.
- */
- public File[] getTransformableImageFiles() {
- List<File> files = new ArrayList<File>();
- for (File f : srcFiles_) {
- if (FLT_PGM_FILES.accept(f))
- files.add(f);
- }
- return files.toArray(new File[0]);
- }
-
- /**
* Reconstruit les caches si necessaire.
* @param _task La progression.
* @return false : Si un probl\xE8me s'est produit lors de la production.
Modified: trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/banniere.jpg
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|