Package com.compomics.util.gui.spectrum
Class ChromatogramPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.compomics.util.gui.spectrum.GraphicsPanel
com.compomics.util.gui.spectrum.ChromatogramPanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
public class ChromatogramPanel extends GraphicsPanel
This class provides a JPanel that can display a profileChromatogram.
- Version:
- $Id$
- Author:
- Lennart Martens, Harald Barsnes
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class com.compomics.util.gui.spectrum.GraphicsPanel
GraphicsPanel.DrawingStyle, GraphicsPanel.GraphicsPanelType
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class com.compomics.util.gui.spectrum.GraphicsPanel
alphaLevel, ANNOTATED_STATUS, annotateHighestPeak, currentGraphicsPanelType, currentPadding, dataSetCounter, dataSetCounterMirroredSpectra, deltaMassWindow, iAnnotations, iAnnotationsMirroredSpectra, iAnnotationYAxisThreshold, iAreaUnderCurveColor, iAreaUnderCurveColorMirroredSpectra, iClicked, iClickedDataSetIndex, iClickedDataSetIndexMirrored, iClickedIndex, iClickedIndexMirrored, iClickedList, iClickedListDatasetIndices, iClickedListDatasetIndicesMirrored, iClickedListMirrored, iClickedMirrored, iCurrentDrawStyle, iDataPointAndLineColor, iDataPointAndLineColorMirroredSpectra, iDotRadius, iDragged, iDragXLoc, iEndXLoc, iFilename, iFilenameColor, iFilenameMirrorredSpectrum, iHighLight, iHighLightDatasetIndex, iHighLightDatasetIndexMirrored, iHighLightIndex, iHighLightIndexMirrored, iHighLightMirrored, iKnownMassDeltas, iMinDrag, iMSLevel, INTERACTIVE_STATUS, iPointDetectionTolerance, iPointSize, iPrecursorCharge, iPrecursorChargeMirorredSpectrum, iPrecursorMZ, iPrecursorMZMirroredSpectrum, iSpecPanelListeners, iStartXLoc, iStartYLoc, iStoredSequence, iStoredSequenceDatasetIndices, iStoredSequenceDatasetIndicesMirrored, iStoredSequenceMirrored, iTopPadding, iXAxisData, iXAxisDataInPixels, iXAxisDataInPixelsMirroredSpectrum, iXAxisDataMirroredSpectrum, iXAxisLabel, iXAxisMax, iXAxisMin, iXAxisStartAtZero, iXPadding, iXScaleUnit, iXUnit, iYAxisData, iYAxisDataInPixels, iYAxisDataInPixelsMirroredSpectrum, iYAxisDataMirroredSpectrum, iYAxisLabel, iYAxisMax, iYAxisMin, iYScaleUnit, iYUnit, maxPadding, miniature, padding, showAllPeaks, showFileName, showPrecursorDetails, showResolution, xAxisZoomRangeLowerValue, xAxisZoomRangeUpperValue, xTagCount, yAxisZoomExcludesBackgroundPeaks, yDataIsPositive, yTagCount
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 ChromatogramPanel()
Empty default constructorChromatogramPanel(double[] aXAxisData, double[] aYAxisData)
This constructor creates a ChromatogramPanel based on the passed parameters.ChromatogramPanel(double[] aXAxisData, double[] aYAxisData, String aXAxisLabel, String aYAxisLabel)
This constructor creates a ChromatogramPanel based on the passed parameters.ChromatogramPanel(double[] aXAxisData, double[] aYAxisData, String aXAxisLabel, String aYAxisLabel, Integer aPointSize)
This constructor creates a ChromatogramPanel based on the passed parameters.ChromatogramPanel(double[] aXAxisData, double[] aYAxisData, String aXAxisLabel, String aYAxisLabel, Integer aPointSize, boolean profileChromatogram)
This constructor creates a ChromatogramPanel based on the passed parameters. -
Method Summary
Modifier and Type Method Description void
addAdditionalDataset(double[] aXAxisData, double[] aYAxisData, Color dataPointAndLineColor, Color areaUnderCurveColor)
Adds an additional profileChromatogram dataset to be displayed in the same Chromatogram Panel.void
setPointSize(Integer aPointSize)
This method allows the caller to set the point size for the profileChromatogram.void
setProfileMode(boolean profileMode)
Set the drawing style to profile or centroid mode.Methods inherited from class com.compomics.util.gui.spectrum.GraphicsPanel
addListeners, addReferenceAreaXAxis, addReferenceAreaYAxis, addSpectrumPanelListener, annotate, annotatePeaks, drawAxes, drawDaisyChain, drawFilledPolygon, drawMeasurementLine, drawMirroredPeaks, drawPeaks, drawXAxisReferenceAreas, drawXTags, drawYAxisReferenceAreas, drawYTags, dropDottedLine, findDeltaMassMatches, getAllReferenceAreasXAxis, getAllReferenceAreasYAxis, getAlphaLevel, getAreaUnderCurveColors, getBackgroundPeakWidth, getDeltaMassWindow, getiXAxisMax, getiXAxisMin, getiYAxisMax, getiYAxisMin, getKnownMassDeltas, getMaxPadding, getMaxXAxisValue, getMinXAxisValue, getPeakWaterMarkColor, getPeakWidth, getXAxisData, getXAxisZoomRangeLowerValue, getXAxisZoomRangeUpperValue, getYAxisData, highLight, highlightClicked, highLightPeak, isAnnotateHighestPeak, isMiniature, isSubscriptAnnotationNumbers, paint, processMirroredXAndYData, processXAndYData, removeAllReferenceAreasXAxis, removeAllReferenceAreasYAxis, removeReferenceAreaXAxis, removeReferenceAreaYAxis, rescale, rescale, setAlphaLevel, setAnnotateHighestPeak, setAnnotations, setAnnotations, setAnnotationsMirrored, setAnnotationsMirrored, setAnnotationYAxisThreshold, setAreaUnderCurveColor, setBackgroundPeakWidth, setDataPointAndLineColor, setDeltaMassWindow, setFilenameColor, setiXAxisMax, setiXAxisMin, setiYAxisMax, setiYAxisMin, setKnownMassDeltas, setMaxPadding, setMiniature, setPeakWaterMarkColor, setPeakWidth, setScientificXAxis, setScientificXAxis, setScientificYAxis, setScientificYAxis, setShowPrecursorDetails, setShowResolution, setSubscriptAnnotationNumbers, setUseMassDeltaCombinations, setXAxisStartAtZero, setYAxisZoomExcludesBackgroundPeaks, setYDataIsPositive, showPrecursorDetails, showResolution, useMassDeltaCombinations, yAxisZoomOnlyExcludesBackgroundPeaks, yDataIsPositive
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, 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, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
ChromatogramPanel
public ChromatogramPanel()Empty default constructor -
ChromatogramPanel
public ChromatogramPanel(double[] aXAxisData, double[] aYAxisData)This constructor creates a ChromatogramPanel based on the passed parameters. This constructor assumes profileChromatogram data rather than spectrum data. (For profile spectrum data use the SpectrumPanel class instead and set ProfileMode to 'true'.)- Parameters:
aXAxisData
- double[] with all the X axis data.aYAxisData
- double[] with all the Y axis data.
-
ChromatogramPanel
public ChromatogramPanel(double[] aXAxisData, double[] aYAxisData, String aXAxisLabel, String aYAxisLabel)This constructor creates a ChromatogramPanel based on the passed parameters. This constructor assumes profileChromatogram data rather than spectrum data. (For profile spectrum data use the SpectrumPanel class instead and set ProfileMode to 'true'.)- Parameters:
aXAxisData
- double[] with all the X axis data.aYAxisData
- double[] with all the Y axis data.aXAxisLabel
- String with the label for the x-axis (can have a unit between brackets, if available) - can be 'null' for no labelaYAxisLabel
- String with the label for the y-axis (can have a unit between brackets, if available) - can be 'null' for no label
-
ChromatogramPanel
public ChromatogramPanel(double[] aXAxisData, double[] aYAxisData, String aXAxisLabel, String aYAxisLabel, Integer aPointSize)This constructor creates a ChromatogramPanel based on the passed parameters. This constructor assumes profileChromatogram data rather than spectrum data. (For profile spectrum data use the SpectrumPanel class instead and set ProfileMode to 'true'.)- Parameters:
aXAxisData
- double[] with all the X axis data.aYAxisData
- double[] with all the Y axis data.aXAxisLabel
- String with the label for the x-axis (can have a unit between brackets, if available) - can be 'null' for no labelaYAxisLabel
- String with the label for the y-axis (can have a unit between brackets, if available) - can be 'null' for no labelaPointSize
- Integer with the point size to use
-
ChromatogramPanel
public ChromatogramPanel(double[] aXAxisData, double[] aYAxisData, String aXAxisLabel, String aYAxisLabel, Integer aPointSize, boolean profileChromatogram)This constructor creates a ChromatogramPanel based on the passed parameters. This constructor assumes profileChromatogram data rather than spectrum data. (For profile spectrum data use the SpectrumPanel class instead and set ProfileMode to 'true'.)- Parameters:
aXAxisData
- double[] with all the X axis data.aYAxisData
- double[] with all the Y axis data.aXAxisLabel
- String with the label for the x-axis (can have a unit between brackets, if available) - can be 'null' for no labelaYAxisLabel
- String with the label for the y-axis (can have a unit between brackets, if available) - can be 'null' for no labelaPointSize
- Integer with the point size to useprofileChromatogram
- If true, the profileChromatogram will be drawn with connected peaks, if false, only the peaks themselves are drawn. Note that profile mode is not recommended when the peak count is high as the drawing will be slow.
-
-
Method Details
-
addAdditionalDataset
public void addAdditionalDataset(double[] aXAxisData, double[] aYAxisData, Color dataPointAndLineColor, Color areaUnderCurveColor)Adds an additional profileChromatogram dataset to be displayed in the same Chromatogram Panel. Remember to use different colors for the different datasets.- Parameters:
aXAxisData
- double[] with all the x-axis values.aYAxisData
- double[] with all the y-axis valuesdataPointAndLineColor
- the color to use for the data points and linesareaUnderCurveColor
- the color to use for the area under the curve
-
setPointSize
This method allows the caller to set the point size for the profileChromatogram. Note that this number needs to be even, so any uneven number will be replaced by the closest, lower, even integer (e.g., 5 becomes 4, 13 becomes 12).- Parameters:
aPointSize
- int with the point size, that will be reduced to the closest, lower even integer (e.g., 5 becomes 4, 13 becomes 12).
-
setProfileMode
public void setProfileMode(boolean profileMode)Set the drawing style to profile or centroid mode. Profile mode draws lines between the peaks while centroid mode only draws the peaks. Profile mode is only recommended for datasets with low number of peaks, as it can be slow on bigger datasets.- Parameters:
profileMode
- use profile mode?
-