Module ij
Package ij.gui

# Class HistogramWindow

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
ij.gui.ImageWindow
ij.gui.HistogramWindow

All Implemented Interfaces:
  `RoiListener`, `ImageListener`, `Measurements`, `ClipboardOwner`, `ActionListener`, `FocusListener`, `MouseWheelListener`, `WindowListener`, `WindowStateListener`, `ImageObserver`, `MenuContainer`, `Serializable`, `Runnable`, `EventListener`, `Accessible`

public class HistogramWindow extends ImageWindow implements Measurements, ActionListener, ClipboardOwner, ImageListener, RoiListener, Runnable
This class is an extended ImageWindow that displays histograms.

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class java.awt.Frame

`Frame.AccessibleAWTFrame`

## Nested classes/interfaces inherited from class java.awt.Window

`Window.AccessibleAWTWindow, Window.Type`

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

`Container.AccessibleAWTContainer`

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

`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Calibration`
`cal`
`protected Button`
`copy`
`protected Label`
`count`
`protected int`
`decimalPlaces`
`protected static String`
`defaultDirectory`
`protected int`
`digits`
`protected Rectangle`
`frame`
`protected long[]`
`histogram`
`protected Button`
`list`
`protected Button`
`live`
`protected Button`
`log`
`protected boolean`
`logScale`
`protected LookUpTable`
`lut`
`static int`
`nBins`
`protected long`
`newMaxCount`
`protected int`
`plotScale`
`protected Button`
`rgb`
`protected Button`
`save`
`protected ImageStatistics`
`stats`
`protected Label`
`value`
`protected int`
`yMax`

### Fields inherited from class ij.gui.ImageWindow

`closed, HGAP, ic, ij, imp, LOC_KEY, MIN_HEIGHT, MIN_WIDTH, running, running2, setMenuBarTime, VGAP`

### 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

`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`

### Fields inherited from interface ij.measure.Measurements

`ADD_TO_OVERLAY, ALL_STATS, AREA, AREA_FRACTION, CENTER_OF_MASS, CENTROID, CIRCULARITY, ELLIPSE, FERET, INTEGRATED_DENSITY, INVERT_Y, KURTOSIS, LABELS, LIMIT, MAX_STANDARDS, MEAN, MEDIAN, MIN_MAX, MODE, NaN_EMPTY_CELLS, PERIMETER, RECT, SCIENTIFIC_NOTATION, SHAPE_DESCRIPTORS, SKEWNESS, SLICE, STACK_POSITION, STD_DEV`

### Fields inherited from interface ij.gui.RoiListener

`COMPLETED, CREATED, DELETED, EXTENDED, MODIFIED, MOVED`

## Constructor Summary

Constructors
Constructor
Description
`HistogramWindow(HistogramPlot plot, ImagePlus srcImp)`
`HistogramWindow(ImagePlus imp)`
Displays a histogram using the title "Histogram of ImageName".
`HistogramWindow(String title, ImagePlus imp, int bins)`
Displays a histogram using the specified title and number of bins.
`HistogramWindow(String title, ImagePlus imp, int bins, double histMin, double histMax)`
Displays a histogram using the specified title, number of bins and histogram range.
`HistogramWindow(String title, ImagePlus imp, int bins, double histMin, double histMax, int yMax)`
Displays a histogram using the specified title, number of bins, histogram range and yMax.
`HistogramWindow(String title, ImagePlus imp, ImageStatistics stats)`
Displays a histogram using the specified title and ImageStatistics.

## Method Summary

Modifier and Type
Method
Description
`void`
`actionPerformed(ActionEvent e)`
`protected void`
`copyToClipboard()`
`protected void`
`drawHistogram(ImageProcessor ip, boolean fixedRange)`
`int[]`
`getHistogram()`
`ResultsTable`
`getResultsTable()`
Returns the histogram values as a ResultsTable.
`double[]`
`getXValues()`
`void`
`imageClosed(ImagePlus imp)`
`void`
`imageOpened(ImagePlus imp)`
`void`
`imageUpdated(ImagePlus imp)`
`void`
`lostOwnership(Clipboard clipboard, Transferable contents)`
`void`
`mouseMoved(int x, int y)`
This method is called by ImageCanvas.mouseMoved(MouseEvent).
`void`
`roiModified(ImagePlus img, int id)`
`void`
`run()`
`void`
`setup()`
`void`
`showHistogram(ImagePlus imp, int bins)`
Draws the histogram using the specified title and number of bins.
`void`
`showHistogram(ImagePlus imp, int bins, double histMin, double histMax)`
Draws the histogram using the specified title, number of bins and histogram range.
`void`
`showHistogram(ImagePlus srcImp, ImageStatistics stats)`
Draws the histogram using the specified title and ImageStatistics.
`protected void`
`showList()`

### Methods inherited from class ij.gui.ImageWindow

`add, centerNextImage, close, copy, createSubtitle, drawInfo, focusGained, focusLost, getCanvas, getImagePlus, getImageSize, getInitialMagnification, getInsets, getInsets, getMaximumBounds, getSliderHeight, isClosed, maximize, minimize, mouseWheelMoved, paint, paste, setImage, setImageJMenuBar, setLocation, setLocationAndSize, setNextLocation, setNextLocation, setSliderHeight, toString, updateImage, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened, windowStateChanged`

### Methods inherited from class java.awt.Frame

`addNotify, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setBackground, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated`

### Methods inherited from class java.awt.Window

`addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront`

### Methods inherited from class java.awt.Container

`add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, 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 java.awt.MenuContainer

`getFont, postEvent`

## Field Details

### stats

protected ImageStatistics stats

### histogram

protected long[] histogram

### lut

protected LookUpTable lut

### frame

protected Rectangle frame

### list

protected Button list

### save

protected Button save

### copy

protected Button copy

### log

protected Button log

### live

protected Button live

### rgb

protected Button rgb

### value

protected Label value

### count

protected Label count

### defaultDirectory

protected static String defaultDirectory

### decimalPlaces

protected int decimalPlaces

### digits

protected int digits

### newMaxCount

protected long newMaxCount

### plotScale

protected int plotScale

### logScale

protected boolean logScale

### cal

protected Calibration cal

### yMax

protected int yMax

### nBins

public static int nBins

## Constructor Details

### HistogramWindow

public HistogramWindow(HistogramPlot plot, ImagePlus srcImp)

### HistogramWindow

public HistogramWindow(ImagePlus imp)
Displays a histogram using the title "Histogram of ImageName".

### HistogramWindow

public HistogramWindow(String title, ImagePlus imp, int bins)
Displays a histogram using the specified title and number of bins. Currently, the number of bins must be 256 expect for 32 bit images.

### HistogramWindow

public HistogramWindow(String title, ImagePlus imp, int bins, double histMin, double histMax)
Displays a histogram using the specified title, number of bins and histogram range. Currently, the number of bins must be 256 and the histogram range range must be the same as the image range expect for 32 bit images.

### HistogramWindow

public HistogramWindow(String title, ImagePlus imp, int bins, double histMin, double histMax, int yMax)
Displays a histogram using the specified title, number of bins, histogram range and yMax.

### HistogramWindow

public HistogramWindow(String title, ImagePlus imp, ImageStatistics stats)
Displays a histogram using the specified title and ImageStatistics.

## Method Details

### showHistogram

public void showHistogram(ImagePlus imp, int bins)
Draws the histogram using the specified title and number of bins. Currently, the number of bins must be 256 expect for 32 bit images.

### showHistogram

public void showHistogram(ImagePlus imp, int bins, double histMin, double histMax)
Draws the histogram using the specified title, number of bins and histogram range. Currently, the number of bins must be 256 and the histogram range range must be the same as the image range expect for 32 bit images.

### showHistogram

public void showHistogram(ImagePlus srcImp, ImageStatistics stats)
Draws the histogram using the specified title and ImageStatistics.

### setup

public void setup()

### mouseMoved

public void mouseMoved(int x, int y)
Description copied from class: `ImageWindow`
This method is called by ImageCanvas.mouseMoved(MouseEvent).

Overrides:
  `mouseMoved` in class `ImageWindow`
See Also:
  - `ImageCanvas.mouseMoved(java.awt.event.MouseEvent)`

### drawHistogram

protected void drawHistogram(ImageProcessor ip, boolean fixedRange)

### getResultsTable

public ResultsTable getResultsTable()
Returns the histogram values as a ResultsTable.

### showList

protected void showList()

### copyToClipboard

protected void copyToClipboard()

### actionPerformed

public void actionPerformed(ActionEvent e)

Specified by:
  `actionPerformed` in interface `ActionListener`

### lostOwnership

public void lostOwnership(Clipboard clipboard, Transferable contents)

Specified by:
  `lostOwnership` in interface `ClipboardOwner`

### getHistogram

public int[] getHistogram()

### getXValues

public double[] getXValues()

### imageOpened

public void imageOpened(ImagePlus imp)

Specified by:
  `imageOpened` in interface `ImageListener`

### imageUpdated

public void imageUpdated(ImagePlus imp)

Specified by:
  `imageUpdated` in interface `ImageListener`

### roiModified

public void roiModified(ImagePlus img, int id)

Specified by:
  `roiModified` in interface `RoiListener`

### imageClosed

public void imageClosed(ImagePlus imp)

Specified by:
  `imageClosed` in interface `ImageListener`

### run

public void run()

Specified by:
  `run` in interface `Runnable`