Package gov.nih.mipav.view.dialogs
Class JDialogIndependentComponents
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.JDialogIndependentComponents
- All Implemented Interfaces:
AlgorithmInterface,ScriptableActionInterface,DialogDefaultsInterface,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,ListSelectionListener,RootPaneContainer,WindowConstants
public class JDialogIndependentComponents
extends JDialogScriptableBase
implements AlgorithmInterface, ListSelectionListener
Dialog to get user input, then call the algorithm.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBase
JDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKActionNested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialogNested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityTypeNested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate AlgorithmIndependentComponentsDOCUMENT ME!private booleanDOCUMENT ME!private JButtonDOCUMENT ME!private JPanelColorChannelsDOCUMENT ME!private JRadioButtonprivate JRadioButtonDOCUMENT ME!private int[]DOCUMENT ME!private doubleDOCUMENT ME!private JRadioButtonprivate intDOCUMENT ME!private ButtonGroupDOCUMENT ME!private JPanelDOCUMENT ME!private intNumber of independent componentsprivate JListDOCUMENT ME!private JPanelDOCUMENT ME!private JLabelprivate JLabelDOCUMENT ME!private JLabelDOCUMENT ME!private JLabelDOCUMENT ME!private JRadioButtonDOCUMENT ME!private intDOCUMENT ME!private DefaultListModelDOCUMENT ME!private intprivate ButtonGroupDOCUMENT ME!private JPanelDOCUMENT ME!private JPanelDOCUMENT ME!private JButtonDOCUMENT ME!private intDOCUMENT ME!private ModelImage[]DOCUMENT ME!private ModelImage[]DOCUMENT ME!private intDOCUMENT ME!private JRadioButtonDOCUMENT ME!private JRadioButtonprivate ModelImage[]DOCUMENT ME!private JTextFieldprivate JTextFieldDOCUMENT ME!private JTextFieldDOCUMENT ME!private JTextFieldDOCUMENT ME!private ViewUserInterfaceDOCUMENT ME!Fields inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
displayInNewFrame, isComplete, scriptParametersFields 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, voiManagerFields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabledFields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPEFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
ConstructorsConstructorDescriptionEmpty constructor needed for dynamic instantiation (used during scripting).JDialogIndependentComponents(Frame theParentFrame, ModelImage im) Creates a new JDialogIndependentComponents object. -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerformed(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.protected voidOnce all the necessary variables are set, call the Fuzzy C Means algorithm based on what type of image this is and whether or not there is a separate destination image.private booleancheckImage(ModelImage testImage) Checks the color and dimensionality of the new image vs. the original source image.protected voidStore the result image in the script runner's image table now that the action execution is finished.private FileFiltergetFileFilter(JFileChooser chooser, int index) A private helper function to get the current used FileFilter from JFileChooser.Accessor that returns the image.private voidinit()Sets up the GUI (panels, buttons, etc) and displays it on the screen.private ModelImageopen()Open an image based on the suffix of the file.voidseta1(double a1) Accessor that sets parameter a1 for tanh functionvoidsetEndTol(double scale) Accessor that sets the end tol.protected voidSet the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetICAlgorithm(int icAlgorithm) Accessor that sets the icAlgorithm type (SYMMETRIC_ORTHOGONALIZATION, DEFLATIONARY_ORTHOGONALIZATION, or MAXIMUM_LIKELIHOOD_ESTIMATION).voidsetICNumber(int icNumber) Accessor that sets the number of independent components.voidsetMaxIter(int max) Accessor that sets the max iterations.voidsetNonlinearFunction(int nonlinearFunction) Accessor that sets the nonlinear function type(tanh(a1*y), y*exp(-y*y/2), or y*y*y)voidsetSourceImage(ModelImage[] images) Accessor that sets the array of source images.private booleanUse the GUI results to set up the variables needed to run the algorithm.protected voidRecord the parameters just used to run this algorithm in a script.voidSets the remove index based on the selected index in the list.Methods inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
getDialogActionString, insertScriptLine, isComplete, scriptRun, setCompleteMethods 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, itemStateChanged, 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, windowOpenedMethods 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, updateMethods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBackMethods 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, toFrontMethods 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, validateTreeMethods 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 Details
-
aicAlgo
DOCUMENT ME! -
changeRemoveIndex
private boolean changeRemoveIndexDOCUMENT ME! -
chooserButton
DOCUMENT ME! -
colorPanel
DOCUMENT ME! -
destExtents
private int[] destExtentsDOCUMENT ME! -
endTol
private double endTolDOCUMENT ME! -
deflationaryOrthogonalization
DOCUMENT ME! -
maximumLikelihoodEstimation
DOCUMENT ME! -
symmetricOrthogonalization
DOCUMENT ME! -
imageList
DOCUMENT ME! -
imagePanel
DOCUMENT ME! -
nonlinearFunctionGroup
DOCUMENT ME! -
nonlinearFunctionPanel
DOCUMENT ME! -
nonlinearFunction
private int nonlinearFunction -
tanhButton
-
labela1
-
texta1
-
a1
private double a1 -
expButton
-
cubicButton
-
labelEndTol
DOCUMENT ME! -
labelMaxIter
DOCUMENT ME! -
labelICNumber
DOCUMENT ME! -
maxIter
private int maxIterDOCUMENT ME! -
model
DOCUMENT ME! -
icNumber
private int icNumberNumber of independent components -
paramPanel
DOCUMENT ME! -
removeButton
DOCUMENT ME! -
removeIndex
private int removeIndexDOCUMENT ME! -
resultImage
DOCUMENT ME! -
icAlgorithm
private int icAlgorithmDOCUMENT ME! -
icAlgorithmGroup
DOCUMENT ME! -
icAlgorithmPanel
DOCUMENT ME! -
srcImage
DOCUMENT ME! -
srcNumber
private int srcNumberDOCUMENT ME! -
tempImage
DOCUMENT ME! -
textEndTol
DOCUMENT ME! -
textMaxIter
DOCUMENT ME! -
textICNumber
DOCUMENT ME! -
userInterface
DOCUMENT ME!
-
-
Constructor Details
-
JDialogIndependentComponents
public JDialogIndependentComponents()Empty constructor needed for dynamic instantiation (used during scripting). -
JDialogIndependentComponents
Creates a new JDialogIndependentComponents object.- Parameters:
theParentFrame- parent frameim- source image
-
-
Method Details
-
actionPerformed
Closes dialog box when the OK button is pressed and calls the algorithm.- Specified by:
actionPerformedin interfaceActionListener- Overrides:
actionPerformedin classJDialogBase- Parameters:
event- Event that triggers function.
-
algorithmPerformed
This method is required if the AlgorithmPerformed interface is implemented. It is called by the algorithms 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
Accessor that returns the image.- Returns:
- The result image.
-
setEndTol
public void setEndTol(double scale) Accessor that sets the end tol.- Parameters:
scale- Value to set end tol to.
-
setMaxIter
public void setMaxIter(int max) Accessor that sets the max iterations.- Parameters:
max- The max iterations
-
setICNumber
public void setICNumber(int icNumber) Accessor that sets the number of independent components.- Parameters:
classes- The number of independent components.
-
setICAlgorithm
public void setICAlgorithm(int icAlgorithm) Accessor that sets the icAlgorithm type (SYMMETRIC_ORTHOGONALIZATION, DEFLATIONARY_ORTHOGONALIZATION, or MAXIMUM_LIKELIHOOD_ESTIMATION).- Parameters:
icAlgorithm- The independent component algorithm.
-
setNonlinearFunction
public void setNonlinearFunction(int nonlinearFunction) Accessor that sets the nonlinear function type(tanh(a1*y), y*exp(-y*y/2), or y*y*y)- Parameters:
nonlinearFunction-
-
seta1
public void seta1(double a1) Accessor that sets parameter a1 for tanh function- Parameters:
a1-
-
setSourceImage
Accessor that sets the array of source images.- Parameters:
images- new source images.
-
valueChanged
Sets the remove index based on the selected index in the list.- Specified by:
valueChangedin interfaceListSelectionListener- Parameters:
evt- Event that caused this method to fire.
-
callAlgorithm
protected void callAlgorithm()Once all the necessary variables are set, call the Fuzzy C Means algorithm based on what type of image this is and whether or not there is a separate destination image.- 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
Record 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.
-
checkImage
Checks the color and dimensionality of the new image vs. the original source image. All new images should have the same color modality as the source and be of the same dimensions.- Parameters:
testImage- DOCUMENT ME!- Returns:
- Flag indicating if the image checks out.
-
getFileFilter
A private helper function to get the current used FileFilter from JFileChooser.- Parameters:
chooser- DOCUMENT ME!index- the index of the choosable file filters.- Returns:
- the current used file filter.
-
init
private void init()Sets up the GUI (panels, buttons, etc) and displays it on the screen. -
open
Open an image based on the suffix of the file.- Returns:
- The image.
-
setVariables
private boolean setVariables()Use the GUI results to set up the variables needed to run the algorithm.- Returns:
trueif parameters set successfully,falseotherwise.
-