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 AlgorithmSubsamplealgoSubDOCUMENT ME!private javax.swing.JRadioButtonby2ButtonDOCUMENT ME!private javax.swing.JRadioButtonby4ButtonDOCUMENT ME!private javax.swing.JRadioButtonby8ButtonDOCUMENT ME!private intdenomDOCUMENT ME!private intdimNumber of dimensions in an image e.g 2D, 3Dprivate booleandoPadThe boolean value to determine whether to pad the original image or not.private booleandoVOIDOCUMENT ME!private int[]extentsThe extents of original imageprivate ModelImageimageDOCUMENT ME!private javax.swing.JLabellabel2OriginalExtentXLabel for displaying the original extent Xprivate javax.swing.JLabellabel2OriginalExtentYLabel for displaying the original extent Yprivate javax.swing.JLabellabel2OriginalExtentZLabel for displaying the original extent Zprivate javax.swing.JLabellabelPaddedExtentXLabel for displaying the padded extent Xprivate javax.swing.JLabellabelPaddedExtentYLabel for displaying the padded extent Yprivate javax.swing.JLabellabelPaddedExtentZlabel for displaying the padded extent Zprivate int[]newExtentsDOCUMENT ME!private floatoXresDOCUMENT ME!private floatoYresDOCUMENT ME!private floatoZresDOCUMENT ME!private int[]padExtentsThe extents of padded imageprivate booleanprocessIndepDOCUMENT ME!private javax.swing.JCheckBoxprocessIndepBoxDOCUMENT ME!private ModelImageresultImageDOCUMENT ME!private static longserialVersionUIDUse serialVersionUID for interoperability.private float[]sigmasDOCUMENT ME!private floatSxDOCUMENT ME!private floatSyDOCUMENT ME!private floatSzDOCUMENT ME!private ViewUserInterfaceuserInterfaceDOCUMENT ME!private javax.swing.JCheckBoxvoiCheckBoxDOCUMENT ME!private TransMatrixxfrmDOCUMENT 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 voidactionPerformed(java.awt.event.ActionEvent e)Method for catching actions (button/script).voidalgorithmPerformed(AlgorithmBase algo)Method for catching end of algorithm events.protected voidcallAlgorithm()Method for calling the Subsample algorithm.ParameterTablecreateInputParameters()Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used insetGUIFromParams()).ParameterTablecreateOutputParameters()Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).protected voiddoPostAlgorithmActions()Store the result image in the script runner's image table now that the action execution is finished.ActionMetadatagetActionMetadata()Return meta-information about this discoverable action for categorization and labeling purposes.java.lang.StringgetOutputImageName(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).ModelImagegetResultImage()Accessor that returns the image.private voidinit()Sets up the dialog window and makes it visible.booleanisActionComplete()Returns whether the action has successfully completed its execution.private booleanisDivisible(int dimValue, int scale)Check if the extent value is divisible by 2, 4 or 8.voiditemStateChanged(java.awt.event.ItemEvent event)Respond to checkbox item events.private intmakeExtentDivisibleByDenom(int dimValue, int scale)Calculate the nearest extent value divisible by 2, 4 or 8voidsetDoVOI(boolean doVOI)Accessor that tells whether VOIs are transformed.protected voidsetGUIFromParams()Set the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetProcessIndep(boolean processIndep)Accessor that sets whether slices are processed independently.booleansetSubsamplingRate(int subSample)Accessor that programatically sets the subsampling amountprivate booleansetVariables()Sets the variables based on the user's dialog input.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
-
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:
actionPerformedin interfacejava.awt.event.ActionListener- Overrides:
actionPerformedin classJDialogBase- Parameters:
e- the action event
-
algorithmPerformed
public void algorithmPerformed(AlgorithmBase algo)
Method for catching end of algorithm events.- Specified by:
algorithmPerformedin 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:
itemStateChangedin interfacejava.awt.event.ItemListener- Overrides:
itemStateChangedin 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:
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.
-
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:
getActionMetadatain 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:
createInputParametersin 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:
createOutputParametersin 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:
getOutputImageNamein 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:
isActionCompletein interfaceActionDiscovery- Returns:
- True, if the action is complete. False, if the action failed or is still running.
-
-