public class ECGPanel
extends javax.swing.JComponent
Implements a component that can display an array of tiles, each of which is a 2D graph of ECG values.
javax.swing.JComponent.AccessibleJComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
ECGPanel(short[][] samples,
int numberOfChannels,
int nSamplesPerChannel,
java.lang.String[] channelNames,
int nTilesPerColumn,
int nTilesPerRow,
float samplingIntervalInMilliSeconds,
float[] amplitudeScalingFactorInMilliVolts,
float horizontalPixelsPerMilliSecond,
float verticalPixelsPerMilliVolt,
float timeOffsetInMilliSeconds,
int[] displaySequence,
int width,
int height)
Construct a component containing an array of tiles of ECG waveforms.
|
Modifier and Type | Method and Description |
---|---|
static void |
main(java.lang.String[] arg)
For testing.
|
void |
paintComponent(java.awt.Graphics g)
Draw the data onto the supplied graphic with the specified background.
|
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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI
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
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, getAccessibleContext, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public ECGPanel(short[][] samples, int numberOfChannels, int nSamplesPerChannel, java.lang.String[] channelNames, int nTilesPerColumn, int nTilesPerRow, float samplingIntervalInMilliSeconds, float[] amplitudeScalingFactorInMilliVolts, float horizontalPixelsPerMilliSecond, float verticalPixelsPerMilliVolt, float timeOffsetInMilliSeconds, int[] displaySequence, int width, int height)
Construct a component containing an array of tiles of ECG waveforms.
samples
- the ECG data as separate channelsnumberOfChannels
- the number of channels (leads)nSamplesPerChannel
- the number of samples per channel (same for all channels)channelNames
- the names of each channel with which to annotate themnTilesPerColumn
- the number of tiles to display per columnnTilesPerRow
- the number of tiles to display per row (if 1, then nTilesPerColumn should == numberOfChannels)samplingIntervalInMilliSeconds
- the sampling interval (duration of each sample) in millisecondsamplitudeScalingFactorInMilliVolts
- how many millivolts per unit of sample data (may be different for each channel)horizontalPixelsPerMilliSecond
- how may pixels to use to represent one millisecondverticalPixelsPerMilliVolt
- how may pixels to use to represent one millivolttimeOffsetInMilliSeconds
- how much of the sample data to skip, specified in milliseconds from the start of the samplesdisplaySequence
- an array of indexes into samples (etc.) sorted into desired sequential display orderwidth
- the width of the resulting component (sample data is truncated to fit if necessary)height
- the height of the resulting component (sample data is truncated to fit if necessary)public static void main(java.lang.String[] arg)
For testing.
Display the specified sample values as an array of tiles in a window, and take a snapshot of it as a JPEG file.
arg
- an argument selecting the input type ("RAW", "DICOM" or "SCPECG"), followed by
either 8 more arguments, the raw data filename (2 bytes per signed 16 bit sample interleaved),
the number of channels, the number of samples per channel, the number of tiles per column, the number of tiles per row,
the sampling interval in milliseconds, the amplitude scaling factor in millivolts,
and the time offset in milliseconds for the left edge of the display
or 4 more arguments, the SCPECG or DICOM data filename,
the number of tiles per column, the number of tiles per row,
and the time offset in milliseconds for the left edge of the displaypublic void paintComponent(java.awt.Graphics g)
Draw the data onto the supplied graphic with the specified background.
paintComponent
in class javax.swing.JComponent
g
- the graphic to draw into