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 int
bin1
Number of bins for first image.private boolean
bin1Default
Default number of bins for first image.private javax.swing.JLabel
bin1Label
Label description for bin1.private javax.swing.JTextField
bin1Text
Textfield for bin1.private int
bin2
Number of bins for second image.private boolean
bin2Default
Default number of bins for first image.private javax.swing.JLabel
bin2Label
Label description for bin1.private javax.swing.JTextField
bin2Text
Textfield for bin2.private javax.swing.JCheckBox
blueCheckBox
Checkbox to select blue image.private int
colorsPresent
Number of colors present.private boolean
doLinearRescale
If true, the range of second image is same as the range of the first image.private boolean
doLogResult
If true, calculates the log of the result image for better visualization.private ModelImage
firstImage
First image (Source image).private javax.swing.JCheckBox
greenCheckBox
Checkbox to select green image.private AlgorithmHistogram2Dim
histogram2DimAlgo
Instance of AlgorithmHistogram2Dim.private javax.swing.JComboBox
imageComboBox
Combobox to select the second image.private javax.swing.JLabel
labelImage
Image label.private javax.swing.JCheckBox
linearCheckbox
Checkbox to select linear rescaling of second image.private double
maxB
Max intensity values in Red, Green and Blue images respectively.private double
maxG
Max intensity values in Red, Green and Blue images respectively.private double
maxR
Max intensity values in Red, Green and Blue images respectively.private double
minB
Min. intensity values in Red, Green and Blue images respectivelyprivate double
minG
Min. intensity values in Red, Green and Blue images respectivelyprivate double
minR
Min. intensity values in Red, Green and Blue images respectivelyprivate double
possibleInt2Values
Possible intensity values for second image.private double
possibleIntValues
Possible intensity values for first image.private javax.swing.JCheckBox
redCheckBox
Checkbox to select Red image.private javax.swing.JCheckBox
resultCheckbox
Checkbox to display the log of result image.private ModelImage
resultImage
Image where the result is stored.private ModelImage
secondImage
Second image (Base image).private static long
serialVersionUID
Use serialVersionUID for interoperability.private java.lang.String[]
titles
String titles for the new windows.private boolean
useBlue
If true, blue image is selected as of the two images for calculating histogram.private boolean
useGreen
If true, green image is selected as of the two images for calculating histogram.private boolean
useRed
If true, red image is selected as of the two images for calculating histogram.private ViewUserInterface
userInterface
Keeps 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 void
actionPerformed(java.awt.event.ActionEvent event)
Closes dialog box when the OK button is pressed and calls the algorithm.void
algorithmPerformed(AlgorithmBase algorithm)
This method is required if the AlgorithmPerformed interface is implemented.private javax.swing.JComboBox
buildComboBox(ModelImage image)
Builds a list of images.protected void
callAlgorithm()
DOCUMENT ME!protected void
doPostAlgorithmActions()
Store the result image in the script runner's image table now that the action execution is finished.ModelImage
getResultImage()
Accessor that returns the image.private void
init()
Initializes GUI components and displays dialog.void
itemStateChanged(java.awt.event.ItemEvent event)
itemStateChanged.void
setBin1(int bin1)
Accessor that sets bin1.void
setBin1Default(boolean bin1Default)
DOCUMENT ME!void
setBin2(int bin2)
Accessor that sets bin2.void
setBin2Default(boolean bin2Default)
DOCUMENT ME!void
setDoLinearRescale(boolean doLinearRescale)
Accessor that sets whether or not linear rescaling occurs.void
setDoLogResult(boolean doLogResult)
Accessor that sets whether or not log of result image is displayed.protected void
setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.void
setSecondImage(ModelImage secondImage)
Accessor to set the secondImage.void
setUseBlue(boolean useBlue)
Accessor that setes if the blue channel is used.void
setUseGreen(boolean useGreen)
Accessor that sets if the green channel is used.void
setUseRed(boolean useRed)
Accessor that sets if the red channel is used.private boolean
setVariables()
Use the GUI results to set up the variables needed to run the algorithm.protected void
storeParamsFromGUI()
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:
actionPerformed
in interfacejava.awt.event.ActionListener
- Overrides:
actionPerformed
in 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:
algorithmPerformed
in 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:
itemStateChanged
in interfacejava.awt.event.ItemListener
- Overrides:
itemStateChanged
in 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:
callAlgorithm
in classJDialogScriptableBase
-
doPostAlgorithmActions
protected void doPostAlgorithmActions()
Store the result image in the script runner's image table now that the action execution is finished.- Overrides:
doPostAlgorithmActions
in classJDialogScriptableBase
-
setGUIFromParams
protected void setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.- Specified by:
setGUIFromParams
in classJDialogScriptableBase
-
storeParamsFromGUI
protected void storeParamsFromGUI() throws ParserException
Record the parameters just used to run this algorithm in a script.- Specified by:
storeParamsFromGUI
in 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:
true
if parameters set successfully,false
otherwise.
-
-