Package gov.nih.mipav.view.dialogs
Class JDialogSubsample
- 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.JDialogSubsample
-
- All Implemented Interfaces:
AlgorithmInterface
,ScriptableActionInterface
,DialogDefaultsInterface
,ActionDiscovery
,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 JDialogSubsample extends JDialogScriptableBase implements AlgorithmInterface, ActionDiscovery, java.awt.event.ItemListener
Dialog for subsampling a 2D or 3D or 4D image by 2, 4, or 8. With 4D images only the first 3 dimensions are subsampled.- Version:
- 1.0
- Author:
- Sir Benjamin Link
- 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 AlgorithmSubsample
algoSub
DOCUMENT ME!private javax.swing.JRadioButton
by2Button
DOCUMENT ME!private javax.swing.JRadioButton
by4Button
DOCUMENT ME!private javax.swing.JRadioButton
by8Button
DOCUMENT ME!private int
denom
DOCUMENT ME!private int
dim
Number of dimensions in an image e.g 2D, 3Dprivate boolean
doPad
The boolean value to determine whether to pad the original image or not.private boolean
doVOI
DOCUMENT ME!private int[]
extents
The extents of original imageprivate ModelImage
image
DOCUMENT ME!private javax.swing.JLabel
label2OriginalExtentX
Label for displaying the original extent Xprivate javax.swing.JLabel
label2OriginalExtentY
Label for displaying the original extent Yprivate javax.swing.JLabel
label2OriginalExtentZ
Label for displaying the original extent Zprivate javax.swing.JLabel
labelPaddedExtentX
Label for displaying the padded extent Xprivate javax.swing.JLabel
labelPaddedExtentY
Label for displaying the padded extent Yprivate javax.swing.JLabel
labelPaddedExtentZ
label for displaying the padded extent Zprivate int[]
newExtents
DOCUMENT ME!private float
oXres
DOCUMENT ME!private float
oYres
DOCUMENT ME!private float
oZres
DOCUMENT ME!private int[]
padExtents
The extents of padded imageprivate boolean
processIndep
DOCUMENT ME!private javax.swing.JCheckBox
processIndepBox
DOCUMENT ME!private ModelImage
resultImage
DOCUMENT ME!private static long
serialVersionUID
Use serialVersionUID for interoperability.private float[]
sigmas
DOCUMENT ME!private float
Sx
DOCUMENT ME!private float
Sy
DOCUMENT ME!private float
Sz
DOCUMENT ME!private ViewUserInterface
userInterface
DOCUMENT ME!private javax.swing.JCheckBox
voiCheckBox
DOCUMENT ME!private TransMatrix
xfrm
DOCUMENT ME!-
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 JDialogSubsample()
Empty constructor needed for dynamic instantiation (used during scripting).JDialogSubsample(java.awt.Frame theParentFrame, ModelImage sourceImage)
Constructor for creating the dialog via a parent frame.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
Method for catching actions (button/script).void
algorithmPerformed(AlgorithmBase algo)
Method for catching end of algorithm events.protected void
callAlgorithm()
Method for calling the Subsample algorithm.ParameterTable
createInputParameters()
Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used insetGUIFromParams()
).ParameterTable
createOutputParameters()
Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).protected void
doPostAlgorithmActions()
Store the result image in the script runner's image table now that the action execution is finished.ActionMetadata
getActionMetadata()
Return meta-information about this discoverable action for categorization and labeling purposes.java.lang.String
getOutputImageName(java.lang.String imageParamName)
Returns the name of an image output by this algorithm, the image returned depends on the parameter label given (which can be used to retrieve the image object from the image registry).ModelImage
getResultImage()
Accessor that returns the image.private void
init()
Sets up the dialog window and makes it visible.boolean
isActionComplete()
Returns whether the action has successfully completed its execution.private boolean
isDivisible(int dimValue, int scale)
Check if the extent value is divisible by 2, 4 or 8.void
itemStateChanged(java.awt.event.ItemEvent event)
Respond to checkbox item events.private int
makeExtentDivisibleByDenom(int dimValue, int scale)
Calculate the nearest extent value divisible by 2, 4 or 8void
setDoVOI(boolean doVOI)
Accessor that tells whether VOIs are transformed.protected void
setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.void
setProcessIndep(boolean processIndep)
Accessor that sets whether slices are processed independently.boolean
setSubsamplingRate(int subSample)
Accessor that programatically sets the subsampling amountprivate boolean
setVariables()
Sets the variables based on the user's dialog input.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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gov.nih.mipav.view.dialogs.ActionDiscovery
scriptRun
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
algoSub
private AlgorithmSubsample algoSub
DOCUMENT ME!
-
by2Button
private javax.swing.JRadioButton by2Button
DOCUMENT ME!
-
by8Button
private javax.swing.JRadioButton by8Button
DOCUMENT ME!
-
by4Button
private javax.swing.JRadioButton by4Button
DOCUMENT ME!
-
label2OriginalExtentX
private javax.swing.JLabel label2OriginalExtentX
Label for displaying the original extent X
-
label2OriginalExtentY
private javax.swing.JLabel label2OriginalExtentY
Label for displaying the original extent Y
-
label2OriginalExtentZ
private javax.swing.JLabel label2OriginalExtentZ
Label for displaying the original extent Z
-
labelPaddedExtentX
private javax.swing.JLabel labelPaddedExtentX
Label for displaying the padded extent X
-
labelPaddedExtentY
private javax.swing.JLabel labelPaddedExtentY
Label for displaying the padded extent Y
-
labelPaddedExtentZ
private javax.swing.JLabel labelPaddedExtentZ
label for displaying the padded extent Z
-
denom
private int denom
DOCUMENT ME!
-
doVOI
private boolean doVOI
DOCUMENT ME!
-
image
private ModelImage image
DOCUMENT ME!
-
dim
private int dim
Number of dimensions in an image e.g 2D, 3D
-
doPad
private boolean doPad
The boolean value to determine whether to pad the original image or not.
-
extents
private int[] extents
The extents of original image
-
padExtents
private int[] padExtents
The extents of padded image
-
newExtents
private int[] newExtents
DOCUMENT ME!
-
oXres
private float oXres
DOCUMENT ME!
-
oYres
private float oYres
DOCUMENT ME!
-
oZres
private float oZres
DOCUMENT ME!
-
processIndep
private boolean processIndep
DOCUMENT ME!
-
processIndepBox
private javax.swing.JCheckBox processIndepBox
DOCUMENT ME!
-
resultImage
private ModelImage resultImage
DOCUMENT ME!
-
sigmas
private float[] sigmas
DOCUMENT ME!
-
Sx
private float Sx
DOCUMENT ME!
-
Sy
private float Sy
DOCUMENT ME!
-
Sz
private float Sz
DOCUMENT ME!
-
userInterface
private ViewUserInterface userInterface
DOCUMENT ME!
-
voiCheckBox
private javax.swing.JCheckBox voiCheckBox
DOCUMENT ME!
-
xfrm
private TransMatrix xfrm
DOCUMENT ME!
-
-
Constructor Detail
-
JDialogSubsample
public JDialogSubsample()
Empty constructor needed for dynamic instantiation (used during scripting).
-
JDialogSubsample
public JDialogSubsample(java.awt.Frame theParentFrame, ModelImage sourceImage)
Constructor for creating the dialog via a parent frame.- Parameters:
theParentFrame
- the parent framesourceImage
- the source image
-
-
Method Detail
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
Method for catching actions (button/script).- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
- Overrides:
actionPerformed
in classJDialogBase
- Parameters:
e
- the action event
-
algorithmPerformed
public void algorithmPerformed(AlgorithmBase algo)
Method for catching end of algorithm events.- Specified by:
algorithmPerformed
in interfaceAlgorithmInterface
- Parameters:
algo
- the algorithm that is caught
-
getResultImage
public ModelImage getResultImage()
Accessor that returns the image.- Returns:
- The result image.
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent event)
Respond to checkbox item events.- Specified by:
itemStateChanged
in interfacejava.awt.event.ItemListener
- Overrides:
itemStateChanged
in classJDialogBase
- Parameters:
event
- item event
-
setDoVOI
public void setDoVOI(boolean doVOI)
Accessor that tells whether VOIs are transformed.- Parameters:
doVOI
- boolean
-
setProcessIndep
public void setProcessIndep(boolean processIndep)
Accessor that sets whether slices are processed independently.- Parameters:
processIndep
- DOCUMENT ME!
-
setSubsamplingRate
public boolean setSubsamplingRate(int subSample)
Accessor that programatically sets the subsampling amount- Parameters:
subSample
- the subsampling rate, allowable values are 2, 4, and 8- Returns:
- false when rate is unsupported
-
callAlgorithm
protected void callAlgorithm()
Method for calling the Subsample algorithm.- 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.
-
init
private void init()
Sets up the dialog window and makes it visible.
-
setVariables
private boolean setVariables()
Sets the variables based on the user's dialog input.- Returns:
- was everything ok (unnecessary because there is no possible illegal user input)
-
isDivisible
private boolean isDivisible(int dimValue, int scale)
Check if the extent value is divisible by 2, 4 or 8.- Parameters:
dimValue
- dimension value- Returns:
- isPower2 true if dimValue is divisible 2, 4 or 8 false otherwise.
-
makeExtentDivisibleByDenom
private int makeExtentDivisibleByDenom(int dimValue, int scale)
Calculate the nearest extent value divisible by 2, 4 or 8- Parameters:
dimValue
- extent value- Returns:
- newDimValue extent value divisible by 2, 4 or 8.
-
getActionMetadata
public ActionMetadata getActionMetadata()
Return meta-information about this discoverable action for categorization and labeling purposes.- Specified by:
getActionMetadata
in interfaceActionDiscovery
- Returns:
- Metadata for this action.
-
createInputParameters
public ParameterTable createInputParameters()
Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used insetGUIFromParams()
).- Specified by:
createInputParameters
in interfaceActionDiscovery
- Returns:
- A parameter table listing the inputs of this algorithm.
-
createOutputParameters
public ParameterTable createOutputParameters()
Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).- Specified by:
createOutputParameters
in interfaceActionDiscovery
- Returns:
- A parameter table listing the outputs of this algorithm.
-
getOutputImageName
public java.lang.String getOutputImageName(java.lang.String imageParamName)
Returns the name of an image output by this algorithm, the image returned depends on the parameter label given (which can be used to retrieve the image object from the image registry).- Specified by:
getOutputImageName
in interfaceActionDiscovery
- Parameters:
imageParamName
- The output image parameter label for which to get the image name.- Returns:
- The image name of the requested output image parameter label.
-
isActionComplete
public boolean isActionComplete()
Returns whether the action has successfully completed its execution.- Specified by:
isActionComplete
in interfaceActionDiscovery
- Returns:
- True, if the action is complete. False, if the action failed or is still running.
-
-