diff --git a/src/main/java/fr/soleil/bensikin/actions/snapshot/ViewImageAction.java b/src/main/java/fr/soleil/bensikin/actions/snapshot/ViewImageAction.java
index 299043f64aaab32bad42956c92c8f1e2c709f415..d1261f12f3f4e68b6159bdf9251affff2ce377ab 100644
--- a/src/main/java/fr/soleil/bensikin/actions/snapshot/ViewImageAction.java
+++ b/src/main/java/fr/soleil/bensikin/actions/snapshot/ViewImageAction.java
@@ -14,25 +14,21 @@ public class ViewImageAction extends AbstractAction {
     private ViewImageDialog   dialog;
     private String            name;
     private Object            value;
-    private int               data_type;
-    private String            displayFormat;
 
-    public ViewImageAction(String name, Object value, int data_type,
-            String displayFormat) {
+    public ViewImageAction(String name, Object value) {
         super();
         this.putValue(Action.NAME, Messages
                 .getMessage("DIALOGS_IMAGE_ATTRIBUTE_VIEW_IMAGE"));
         this.name = name;
         this.value = value;
-        this.data_type = data_type;
-        this.displayFormat = displayFormat;
         dialog = null;
 
     }
 
+    @Override
     public void actionPerformed(ActionEvent e) {
         if (dialog == null) {
-            dialog = new ViewImageDialog(name, value, displayFormat, data_type);
+	    dialog = new ViewImageDialog(name, value);
         }
         dialog.updateContent();
         dialog.setVisible(true);
diff --git a/src/main/java/fr/soleil/bensikin/containers/sub/dialogs/ImageAttibuteDialog.java b/src/main/java/fr/soleil/bensikin/containers/sub/dialogs/ImageAttibuteDialog.java
index 21b73e3521d087899cdb36820d2577b96124d6f1..460bfca0954122b1c776f4e7d5a5b26d702d2ed5 100644
--- a/src/main/java/fr/soleil/bensikin/containers/sub/dialogs/ImageAttibuteDialog.java
+++ b/src/main/java/fr/soleil/bensikin/containers/sub/dialogs/ImageAttibuteDialog.java
@@ -46,6 +46,8 @@ import javax.swing.JScrollPane;
 import javax.swing.JTable;
 import javax.swing.JViewport;
 import javax.swing.SpringLayout;
+import javax.swing.SwingConstants;
+import javax.swing.WindowConstants;
 import javax.swing.table.JTableHeader;
 
 import fr.esrf.TangoDs.TangoConst;
@@ -60,7 +62,7 @@ import fr.soleil.bensikin.tools.SpringUtilities;
 
 /**
  * Dialog used to represent image values.
- * 
+ *
  * @author CLAISSE
  */
 public class ImageAttibuteDialog extends JDialog {
@@ -88,7 +90,7 @@ public class ImageAttibuteDialog extends JDialog {
 				+ ": " + attributeName, true);
 		this.data_type = data_type;
 		this.attributeName = attributeName;
-		this.value = duplicateValue(_value);
+	this.value = duplicateValue(_value);
 
 		this.setSize(dim);
 		int x = BensikinFrame.getInstance().getX()
@@ -108,7 +110,7 @@ public class ImageAttibuteDialog extends JDialog {
 		this.initLayout();
 		this.setContentPane(myPanel);
 		repaint();
-		this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
+		this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
 	}
 
 	/**
@@ -128,7 +130,7 @@ public class ImageAttibuteDialog extends JDialog {
 		GUIUtilities.setObjectBackground(myPanel, GUIUtilities.SNAPSHOT_COLOR);
 		if (hasNoData()) {
 			noData = new JLabel(Messages
-					.getMessage("DIALOGS_IMAGE_ATTRIBUTE_NAN"), JLabel.CENTER);
+					.getMessage("DIALOGS_IMAGE_ATTRIBUTE_NAN"), SwingConstants.CENTER);
 			GUIUtilities.setObjectBackground(noData,
 					GUIUtilities.SNAPSHOT_COLOR);
 		} else {
@@ -168,8 +170,7 @@ public class ImageAttibuteDialog extends JDialog {
 				.getDefaultRenderer());
 		headerTable.setMaximumSize(new Dimension(initColumnWidth,
 				Integer.MAX_VALUE));
-		viewButton = new JButton(new ViewImageAction(attributeName, value,
-				data_type, displayFormat));
+	viewButton = new JButton(new ViewImageAction(attributeName, value));
 		viewButton.setIcon(imageIcon);
 	}
 
@@ -335,7 +336,7 @@ public class ImageAttibuteDialog extends JDialog {
 
 	/**
 	 * Returns the registered value
-	 * 
+	 *
 	 * @return The registered value
 	 */
 	public Object getValue() {
diff --git a/src/main/java/fr/soleil/bensikin/containers/sub/dialogs/ViewImageDialog.java b/src/main/java/fr/soleil/bensikin/containers/sub/dialogs/ViewImageDialog.java
index 5cc88e62f6f63eebc2a854aa9b14c07444982b6a..ad2024be0cc5256d936ed048e9562683aa096688 100644
--- a/src/main/java/fr/soleil/bensikin/containers/sub/dialogs/ViewImageDialog.java
+++ b/src/main/java/fr/soleil/bensikin/containers/sub/dialogs/ViewImageDialog.java
@@ -1,12 +1,13 @@
 package fr.soleil.bensikin.containers.sub.dialogs;
 
+import java.awt.BorderLayout;
+import java.awt.Dimension;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 
 import javax.activation.UnsupportedDataTypeException;
 import javax.swing.JDialog;
 import javax.swing.JPanel;
-import javax.swing.SpringLayout;
 import javax.swing.WindowConstants;
 
 import net.entropysoft.transmorph.ConverterException;
@@ -14,7 +15,6 @@ import net.entropysoft.transmorph.DefaultConverters;
 import net.entropysoft.transmorph.Transmorph;
 import fr.soleil.archiving.gui.tools.GUIUtilities;
 import fr.soleil.bensikin.containers.BensikinFrame;
-import fr.soleil.bensikin.tools.SpringUtilities;
 import fr.soleil.comete.awt.util.ColorTool;
 import fr.soleil.comete.swing.ImageViewer;
 import fr.soleil.data.container.matrix.DoubleMatrix;
@@ -25,18 +25,12 @@ public class ViewImageDialog extends JDialog {
     private ImageViewer imageViewer;
     protected JPanel myPanel;
     private final Object value;
-    private final String displayFormat;
-    private final int data_type;
 
-    public ViewImageDialog(String name, Object value, String displayFormat, int data_type) {
+    public ViewImageDialog(String name, Object value) {
 	super(BensikinFrame.getInstance(), name, true);
 	this.value = value;
-	this.displayFormat = displayFormat;
-	this.data_type = data_type;
 	initComponents();
-	addComponents();
-	initLayout();
-	initBounds();
+	layoutComponents();
 	this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
 	addWindowListener(new WindowAdapter() {
 	    @Override
@@ -53,48 +47,34 @@ public class ViewImageDialog extends JDialog {
     }
 
     private void initBounds() {
-	imageViewer.setSize(imageViewer.getWidth() + 200, imageViewer.getHeight() + 200);
-	int x = BensikinFrame.getInstance().getX() + BensikinFrame.getInstance().getWidth();
-	x -= this.getWidth() + 10;
-	if (x < 0) {
-	    x = 0;
-	}
-	int y = BensikinFrame.getInstance().getY() + BensikinFrame.getInstance().getHeight();
-	y -= this.getHeight();
-	y /= 2;
-	if (y < 0) {
-	    y = 0;
-	}
-	this.setLocation(x, y);
+	imageViewer.setMinimumSize(new Dimension(imageViewer.getWidth(), imageViewer.getHeight()));
+	pack();
+	setLocationRelativeTo(getParent());
     }
 
     private void initComponents() {
-	myPanel = new JPanel();
-	GUIUtilities.setObjectBackground(myPanel, GUIUtilities.SNAPSHOT_COLOR);
-	prepareViewer();
-    }
-
-    private void prepareViewer() {
 	imageViewer = new ImageViewer();
+	imageViewer.setApplicationId("Bensikin");
 	imageViewer.setUseMaskManagement(false);
 	imageViewer.setEditable(false);
 	imageViewer.setCometeBackground(ColorTool.getCometeColor(GUIUtilities.getSnapshotColor()));
     }
 
-    private void addComponents() {
-	myPanel.add(imageViewer);
-	this.setContentPane(myPanel);
-    }
+    private void layoutComponents() {
+	myPanel = new JPanel();
+	GUIUtilities.setObjectBackground(myPanel, GUIUtilities.SNAPSHOT_COLOR);
 
-    protected void initLayout() {
-	myPanel.setLayout(new SpringLayout());
-	SpringUtilities.makeCompactGrid(myPanel, myPanel.getComponentCount(), 1, 0, 0, 0, 0, true);
+	myPanel.setLayout(new BorderLayout());
+	myPanel.add(imageViewer, BorderLayout.CENTER);
+
+	this.setContentPane(myPanel);
     }
 
     public void updateContent() {
 	clean();
 	imageViewer.setData(createMatrice());
-	myPanel.add(imageViewer);
+	myPanel.add(imageViewer, BorderLayout.CENTER);
+	initBounds();
     }
 
     private DoubleMatrix createMatrice() {