Class RawImageViewer

All Implemented Interfaces:
fr.esrf.tangoatk.core.IAttributeStateListener, fr.esrf.tangoatk.core.IErrorListener, fr.esrf.tangoatk.core.IRawImageListener, ActionListener, MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class RawImageViewer extends JPanel implements fr.esrf.tangoatk.core.IRawImageListener, ActionListener, MouseListener, MouseMotionListener
A high level class to display a TANGO image following Tango DEV_ENCODED specification and handle several image manipulation function.
See Also:
  • Field Details

    • imagePanel

      protected JImage imagePanel
  • Constructor Details

    • RawImageViewer

      public RawImageViewer()
      Create a new RawImageViewer
  • Method Details

    • setData

      public void setData(String encFormat, byte[] rawData)
      Sets data to display.
      Parameters:
      encFormat - DevEncoded format
      rawData - Handle to data
    • setBestFit

      public void setBestFit(boolean b)
      Displays the image using the whole color range.
      Parameters:
      b - Best fit toggle
    • isBestFit

      public boolean isBestFit()
      Returns true when best fit is on
      Returns:
      Best fit state
    • setGradient

      public void setGradient(Gradient g)
      Sets the colormap
      Parameters:
      g - New gradient colormap
    • getGradient

      public Gradient getGradient()
      Returns current colormap
      Returns:
      Gradient object
    • setNegative

      public void setNegative(boolean b)
      Displays negative image when enabled
      Parameters:
      b - True for negtive image
    • isNegative

      public boolean isNegative()
      Returns true only if negative image is displayed
      Returns:
      True when negative
    • setToolbarVisible

      public void setToolbarVisible(boolean b)
      Displays or hides the toolbar.
      Parameters:
      b - True if toolbar is displayed
    • isToolbarVisible

      public boolean isToolbarVisible()
      Returns true when the toolbar is visible.
      Returns:
      Toolbar visible state
    • setStatusLineVisible

      public void setStatusLineVisible(boolean b)
      Displays or hides the status line (bottom panel).
      Parameters:
      b - True if status line is displayed
    • isStatusLineVisible

      public boolean isStatusLineVisible()
      Returns true when the status line is visible.
      Returns:
      Status line visible state
    • getZoom

      public int getZoom()
      Return the current zoom factor index.
      Returns:
      Zoom factor
      See Also:
    • setZoom

      public void setZoom(int zoomIndex)
      Sets the image zoom factor. If you want to start you viewer with a fixed zoom factor, you have to call setZoom() before setModel().
       Possible zoomIndex values are:
         0 : 400%
         1 : 200%
         2 : 100%
         3 : 50%
         4 : 25%
         5 : 12.5%
       
      Parameters:
      zoomIndex - ZoomFactor index (see description).
    • setAutoZoom

      public void setAutoZoom(boolean auto)
      Enables or disables the auto zoom. When enabled, the image size (zoom) is automatically adjusted according to the component size. The calcul of the size is triggered by a call to setData() or imageChange().
      Parameters:
      auto - AutoZoom flag
    • getAutoZoom

      public boolean getAutoZoom()
      Determines wheter this image viewer has auto zoom enabled.
      Returns:
      Autozoom flag
      See Also:
    • setAlignToGrid

      public void setAlignToGrid(boolean b)
      Sets the align to grid mode for floating selection
      Parameters:
      b - True to enable
    • isAlignToGrid

      public boolean isAlignToGrid()
      Returns true is floating selection are aligned to grid
      Returns:
      Align to grid
    • isShowingMenu

      public boolean isShowingMenu()
      Returns true is the image viewer menu is displayed when clicking on the right mouse button.
      Returns:
      True is menu is enabled
    • setShowingMenu

      public void setShowingMenu(boolean b)
      True to enable menu displayed when clicking on right mouse button.
      Parameters:
      b - True to enable the menu
    • addRoiListener

      public void addRoiListener(IRoiListener l)
      Add the specified ROI Listener
      Parameters:
      l - ROI listener
    • removeRoiListener

      public void removeRoiListener(IRoiListener l)
      Remove the specified ROI Listener
      Parameters:
      l - ROI listener
    • setSelection

      public void setSelection(Rectangle r)
      Sets the floating selection.
      Parameters:
      r - Rectangle to select
    • getSelection

      public Rectangle getSelection()
      Return current floating rectangle selection
      Returns:
      Selection rectangle, Null is returned when nothing is selected.
    • getImageMargin

      public Insets getImageMargin()
      Returns image margin.
      Returns:
      Mergin
    • setImageMargin

      public void setImageMargin(Insets i)
      Sets the image margin.
      Parameters:
      i - Image margin
    • setSelectionEnabled

      public void setSelectionEnabled(boolean b)
      True is floating selection is enabled
      Parameters:
      b - True to allow floating selection
    • isSelectionEnabled

      public boolean isSelectionEnabled()
      Returns true is floating selection is enabled
      Returns:
      True when floating selection is allowed
    • setCrossCursor

      public void setCrossCursor(boolean enable)
      Enable or disable the cross cursor.
      Parameters:
      enable - True to enable cross cursor, false otherwise.
    • setCrossCursorColor

      public void setCrossCursorColor(Color c)
      Set the cross cursor color.
      Parameters:
      c - Cursor color
      See Also:
    • getSelectionMode

      public int getSelectionMode()
      Returns the floating selection mode
      Returns:
      0 when Line selection, 1 when rectangle selection
    • setSelectionMode

      public void setSelectionMode(int m)
      Sets the floating selection mode
      Parameters:
      m - 0 for Line selection, 1 fro rectangle selection
    • getXAxis

      public JLAxis getXAxis()
      Returns:
      a handle to the x axis.
    • getYAxis

      public JLAxis getYAxis()
      Returns:
      a handle to the Y axis.
    • setGradientVisible

      public void setGradientVisible(boolean b)
      Displays or hides the gradient (right panel).
      Parameters:
      b - True if status line is displayed
    • isGradientVisible

      public boolean isGradientVisible()
      Returns:
      true when the gradient is visible.
    • getImageXCoord

      public int getImageXCoord(int x)
      Converts the component horizontal coordinate to the image coordinate.
      Parameters:
      x - Component horizontal coordinate
      Returns:
      Converted coordinates
    • getImageYCoord

      public int getImageYCoord(int y)
      Converts the component vertical coordinate to the image coordinate.
      Parameters:
      y - Component vertical coordinate
      Returns:
      Converted coordinates
    • getCurrentImageSize

      public Dimension getCurrentImageSize()
      Returns the current image size
      Returns:
      Current image size
    • getImagePanel

      public JImage getImagePanel()
      Returns the image panel
      Returns:
      Image panel
    • actionPerformed

      public void actionPerformed(ActionEvent evt)
      Specified by:
      actionPerformed in interface ActionListener
    • mouseDragged

      public void mouseDragged(MouseEvent e)
      Specified by:
      mouseDragged in interface MouseMotionListener
    • mouseMoved

      public void mouseMoved(MouseEvent e)
      Specified by:
      mouseMoved in interface MouseMotionListener
    • mouseEntered

      public void mouseEntered(MouseEvent e)
      Specified by:
      mouseEntered in interface MouseListener
    • mouseExited

      public void mouseExited(MouseEvent e)
      Specified by:
      mouseExited in interface MouseListener
    • mouseClicked

      public void mouseClicked(MouseEvent e)
      Specified by:
      mouseClicked in interface MouseListener
    • mouseReleased

      public void mouseReleased(MouseEvent e)
      Specified by:
      mouseReleased in interface MouseListener
    • mousePressed

      public void mousePressed(MouseEvent e)
      Specified by:
      mousePressed in interface MouseListener
    • errorChange

      public void errorChange(fr.esrf.tangoatk.core.ErrorEvent errorEvent)
      Specified by:
      errorChange in interface fr.esrf.tangoatk.core.IErrorListener
    • stateChange

      public void stateChange(fr.esrf.tangoatk.core.AttributeStateEvent evt)
      Specified by:
      stateChange in interface fr.esrf.tangoatk.core.IAttributeStateListener
    • rawImageChange

      public void rawImageChange(fr.esrf.tangoatk.core.RawImageEvent evt)
      Specified by:
      rawImageChange in interface fr.esrf.tangoatk.core.IRawImageListener
    • setModel

      public void setModel(fr.esrf.tangoatk.core.IRawImage v)
      Sets the model.
      Parameters:
      v - Value to assign to model.
    • clearModel

      public void clearModel()
      Removes all listener belonging to the viewer.
    • showSettings

      public void showSettings()
    • setMinFit

      public void setMinFit(double min)
      Sets the minimum value for fitting
      Parameters:
      min - Min fit value (in percent)
    • setMaxFit

      public void setMaxFit(double max)
      Sets the maximum value for fitting
      Parameters:
      max - Max fit value (in percent)
    • main

      public static void main(String[] args)