Package gov.nih.mipav.view.dialogs
Class JDialogHistogram2Dim
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- gov.nih.mipav.view.dialogs.JDialogBase
-
- gov.nih.mipav.view.dialogs.JDialogScriptableBase
-
- gov.nih.mipav.view.dialogs.JDialogHistogram2Dim
-
- All Implemented Interfaces:
AlgorithmInterface,ScriptableActionInterface,DialogDefaultsInterface,java.awt.event.ActionListener,java.awt.event.FocusListener,java.awt.event.ItemListener,java.awt.event.WindowListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.RootPaneContainer,javax.swing.WindowConstants
public class JDialogHistogram2Dim extends JDialogScriptableBase implements AlgorithmInterface
Dialog to get user input Create 2D histogram of images with equal dimensions or 2D histograms with 2 colors inside a RGB image. Algorithms are executed in their own thread.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBase
JDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKAction
-
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
-
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description private intbin1Number of bins for first image.private booleanbin1DefaultDefault number of bins for first image.private javax.swing.JLabelbin1LabelLabel description for bin1.private javax.swing.JTextFieldbin1TextTextfield for bin1.private intbin2Number of bins for second image.private booleanbin2DefaultDefault number of bins for first image.private javax.swing.JLabelbin2LabelLabel description for bin1.private javax.swing.JTextFieldbin2TextTextfield for bin2.private javax.swing.JCheckBoxblueCheckBoxCheckbox to select blue image.private intcolorsPresentNumber of colors present.private booleandoLinearRescaleIf true, the range of second image is same as the range of the first image.private booleandoLogResultIf true, calculates the log of the result image for better visualization.private ModelImagefirstImageFirst image (Source image).private javax.swing.JCheckBoxgreenCheckBoxCheckbox to select green image.private AlgorithmHistogram2Dimhistogram2DimAlgoInstance of AlgorithmHistogram2Dim.private javax.swing.JComboBoximageComboBoxCombobox to select the second image.private javax.swing.JLabellabelImageImage label.private javax.swing.JCheckBoxlinearCheckboxCheckbox to select linear rescaling of second image.private doublemaxBMax intensity values in Red, Green and Blue images respectively.private doublemaxGMax intensity values in Red, Green and Blue images respectively.private doublemaxRMax intensity values in Red, Green and Blue images respectively.private doubleminBMin. intensity values in Red, Green and Blue images respectivelyprivate doubleminGMin. intensity values in Red, Green and Blue images respectivelyprivate doubleminRMin. intensity values in Red, Green and Blue images respectivelyprivate doublepossibleInt2ValuesPossible intensity values for second image.private doublepossibleIntValuesPossible intensity values for first image.private javax.swing.JCheckBoxredCheckBoxCheckbox to select Red image.private javax.swing.JCheckBoxresultCheckboxCheckbox to display the log of result image.private ModelImageresultImageImage where the result is stored.private ModelImagesecondImageSecond image (Base image).private static longserialVersionUIDUse serialVersionUID for interoperability.private java.lang.String[]titlesString titles for the new windows.private booleanuseBlueIf true, blue image is selected as of the two images for calculating histogram.private booleanuseGreenIf true, green image is selected as of the two images for calculating histogram.private booleanuseRedIf true, red image is selected as of the two images for calculating histogram.private ViewUserInterfaceuserInterfaceKeeps record of the present structure of the application.-
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
displayInNewFrame, isComplete, scriptParameters
-
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogBase
applyButton, bar, cancelButton, cancelFlag, closeButton, HELP, helpButton, mainDialogPanel, NEW, OKButton, parentFrame, progressBar, REPLACE, runInSeparateThread, runningScriptFlag, runQuiet, serif12, serif12B, voiManager
-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description JDialogHistogram2Dim()Empty constructor needed for dynamic instantiation (used during scripting).JDialogHistogram2Dim(java.awt.Frame theParentFrame, ModelImage im)Creates new dialog.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent event)Closes dialog box when the OK button is pressed and calls the algorithm.voidalgorithmPerformed(AlgorithmBase algorithm)This method is required if the AlgorithmPerformed interface is implemented.private javax.swing.JComboBoxbuildComboBox(ModelImage image)Builds a list of images.protected voidcallAlgorithm()DOCUMENT ME!protected voiddoPostAlgorithmActions()Store the result image in the script runner's image table now that the action execution is finished.ModelImagegetResultImage()Accessor that returns the image.private voidinit()Initializes GUI components and displays dialog.voiditemStateChanged(java.awt.event.ItemEvent event)itemStateChanged.voidsetBin1(int bin1)Accessor that sets bin1.voidsetBin1Default(boolean bin1Default)DOCUMENT ME!voidsetBin2(int bin2)Accessor that sets bin2.voidsetBin2Default(boolean bin2Default)DOCUMENT ME!voidsetDoLinearRescale(boolean doLinearRescale)Accessor that sets whether or not linear rescaling occurs.voidsetDoLogResult(boolean doLogResult)Accessor that sets whether or not log of result image is displayed.protected voidsetGUIFromParams()Set the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetSecondImage(ModelImage secondImage)Accessor to set the secondImage.voidsetUseBlue(boolean useBlue)Accessor that setes if the blue channel is used.voidsetUseGreen(boolean useGreen)Accessor that sets if the green channel is used.voidsetUseRed(boolean useRed)Accessor that sets if the red channel is used.private booleansetVariables()Use the GUI results to set up the variables needed to run the algorithm.protected voidstoreParamsFromGUI()Record the parameters just used to run this algorithm in a script.-
Methods inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
getDialogActionString, insertScriptLine, isComplete, scriptRun, setComplete
-
Methods inherited from class gov.nih.mipav.view.dialogs.JDialogBase
buildApplyButton, buildButtons, buildCancelButton, buildCancelButton, buildCloseButton, buildHelpButton, buildImageComboBox, buildOKButton, buildOKButton, buildOKCancelButtons, buildTitledBorder, buildTitledBorder, createLabel, createProgressBar, createProgressBar, createTextField, focusGained, focusLost, getDialogName, isCancelled, isQuietRunning, isRunInSeparateThread, isScriptRunning, loadDefaults, loadDefaults, makeImageName, makeString, openNewFrame, saveDefaults, saveDefaults, setLeftHandSystem, setQuietRunning, setScriptRunning, setSeparateThread, setVisible, setVisible, setVisibleMenuBar, setVisibleStandard, setVOIManager, setWCSystem, testParameter, testParameterMin, updateFFTFileInfo, updateFileInfo, updateFileInfoOtherModality, updateFileInfoStatic, updateFileInfoStatic, updateFileTypeInfo, updateFileTypeInfo, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
-
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
-
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, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
bin1
private int bin1
Number of bins for first image.
-
bin1Default
private boolean bin1Default
Default number of bins for first image. Default is 256.
-
bin1Label
private javax.swing.JLabel bin1Label
Label description for bin1.
-
bin1Text
private javax.swing.JTextField bin1Text
Textfield for bin1.
-
bin2
private int bin2
Number of bins for second image.
-
bin2Default
private boolean bin2Default
Default number of bins for first image. Default is 256.
-
bin2Label
private javax.swing.JLabel bin2Label
Label description for bin1.
-
bin2Text
private javax.swing.JTextField bin2Text
Textfield for bin2.
-
blueCheckBox
private javax.swing.JCheckBox blueCheckBox
Checkbox to select blue image.
-
colorsPresent
private int colorsPresent
Number of colors present.
-
doLinearRescale
private boolean doLinearRescale
If true, the range of second image is same as the range of the first image.
-
doLogResult
private boolean doLogResult
If true, calculates the log of the result image for better visualization.
-
firstImage
private ModelImage firstImage
First image (Source image).
-
greenCheckBox
private javax.swing.JCheckBox greenCheckBox
Checkbox to select green image.
-
histogram2DimAlgo
private AlgorithmHistogram2Dim histogram2DimAlgo
Instance of AlgorithmHistogram2Dim.
-
imageComboBox
private javax.swing.JComboBox imageComboBox
Combobox to select the second image.
-
labelImage
private javax.swing.JLabel labelImage
Image label.
-
linearCheckbox
private javax.swing.JCheckBox linearCheckbox
Checkbox to select linear rescaling of second image.
-
maxR
private double maxR
Max intensity values in Red, Green and Blue images respectively.
-
maxG
private double maxG
Max intensity values in Red, Green and Blue images respectively.
-
maxB
private double maxB
Max intensity values in Red, Green and Blue images respectively.
-
minR
private double minR
Min. intensity values in Red, Green and Blue images respectively
-
minG
private double minG
Min. intensity values in Red, Green and Blue images respectively
-
minB
private double minB
Min. intensity values in Red, Green and Blue images respectively
-
possibleInt2Values
private double possibleInt2Values
Possible intensity values for second image.
-
possibleIntValues
private double possibleIntValues
Possible intensity values for first image.
-
redCheckBox
private javax.swing.JCheckBox redCheckBox
Checkbox to select Red image.
-
resultCheckbox
private javax.swing.JCheckBox resultCheckbox
Checkbox to display the log of result image.
-
resultImage
private ModelImage resultImage
Image where the result is stored.
-
secondImage
private ModelImage secondImage
Second image (Base image).
-
titles
private java.lang.String[] titles
String titles for the new windows.
-
useBlue
private boolean useBlue
If true, blue image is selected as of the two images for calculating histogram.
-
useGreen
private boolean useGreen
If true, green image is selected as of the two images for calculating histogram.
-
useRed
private boolean useRed
If true, red image is selected as of the two images for calculating histogram.
-
userInterface
private ViewUserInterface userInterface
Keeps record of the present structure of the application.
-
-
Constructor Detail
-
JDialogHistogram2Dim
public JDialogHistogram2Dim()
Empty constructor needed for dynamic instantiation (used during scripting).
-
JDialogHistogram2Dim
public JDialogHistogram2Dim(java.awt.Frame theParentFrame, ModelImage im)Creates new dialog.- Parameters:
theParentFrame- Parent frameim- Source image
-
-
Method Detail
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent event)
Closes dialog box when the OK button is pressed and calls the algorithm.- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener- Overrides:
actionPerformedin classJDialogBase- Parameters:
event- Event that triggers function.
-
algorithmPerformed
public void algorithmPerformed(AlgorithmBase algorithm)
This method is required if the AlgorithmPerformed interface is implemented. It is called by the algorithm when it has completed or failed to to complete, so that the dialog can be display the result image and/or clean up.- Specified by:
algorithmPerformedin interfaceAlgorithmInterface- Parameters:
algorithm- Algorithm that caused the event.
-
getResultImage
public ModelImage getResultImage()
Accessor that returns the image.- Returns:
- The result image.
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent event)
itemStateChanged.- Specified by:
itemStateChangedin interfacejava.awt.event.ItemListener- Overrides:
itemStateChangedin classJDialogBase- Parameters:
event- DOCUMENT ME!
-
setBin1
public void setBin1(int bin1)
Accessor that sets bin1.- Parameters:
bin1- DOCUMENT ME!
-
setBin1Default
public void setBin1Default(boolean bin1Default)
DOCUMENT ME!- Parameters:
bin1Default- DOCUMENT ME!
-
setBin2
public void setBin2(int bin2)
Accessor that sets bin2.- Parameters:
bin2- DOCUMENT ME!
-
setBin2Default
public void setBin2Default(boolean bin2Default)
DOCUMENT ME!- Parameters:
bin2Default- DOCUMENT ME!
-
setDoLinearRescale
public void setDoLinearRescale(boolean doLinearRescale)
Accessor that sets whether or not linear rescaling occurs.- Parameters:
doLinearRescale- DOCUMENT ME!
-
setDoLogResult
public void setDoLogResult(boolean doLogResult)
Accessor that sets whether or not log of result image is displayed.- Parameters:
doLogResult- If true, displays the log of result image for better visualization
-
setSecondImage
public void setSecondImage(ModelImage secondImage)
Accessor to set the secondImage.- Parameters:
secondImage- DOCUMENT ME!
-
setUseBlue
public void setUseBlue(boolean useBlue)
Accessor that setes if the blue channel is used.- Parameters:
useBlue- DOCUMENT ME!
-
setUseGreen
public void setUseGreen(boolean useGreen)
Accessor that sets if the green channel is used.- Parameters:
useGreen- DOCUMENT ME!
-
setUseRed
public void setUseRed(boolean useRed)
Accessor that sets if the red channel is used.- Parameters:
useRed- DOCUMENT ME!
-
callAlgorithm
protected void callAlgorithm()
DOCUMENT ME!- Specified by:
callAlgorithmin classJDialogScriptableBase
-
doPostAlgorithmActions
protected void doPostAlgorithmActions()
Store the result image in the script runner's image table now that the action execution is finished.- Overrides:
doPostAlgorithmActionsin classJDialogScriptableBase
-
setGUIFromParams
protected void setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.- Specified by:
setGUIFromParamsin classJDialogScriptableBase
-
storeParamsFromGUI
protected void storeParamsFromGUI() throws ParserExceptionRecord the parameters just used to run this algorithm in a script.- Specified by:
storeParamsFromGUIin classJDialogScriptableBase- Throws:
ParserException- If there is a problem creating/recording the new parameters.
-
buildComboBox
private javax.swing.JComboBox buildComboBox(ModelImage image)
Builds a list of images. Returns combobox. List must be all color or all black and white.- Parameters:
image- DOCUMENT ME!- Returns:
- Newly created combo box.
-
init
private void init()
Initializes GUI components and displays dialog.
-
setVariables
private boolean setVariables()
Use the GUI results to set up the variables needed to run the algorithm.- Returns:
trueif parameters set successfully,falseotherwise.
-
-