Class Viewer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by Viewer
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class Viewer
extends javax.swing.JFrame

See Also:
Serialized Form

Nested Class Summary
static class Viewer.PlaneInterpolation
          Defines the interpolation method in slice rendering mode.
static class Viewer.RenderMode
          Distinguishes between the two different rendering modes: slice and volume rendering mode.
static class Viewer.ShadingMode
          Distinguishes between different shading modes.
static class Viewer.SliceMode
          Defines the plane rendered in slice rendering mode.
static class Viewer.VolumeInterpolation
          Defines the interpolation method in volume rendering mode.
static class Viewer.VolumeMode
          Defines how rendering is done in volume mode.
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 VolDataFile volDataFile
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Viewer()
          Creates new form Viewer.
 
Method Summary
 void appendColorTransferPoint(ColorTransferPoint colorTransferPoint)
          Inserts a new point in the color point information array.
 void appendOpacityTransferPoint(OpacityTransferPoint opacityTransferPoint)
          Inserts a new point in the opacity point information array.
 java.awt.Color calcColor(short position)
          Calculates the color according to transfer function information.
 double calcOpacity(short position)
          Calculates the opacity according to transfer function information.
 void drawTransferCanvas()
          Generates a redraw of the transfer editor.
 boolean exportTransferPoints(java.io.File f)
          Exports transfer function information to file.
 ColorTransferPoint[] findColorTransferPoints(short position)
          Computes those members of the color point information array around a given density value.
 OpacityTransferPoint[] findOpacityTransferPoints(short position)
          Computes those members of the opacity point information array around a given density value.
 ColorTransferPoint[] getColorTransferPoints()
          Returns transfer function information.
 short getFirstHitThreshold()
          Returns the threshold value used in First Hit volume rendering mode.
 double getLevoyMaxOpacity()
          Returns the maximum opacity used as termination condition in Levoy volume rendering mode.
 OpacityTransferPoint[] getOpacityTransferPoints()
          Returns transfer function information.
 Viewer.PlaneInterpolation getPlaneInterpolation()
          Returns the actual plane interpolation method in slice rendering mode.
 Viewer.SliceMode getPlaneMode()
          Returns the actual plane mode in slice rendering mode.
 int getPlaneSlice()
          Returns the actual slice number in slice rendering mode.
 Viewer.RenderMode getRenderMode()
          Returns the actual rendering mode.
 Viewer.ShadingMode getShadingMode()
          Returns the actual shading mode in volume rendering mode.
 Viewer.VolumeInterpolation getVolumeInterpolation()
          Returns the actual interpolation method in volume rendering mode.
 Viewer.VolumeMode getVolumeMode()
          Returns the actual rendering method in volume rendering mode.
 boolean importTransferPoints(java.io.File f)
          Imports tranfer function information from file.
static void main(java.lang.String[] args)
           
 void removeColorTransferPoint(ColorTransferPoint colorTransferPoint)
          Removes a certain point of the color point information array.
 void removeOpacityTransferPoint(OpacityTransferPoint opacityTransferPoint)
          Removes a certain point of the opacity point information array.
 void resetTransferPoints()
          Resets transfer function information to default.
 void updateVisCanvas(boolean newData, boolean newMode, boolean newSize)
          Updates the geometry of the visualization canvas.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

volDataFile

public VolDataFile volDataFile
Constructor Detail

Viewer

public Viewer()
Creates new form Viewer.

Method Detail

drawTransferCanvas

public void drawTransferCanvas()
Generates a redraw of the transfer editor.


getRenderMode

public Viewer.RenderMode getRenderMode()
Returns the actual rendering mode.

Returns:
Rendering mode.

getPlaneMode

public Viewer.SliceMode getPlaneMode()
Returns the actual plane mode in slice rendering mode.

Returns:
Plane mode.

getPlaneSlice

public int getPlaneSlice()
Returns the actual slice number in slice rendering mode.

Returns:
Slice number.

getPlaneInterpolation

public Viewer.PlaneInterpolation getPlaneInterpolation()
Returns the actual plane interpolation method in slice rendering mode.

Returns:
Plane interpolation method.

getVolumeMode

public Viewer.VolumeMode getVolumeMode()
Returns the actual rendering method in volume rendering mode.

Returns:
Volume rendering mode.

getShadingMode

public Viewer.ShadingMode getShadingMode()
Returns the actual shading mode in volume rendering mode.

Returns:
Shading mode.

getVolumeInterpolation

public Viewer.VolumeInterpolation getVolumeInterpolation()
Returns the actual interpolation method in volume rendering mode.

Returns:
Interpolation method.

getFirstHitThreshold

public short getFirstHitThreshold()
Returns the threshold value used in First Hit volume rendering mode.

Returns:
First Hit threshold.

getLevoyMaxOpacity

public double getLevoyMaxOpacity()
Returns the maximum opacity used as termination condition in Levoy volume rendering mode.

Returns:
Maximum opacity.

getColorTransferPoints

public ColorTransferPoint[] getColorTransferPoints()
Returns transfer function information.

Returns:
Color point information.

getOpacityTransferPoints

public OpacityTransferPoint[] getOpacityTransferPoints()
Returns transfer function information.

Returns:
Opacity point information.

appendColorTransferPoint

public void appendColorTransferPoint(ColorTransferPoint colorTransferPoint)
Inserts a new point in the color point information array.

Parameters:
colorTransferPoint - Color point information to be added.

removeColorTransferPoint

public void removeColorTransferPoint(ColorTransferPoint colorTransferPoint)
Removes a certain point of the color point information array.

Parameters:
colorTransferPoint - Color point information to be removed.

appendOpacityTransferPoint

public void appendOpacityTransferPoint(OpacityTransferPoint opacityTransferPoint)
Inserts a new point in the opacity point information array.

Parameters:
opacityTransferPoint - Opacity point information to be added.

removeOpacityTransferPoint

public void removeOpacityTransferPoint(OpacityTransferPoint opacityTransferPoint)
Removes a certain point of the opacity point information array.

Parameters:
opacityTransferPoint - Opacity point information to be removed.

calcColor

public java.awt.Color calcColor(short position)
Calculates the color according to transfer function information.

Parameters:
position - Density value used as input for calculation.
Returns:
Color calculated.

findColorTransferPoints

public ColorTransferPoint[] findColorTransferPoints(short position)
Computes those members of the color point information array around a given density value.

Parameters:
position - Density value.
Returns:
Up to two color point information data sets surrounding given denisty value.

calcOpacity

public double calcOpacity(short position)
Calculates the opacity according to transfer function information.

Parameters:
position - Density value used as input for calculation.
Returns:
Opacity calculated.

findOpacityTransferPoints

public OpacityTransferPoint[] findOpacityTransferPoints(short position)
Computes those members of the opacity point information array around a given density value.

Parameters:
position - Density value.
Returns:
Up to two opacity point information data sets surrounding given denisty value.

resetTransferPoints

public void resetTransferPoints()
Resets transfer function information to default.


importTransferPoints

public boolean importTransferPoints(java.io.File f)
Imports tranfer function information from file.

Parameters:
f - File to read from.
Returns:
true on success.

exportTransferPoints

public boolean exportTransferPoints(java.io.File f)
Exports transfer function information to file.

Parameters:
f - File to write to.
Returns:
true on success.

updateVisCanvas

public void updateVisCanvas(boolean newData,
                            boolean newMode,
                            boolean newSize)
Updates the geometry of the visualization canvas.


main

public static void main(java.lang.String[] args)
Parameters:
args - the command line arguments