Class InterfaceVolumePanel

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
mgui.interfaces.InterfacePanel
mgui.interfaces.shapes.volume.InterfaceVolumePanel
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.ComponentListener, java.awt.event.FocusListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener, javax.swing.event.DocumentListener, javax.swing.event.ListSelectionListener, AttributeListener, AttributeObject, DisplayListener, InterfaceObject, CategoryObject, PopupMenuObject, NamedObject, ShapeListener, TreeObject, CleanableObject, InterfaceIOPanel, IconObject

public class InterfaceVolumePanel
extends InterfacePanel
implements InterfaceIOPanel, java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.event.FocusListener, javax.swing.event.ChangeListener, javax.swing.event.DocumentListener, javax.swing.event.ListSelectionListener
Interface panel which allows the user to interact with Volume3DInt objects.
Since:
1.0
Version:
1.0
Author:
Andrew Reid
See Also:
Serialized Form
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    class  InterfaceVolumePanel.SliderTableColumn  

    Nested classes/interfaces inherited from class javax.swing.JPanel

    javax.swing.JPanel.AccessibleJPanel

    Nested classes/interfaces inherited from class javax.swing.JComponent

    javax.swing.JComponent.AccessibleJComponent

    Nested classes/interfaces inherited from class java.awt.Container

    java.awt.Container.AccessibleAWTContainer

    Nested classes/interfaces inherited from class java.awt.Component

    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected Volume3DInt currentVolume  
    VolumeMaskOptions_old maskOptions  
    protected VolumeEngine volume_engine  

    Fields inherited from class javax.swing.JComponent

    listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW

    Fields inherited from class java.awt.Component

    accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

    Fields inherited from interface java.awt.image.ImageObserver

    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
  • Constructor Summary

    Constructors
    Constructor Description
    InterfaceVolumePanel()  
  • Method Summary

    Modifier and Type Method Description
    void actionPerformed​(java.awt.event.ActionEvent e)  
    void changedUpdate​(javax.swing.event.DocumentEvent e)  
    void cleanUpPanel()
    Cleans up the panel's data when it loses focus.
    protected void enableIntensity​(boolean b)  
    protected void enableMasking()  
    protected void enableOps​(boolean b)  
    void focusGained​(java.awt.event.FocusEvent e)  
    void focusLost​(java.awt.event.FocusEvent e)  
    int[] getDataDims()  
    protected int getDataSize​(java.lang.String type)  
    static Volume3DInt getDefaultVolume()  
    protected Grid3D getGridFromSpecs()  
    protected Histogram getHistogramBlocking​(Volume3DInt volume, int t, int bins, double min, double max)
    Produces a histogram for the currently selected column of volume.
    javax.swing.Icon getObjectIcon()
    Returns the Icon associated with this object.
    protected GridVertexDataColumn getSelectedColumn()
    Returns the currently selected column, or null if no column is selected.
    protected int getTextureType​(java.lang.String type)  
    protected Volume3DInt getVolume​(java.lang.String column)  
    void handlePopupEvent​(java.awt.event.ActionEvent e)
    Handles an event on this object's popup menu.
    protected void init()  
    void insertUpdate​(javax.swing.event.DocumentEvent e)  
    protected boolean isNewGrid()  
    void keyPressed​(java.awt.event.KeyEvent e)  
    void keyReleased​(java.awt.event.KeyEvent arg0)  
    void keyTyped​(java.awt.event.KeyEvent arg0)  
    boolean loadVolume​(Volume3DInt volume, java.lang.String column, VolumeFileLoader loader, VolumeInputOptions options, ProgressUpdater progress_bar)  
    void removeUpdate​(javax.swing.event.DocumentEvent e)  
    protected void resetHistogram()  
    void setAxes​(org.jogamp.vecmath.Vector3f xAxis, org.jogamp.vecmath.Vector3f yAxis, org.jogamp.vecmath.Vector3f zAxis)  
    protected void setCurrentVolume​(Volume3DInt volume)  
    void setDataDims​(int x, int y, int z)  
    void setDataMax​(double max, double min)  
    void setGeomDims​(float x, float y, float z)  
    void setGeometryFromRect​(Rect3D r)  
    protected void setHistogram​(boolean as_job)  
    void setImgOrigin​(float x, float y, float z)  
    protected boolean setParameters​(InterfaceOptions p)  
    protected void setSelectedColumn​(java.lang.String column)
    Sets the current selected column.
    void shapeUpdated​(ShapeEvent e)
    A shape that this object is listening to has been updated.
    void showPanel()
    This method is called when a panel is displayed.
    void showPopupMenu​(java.awt.event.MouseEvent e)
    Shows a popup menu at the point of the given MouseEvent.
    void stateChanged​(javax.swing.event.ChangeEvent e)  
    java.lang.String toString()  
    void updateColourMaps()  
    protected void updateColumns()  
    protected void updateColumns​(boolean force)  
    void updateDisplay()
    Requests this panel to update its display.
    void updateFromDialog​(InterfaceDialogBox box)  
    protected void updateHistogram()
    Instructs the histogram panel to repaint itself
    protected void updateIntensity()
    Updates the intensity values for the current volume / column
    protected void updateIntensityValues()  
    protected void updateMasking()  
    protected void updateMaskShapePanel()  
    protected void updateOperationColumns()  
    protected void updateOperations()  
    protected void updateVolOptions()  
    void valueChanged​(javax.swing.event.ListSelectionEvent e)  

    Methods inherited from class javax.swing.JPanel

    getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI

    Methods inherited from class javax.swing.JComponent

    addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update

    Methods inherited from class java.awt.Container

    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree

    Methods inherited from class java.awt.Component

    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface mgui.interfaces.NamedObject

    getName, setName
  • Field Details

  • Constructor Details

    • InterfaceVolumePanel

      public InterfaceVolumePanel()
  • Method Details

    • init

      protected void init()
      Specified by:
      init in class InterfacePanel
    • valueChanged

      public void valueChanged​(javax.swing.event.ListSelectionEvent e)
      Specified by:
      valueChanged in interface javax.swing.event.ListSelectionListener
    • getObjectIcon

      public javax.swing.Icon getObjectIcon()
      Description copied from interface: IconObject
      Returns the Icon associated with this object.
      Specified by:
      getObjectIcon in interface IconObject
      Overrides:
      getObjectIcon in class InterfacePanel
      Returns:
    • cleanUpPanel

      public void cleanUpPanel()
      Description copied from class: InterfacePanel
      Cleans up the panel's data when it loses focus. Does nothing by default; override this method to perform custom housekeeping.
      Overrides:
      cleanUpPanel in class InterfacePanel
    • shapeUpdated

      public void shapeUpdated​(ShapeEvent e)
      Description copied from interface: ShapeListener
      A shape that this object is listening to has been updated. The specific type of event is defined by ShapeEvent.EventType.
      Specified by:
      shapeUpdated in interface ShapeListener
      Overrides:
      shapeUpdated in class InterfacePanel
    • enableMasking

      protected void enableMasking()
    • enableOps

      protected void enableOps​(boolean b)
    • enableIntensity

      protected void enableIntensity​(boolean b)
    • updateDisplay

      public void updateDisplay()
      Description copied from class: InterfacePanel
      Requests this panel to update its display.
      Specified by:
      updateDisplay in interface DisplayListener
      Overrides:
      updateDisplay in class InterfacePanel
    • stateChanged

      public void stateChanged​(javax.swing.event.ChangeEvent e)
      Specified by:
      stateChanged in interface javax.swing.event.ChangeListener
    • isNewGrid

      protected boolean isNewGrid()
    • updateOperations

      protected void updateOperations()
    • updateOperationColumns

      protected void updateOperationColumns()
    • getDefaultVolume

      public static Volume3DInt getDefaultVolume()
    • updateMaskShapePanel

      protected void updateMaskShapePanel()
    • updateMasking

      protected void updateMasking()
    • setHistogram

      protected void setHistogram​(boolean as_job)
    • resetHistogram

      protected void resetHistogram()
    • getSelectedColumn

      protected GridVertexDataColumn getSelectedColumn()
      Returns the currently selected column, or null if no column is selected.
      Returns:
    • setSelectedColumn

      protected void setSelectedColumn​(java.lang.String column)
      Sets the current selected column.
      Parameters:
      column -
    • getHistogramBlocking

      protected Histogram getHistogramBlocking​(Volume3DInt volume, int t, int bins, double min, double max)
      Produces a histogram for the currently selected column of volume.
      Parameters:
      volume - The volume for which to produce a histogram
      t - The temporal index (0 for 3D volumes)
      bins - The number of bins in the histogram
      min - The minimum of the range to use
      max - The maximum of the range to use
    • updateHistogram

      protected void updateHistogram()
      Instructs the histogram panel to repaint itself
    • updateIntensity

      protected void updateIntensity()
      Updates the intensity values for the current volume / column
    • updateIntensityValues

      protected void updateIntensityValues()
    • updateVolOptions

      protected void updateVolOptions()
    • showPopupMenu

      public void showPopupMenu​(java.awt.event.MouseEvent e)
      Description copied from interface: PopupMenuObject
      Shows a popup menu at the point of the given MouseEvent.
      Specified by:
      showPopupMenu in interface PopupMenuObject
      Overrides:
      showPopupMenu in class InterfacePanel
    • handlePopupEvent

      public void handlePopupEvent​(java.awt.event.ActionEvent e)
      Description copied from interface: PopupMenuObject
      Handles an event on this object's popup menu.
      Specified by:
      handlePopupEvent in interface PopupMenuObject
      Overrides:
      handlePopupEvent in class InterfacePanel
    • updateFromDialog

      public void updateFromDialog​(InterfaceDialogBox box)
      Specified by:
      updateFromDialog in interface InterfaceIOPanel
      Overrides:
      updateFromDialog in class InterfacePanel
    • setParameters

      protected boolean setParameters​(InterfaceOptions p)
    • changedUpdate

      public void changedUpdate​(javax.swing.event.DocumentEvent e)
      Specified by:
      changedUpdate in interface javax.swing.event.DocumentListener
    • insertUpdate

      public void insertUpdate​(javax.swing.event.DocumentEvent e)
      Specified by:
      insertUpdate in interface javax.swing.event.DocumentListener
    • removeUpdate

      public void removeUpdate​(javax.swing.event.DocumentEvent e)
      Specified by:
      removeUpdate in interface javax.swing.event.DocumentListener
    • actionPerformed

      public void actionPerformed​(java.awt.event.ActionEvent e)
      Specified by:
      actionPerformed in interface java.awt.event.ActionListener
    • loadVolume

      public boolean loadVolume​(Volume3DInt volume, java.lang.String column, VolumeFileLoader loader, VolumeInputOptions options, ProgressUpdater progress_bar)
    • getGridFromSpecs

      protected Grid3D getGridFromSpecs()
    • getVolume

      protected Volume3DInt getVolume​(java.lang.String column)
    • getDataDims

      public int[] getDataDims()
    • getDataSize

      protected int getDataSize​(java.lang.String type)
    • getTextureType

      protected int getTextureType​(java.lang.String type)
    • keyPressed

      public void keyPressed​(java.awt.event.KeyEvent e)
      Specified by:
      keyPressed in interface java.awt.event.KeyListener
      Overrides:
      keyPressed in class InterfacePanel
    • keyReleased

      public void keyReleased​(java.awt.event.KeyEvent arg0)
      Specified by:
      keyReleased in interface java.awt.event.KeyListener
      Overrides:
      keyReleased in class InterfacePanel
    • keyTyped

      public void keyTyped​(java.awt.event.KeyEvent arg0)
      Specified by:
      keyTyped in interface java.awt.event.KeyListener
      Overrides:
      keyTyped in class InterfacePanel
    • focusGained

      public void focusGained​(java.awt.event.FocusEvent e)
      Specified by:
      focusGained in interface java.awt.event.FocusListener
    • focusLost

      public void focusLost​(java.awt.event.FocusEvent e)
      Specified by:
      focusLost in interface java.awt.event.FocusListener
    • setCurrentVolume

      protected void setCurrentVolume​(Volume3DInt volume)
    • updateColumns

      protected void updateColumns()
    • updateColumns

      protected void updateColumns​(boolean force)
    • showPanel

      public void showPanel()
      Description copied from class: InterfacePanel
      This method is called when a panel is displayed. Subclasses should override to implement specific behaviour.
      Overrides:
      showPanel in class InterfacePanel
    • updateColourMaps

      public void updateColourMaps()
    • setDataDims

      public void setDataDims​(int x, int y, int z)
    • setImgOrigin

      public void setImgOrigin​(float x, float y, float z)
    • setGeomDims

      public void setGeomDims​(float x, float y, float z)
    • setDataMax

      public void setDataMax​(double max, double min)
    • setAxes

      public void setAxes​(org.jogamp.vecmath.Vector3f xAxis, org.jogamp.vecmath.Vector3f yAxis, org.jogamp.vecmath.Vector3f zAxis)
    • setGeometryFromRect

      public void setGeometryFromRect​(Rect3D r)
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.awt.Component