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.JDialogBaseJDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKAction
 - 
Nested classes/interfaces inherited from class javax.swing.JDialogjavax.swing.JDialog.AccessibleJDialog
 - 
Nested classes/interfaces inherited from class java.awt.Dialogjava.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 - 
Nested classes/interfaces inherited from class java.awt.Windowjava.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
 
- 
 - 
Field SummaryFields 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.JDialogScriptableBasedisplayInNewFrame, isComplete, scriptParameters
 - 
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogBaseapplyButton, bar, cancelButton, cancelFlag, closeButton, HELP, helpButton, mainDialogPanel, NEW, OKButton, parentFrame, progressBar, REPLACE, runInSeparateThread, runningScriptFlag, runQuiet, serif12, serif12B, voiManager
 - 
Fields inherited from class javax.swing.JDialogaccessibleContext, rootPane, rootPaneCheckingEnabled
 - 
Fields inherited from class java.awt.ComponentBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
- 
 - 
Constructor SummaryConstructors 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 SummaryAll 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.JDialogScriptableBasegetDialogActionString, insertScriptLine, isComplete, scriptRun, setComplete
 - 
Methods inherited from class gov.nih.mipav.view.dialogs.JDialogBasebuildApplyButton, 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.JDialogaddImpl, 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.DialogaddNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
 - 
Methods inherited from class java.awt.WindowaddPropertyChangeListener, 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.Containeradd, 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.Componentaction, 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.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface gov.nih.mipav.view.dialogs.ActionDiscoveryscriptRun
 
- 
 
- 
- 
- 
Field Detail- 
serialVersionUIDprivate static final long serialVersionUID Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
 
 - 
algoSubprivate AlgorithmSubsample algoSub DOCUMENT ME!
 - 
by2Buttonprivate javax.swing.JRadioButton by2Button DOCUMENT ME!
 - 
by8Buttonprivate javax.swing.JRadioButton by8Button DOCUMENT ME!
 - 
by4Buttonprivate javax.swing.JRadioButton by4Button DOCUMENT ME!
 - 
label2OriginalExtentXprivate javax.swing.JLabel label2OriginalExtentX Label for displaying the original extent X
 - 
label2OriginalExtentYprivate javax.swing.JLabel label2OriginalExtentY Label for displaying the original extent Y
 - 
label2OriginalExtentZprivate javax.swing.JLabel label2OriginalExtentZ Label for displaying the original extent Z
 - 
labelPaddedExtentXprivate javax.swing.JLabel labelPaddedExtentX Label for displaying the padded extent X
 - 
labelPaddedExtentYprivate javax.swing.JLabel labelPaddedExtentY Label for displaying the padded extent Y
 - 
labelPaddedExtentZprivate javax.swing.JLabel labelPaddedExtentZ label for displaying the padded extent Z
 - 
denomprivate int denom DOCUMENT ME!
 - 
doVOIprivate boolean doVOI DOCUMENT ME!
 - 
imageprivate ModelImage image DOCUMENT ME!
 - 
dimprivate int dim Number of dimensions in an image e.g 2D, 3D
 - 
doPadprivate boolean doPad The boolean value to determine whether to pad the original image or not.
 - 
extentsprivate int[] extents The extents of original image
 - 
padExtentsprivate int[] padExtents The extents of padded image
 - 
newExtentsprivate int[] newExtents DOCUMENT ME!
 - 
oXresprivate float oXres DOCUMENT ME!
 - 
oYresprivate float oYres DOCUMENT ME!
 - 
oZresprivate float oZres DOCUMENT ME!
 - 
processIndepprivate boolean processIndep DOCUMENT ME!
 - 
processIndepBoxprivate javax.swing.JCheckBox processIndepBox DOCUMENT ME!
 - 
resultImageprivate ModelImage resultImage DOCUMENT ME!
 - 
sigmasprivate float[] sigmas DOCUMENT ME!
 - 
Sxprivate float Sx DOCUMENT ME!
 - 
Syprivate float Sy DOCUMENT ME!
 - 
Szprivate float Sz DOCUMENT ME!
 - 
userInterfaceprivate ViewUserInterface userInterface DOCUMENT ME!
 - 
voiCheckBoxprivate javax.swing.JCheckBox voiCheckBox DOCUMENT ME!
 - 
xfrmprivate TransMatrix xfrm DOCUMENT ME!
 
- 
 - 
Constructor Detail- 
JDialogSubsamplepublic JDialogSubsample() Empty constructor needed for dynamic instantiation (used during scripting).
 - 
JDialogSubsamplepublic JDialogSubsample(java.awt.Frame theParentFrame, ModelImage sourceImage)Constructor for creating the dialog via a parent frame.- Parameters:
- theParentFrame- the parent frame
- sourceImage- the source image
 
 
- 
 - 
Method Detail- 
actionPerformedpublic void actionPerformed(java.awt.event.ActionEvent e) Method for catching actions (button/script).- Specified by:
- actionPerformedin interface- java.awt.event.ActionListener
- Overrides:
- actionPerformedin class- JDialogBase
- Parameters:
- e- the action event
 
 - 
algorithmPerformedpublic void algorithmPerformed(AlgorithmBase algo) Method for catching end of algorithm events.- Specified by:
- algorithmPerformedin interface- AlgorithmInterface
- Parameters:
- algo- the algorithm that is caught
 
 - 
getResultImagepublic ModelImage getResultImage() Accessor that returns the image.- Returns:
- The result image.
 
 - 
itemStateChangedpublic void itemStateChanged(java.awt.event.ItemEvent event) Respond to checkbox item events.- Specified by:
- itemStateChangedin interface- java.awt.event.ItemListener
- Overrides:
- itemStateChangedin class- JDialogBase
- Parameters:
- event- item event
 
 - 
setDoVOIpublic void setDoVOI(boolean doVOI) Accessor that tells whether VOIs are transformed.- Parameters:
- doVOI- boolean
 
 - 
setProcessIndeppublic void setProcessIndep(boolean processIndep) Accessor that sets whether slices are processed independently.- Parameters:
- processIndep- DOCUMENT ME!
 
 - 
setSubsamplingRatepublic 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
 
 - 
callAlgorithmprotected void callAlgorithm() Method for calling the Subsample algorithm.- Specified by:
- callAlgorithmin class- JDialogScriptableBase
 
 - 
doPostAlgorithmActionsprotected void doPostAlgorithmActions() Store the result image in the script runner's image table now that the action execution is finished.- Overrides:
- doPostAlgorithmActionsin class- JDialogScriptableBase
 
 - 
setGUIFromParamsprotected void setGUIFromParams() Set the dialog GUI using the script parameters while running this algorithm as part of a script.- Specified by:
- setGUIFromParamsin class- JDialogScriptableBase
 
 - 
storeParamsFromGUIprotected void storeParamsFromGUI() throws ParserExceptionRecord the parameters just used to run this algorithm in a script.- Specified by:
- storeParamsFromGUIin class- JDialogScriptableBase
- Throws:
- ParserException- If there is a problem creating/recording the new parameters.
 
 - 
initprivate void init() Sets up the dialog window and makes it visible.
 - 
setVariablesprivate 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)
 
 - 
isDivisibleprivate 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.
 
 - 
makeExtentDivisibleByDenomprivate 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.
 
 - 
getActionMetadatapublic ActionMetadata getActionMetadata() Return meta-information about this discoverable action for categorization and labeling purposes.- Specified by:
- getActionMetadatain interface- ActionDiscovery
- Returns:
- Metadata for this action.
 
 - 
createInputParameterspublic 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 interface- ActionDiscovery
- Returns:
- A parameter table listing the inputs of this algorithm.
 
 - 
createOutputParameterspublic 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 interface- ActionDiscovery
- Returns:
- A parameter table listing the outputs of this algorithm.
 
 - 
getOutputImageNamepublic 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 interface- ActionDiscovery
- 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.
 
 - 
isActionCompletepublic boolean isActionComplete() Returns whether the action has successfully completed its execution.- Specified by:
- isActionCompletein interface- ActionDiscovery
- Returns:
- True, if the action is complete. False, if the action failed or is still running.
 
 
- 
 
-