Package gov.nih.mipav.view.dialogs
Class JDialogFFT
- 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.JDialogFFT
-
- 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 JDialogFFT extends JDialogScriptableBase implements AlgorithmInterface, java.awt.event.ItemListener, ActionDiscovery, ScriptableActionInterface
Dialog to get user input, then call the algorithm. The user has the option to generate a new image or replace the source image. It should be noted that the algorithms are executed in their own threads.- See Also:
AlgorithmFFT
, 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 javax.swing.JRadioButton
bandPass
DOCUMENT ME!static int
BANDPASS
DOCUMENT ME!private javax.swing.JRadioButton
bandStop
DOCUMENT ME!static int
BANDSTOP
DOCUMENT ME!static int
BUTTERWORTH
DOCUMENT ME!private javax.swing.JRadioButton
butterworthFilter
DOCUMENT ME!private javax.swing.JPanel
buttonPanel
DOCUMENT ME!static int
CHEBYSHEV_TYPE_I
static int
CHEBYSHEV_TYPE_II
private javax.swing.JRadioButton
chebyshevIFilter
private javax.swing.JRadioButton
chebyshevIIFilter
private boolean
complexInverse
Whether a complex inverse FFT should be computedprivate javax.swing.JCheckBox
complexInverseCheckbox
Whether the inverse FFT should return a complex image (appropriate when only when source image is complex)private javax.swing.ButtonGroup
constructionGroup
DOCUMENT ME!private int
constructionMethod
DOCUMENT ME!private javax.swing.JPanel
constructionPanel
DOCUMENT ME!private javax.swing.ButtonGroup
destinationGroup
DOCUMENT ME!private javax.swing.JPanel
destinationPanel
DOCUMENT ME!private javax.swing.ButtonGroup
directionGroup
DOCUMENT ME!private javax.swing.JPanel
directionPanel
DOCUMENT ME!private int
displayLoc
DOCUMENT ME!static int
ELLIPTIC
private javax.swing.JRadioButton
ellipticFilter
private double
epsilon
private AlgorithmFFT
FFTAlgo
Float precision default, openCL enabled FFT algorithmprivate AlgorithmFFT2
FFTAlgo2
Double precision, openCL enabled FFT algroithmstatic int
FILTER
DOCUMENT ME!private int
filterOrder
DOCUMENT ME!private javax.swing.JPanel
filterPanel
DOCUMENT ME!private int
filterType
DOCUMENT ME!private javax.swing.ButtonGroup
filterTypeGroup
DOCUMENT ME!private java.text.DecimalFormat
fltFmt
static int
FORWARD
FFT will run in forward direction, producing frequency domain imageprivate javax.swing.JRadioButton
forwardFFT
User selects to indicate forward FFT processing should occur, resulting in frequency imageprivate double
freq1
DOCUMENT ME!private double
freq2
DOCUMENT ME!private javax.swing.JRadioButton
frequencyFilter
DOCUMENT ME!private AlgorithmFrequencyFilter
FrequencyFilterAlgo
static int
GABOR
static int
GAUSSIAN
DOCUMENT ME!private javax.swing.JRadioButton
gaussianFilter
DOCUMENT ME!private javax.swing.JRadioButton
highPass
DOCUMENT ME!static int
HIGHPASS
A highpass filter will be applied to the source imageprivate ModelImage
image
DOCUMENT ME!private boolean
image25D
Whether algorithm should run seperately on each slice of a 3D imageprivate javax.swing.JCheckBox
image25DCheckbox
User can indicate whether the FFT of each slice of a 3D image is computed seperatelyprivate boolean
imageCrop
DOCUMENT ME!private javax.swing.JCheckBox
imageCropCheckbox
DOCUMENT ME!static int
INVERSE
FFT will run in inverse direction, producing spatial domain imageprivate javax.swing.JRadioButton
inverseFFT
DOCUMENT ME!private int
kernelDiameter
DOCUMENT ME!private javax.swing.JLabel
labelEpsilon
private javax.swing.JLabel
labelF1
DOCUMENT ME!private javax.swing.JLabel
labelF2
DOCUMENT ME!private javax.swing.JLabel
labelKernelDiameter
DOCUMENT ME!private javax.swing.JLabel
labelOrder
DOCUMENT ME!private javax.swing.JLabel
labelRs
private javax.swing.JCheckBox
logDisplayCheckbox
private JPanel optionsPanel;.private boolean
logMagDisplay
DOCUMENT ME!private javax.swing.JRadioButton
lowPass
DOCUMENT ME!static int
LOWPASS
A lowpass filter will be applied to the source imageprivate javax.swing.JPanel
mainPanel
DOCUMENT ME!private javax.swing.JRadioButton
newImage
DOCUMENT ME!private boolean
onlyFrequencyFilter
private javax.swing.JRadioButton
replaceImage
DOCUMENT ME!private ModelImage
resultImage
DOCUMENT ME!private double
rs
private static long
serialVersionUID
Use serialVersionUID for interoperability.private boolean
testDouble
True when double precision testing should be performed, default is float.private javax.swing.JTextField
textEpsilon
private javax.swing.JTextField
textF1
DOCUMENT ME!private javax.swing.JTextField
textF2
DOCUMENT ME!private javax.swing.JTextField
textKernelDiameter
DOCUMENT ME!private javax.swing.JTextField
textOrder
DOCUMENT ME!private javax.swing.JTextField
textRs
private java.lang.String[]
titles
DOCUMENT ME!private int
transformDir
DOCUMENT ME!private boolean
unequalDim
Whether FFT algorithm can return non-equal x,y dimensionsprivate javax.swing.JCheckBox
unequalDimCheckbox
Indicates whether user wants FFT to return non-equal x,y dimensionsprivate boolean
useOCL
Flag indicating whether to use OpenCL processing.private javax.swing.JCheckBox
useOCLCheckbox
Indicates whether user wants openCL for processing.static int
WINDOW
DOCUMENT ME!private javax.swing.JRadioButton
windowFilter
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 JDialogFFT()
Empty constructor needed for dynamic instantiation (used during scripting).JDialogFFT(java.awt.Frame theParentFrame, ModelImage im)
Creates new FFT 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.protected void
callAlgorithm()
Once all the necessary variables are set, call the FFT algorithm based on what type of image this is and whether or not there is a separate destination image.protected void
callAlgorithm2()
Once all the necessary variables are set, call the FFT algorithm based on what type of image this is and whether or not there is a separate destination image.protected void
callAlgorithmFrequencyFilter()
Once all the necessary variables are set, call the Frequency Filter algorithm based on what type of image this is and whether or not there is a separate destination image.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()
Initializes GUI dialog.boolean
isActionComplete()
Returns whether the action has successfully completed its execution.void
setComplexInverse(boolean complexInverse)
void
setDiameter(int diameter)
Accessor that sets the kernel diameter.void
setDisplayLocNew()
Accessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.void
setDisplayLocReplace()
Accessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.void
setEpsilon(double epsilon)
void
setfilterOrder(int order)
Accessor that sets the butterworth order.void
setFilterType(int type)
Accessor that sets the filter type (LOWPASS, HIGHPASS, BANDPASS, BANDSTOP).void
setFreq1(double scale)
Accessor that sets the frequency 1 variable.void
setFreq2(double scale)
Accessor that sets the frequency 2 variable.protected void
setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.void
setImage25D(boolean image25D)
Accessor that sets image25D for single slice processing.void
setImageCrop(boolean flag)
Accessor that sets the image crop flag.void
setLogMagDisplay(boolean logMagDisplay)
Accessor that turns log mag display on or off.void
setMethod(int method)
Accessor that sets the construction method (WINDOW, GAUSSIAN, BUTTERWORTH).void
setRs(double rs)
void
setTransformDir(int transformDir)
Accessor that sets the transform direction.void
setUnequalDim(boolean unequalDim)
Accessor that sets whether or not the picture dimension can be unequal.void
setUseOCL(boolean useOCL)
Accessor that sets whether to use OpenCL processing (may still not be set if it is not supported on the system).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, 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, 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
-
Methods inherited from interface gov.nih.mipav.model.scripting.ScriptableActionInterface
insertScriptLine, scriptRun
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
INVERSE
public static final int INVERSE
FFT will run in inverse direction, producing spatial domain image- See Also:
- Constant Field Values
-
FILTER
public static final int FILTER
DOCUMENT ME!- See Also:
- Constant Field Values
-
FORWARD
public static final int FORWARD
FFT will run in forward direction, producing frequency domain image- See Also:
- Constant Field Values
-
LOWPASS
public static final int LOWPASS
A lowpass filter will be applied to the source image- See Also:
- Constant Field Values
-
HIGHPASS
public static final int HIGHPASS
A highpass filter will be applied to the source image- See Also:
- Constant Field Values
-
BANDPASS
public static final int BANDPASS
DOCUMENT ME!- See Also:
- Constant Field Values
-
BANDSTOP
public static final int BANDSTOP
DOCUMENT ME!- See Also:
- Constant Field Values
-
WINDOW
public static final int WINDOW
DOCUMENT ME!- See Also:
- Constant Field Values
-
GAUSSIAN
public static final int GAUSSIAN
DOCUMENT ME!- See Also:
- Constant Field Values
-
BUTTERWORTH
public static final int BUTTERWORTH
DOCUMENT ME!- See Also:
- Constant Field Values
-
GABOR
public static final int GABOR
- See Also:
- Constant Field Values
-
CHEBYSHEV_TYPE_I
public static final int CHEBYSHEV_TYPE_I
- See Also:
- Constant Field Values
-
CHEBYSHEV_TYPE_II
public static final int CHEBYSHEV_TYPE_II
- See Also:
- Constant Field Values
-
ELLIPTIC
public static final int ELLIPTIC
- See Also:
- Constant Field Values
-
bandPass
private javax.swing.JRadioButton bandPass
DOCUMENT ME!
-
bandStop
private javax.swing.JRadioButton bandStop
DOCUMENT ME!
-
butterworthFilter
private javax.swing.JRadioButton butterworthFilter
DOCUMENT ME!
-
chebyshevIFilter
private javax.swing.JRadioButton chebyshevIFilter
-
chebyshevIIFilter
private javax.swing.JRadioButton chebyshevIIFilter
-
ellipticFilter
private javax.swing.JRadioButton ellipticFilter
-
filterOrder
private int filterOrder
DOCUMENT ME!
-
buttonPanel
private javax.swing.JPanel buttonPanel
DOCUMENT ME!
-
constructionGroup
private javax.swing.ButtonGroup constructionGroup
DOCUMENT ME!
-
constructionMethod
private int constructionMethod
DOCUMENT ME!
-
constructionPanel
private javax.swing.JPanel constructionPanel
DOCUMENT ME!
-
destinationGroup
private javax.swing.ButtonGroup destinationGroup
DOCUMENT ME!
-
destinationPanel
private javax.swing.JPanel destinationPanel
DOCUMENT ME!
-
directionGroup
private javax.swing.ButtonGroup directionGroup
DOCUMENT ME!
-
directionPanel
private javax.swing.JPanel directionPanel
DOCUMENT ME!
-
displayLoc
private int displayLoc
DOCUMENT ME!
-
FFTAlgo
private AlgorithmFFT FFTAlgo
Float precision default, openCL enabled FFT algorithm
-
FFTAlgo2
private AlgorithmFFT2 FFTAlgo2
Double precision, openCL enabled FFT algroithm
-
FrequencyFilterAlgo
private AlgorithmFrequencyFilter FrequencyFilterAlgo
-
filterPanel
private javax.swing.JPanel filterPanel
DOCUMENT ME!
-
filterType
private int filterType
DOCUMENT ME!
-
filterTypeGroup
private javax.swing.ButtonGroup filterTypeGroup
DOCUMENT ME!
-
forwardFFT
private javax.swing.JRadioButton forwardFFT
User selects to indicate forward FFT processing should occur, resulting in frequency image
-
freq1
private double freq1
DOCUMENT ME!
-
freq2
private double freq2
DOCUMENT ME!
-
frequencyFilter
private javax.swing.JRadioButton frequencyFilter
DOCUMENT ME!
-
gaussianFilter
private javax.swing.JRadioButton gaussianFilter
DOCUMENT ME!
-
highPass
private javax.swing.JRadioButton highPass
DOCUMENT ME!
-
image
private ModelImage image
DOCUMENT ME!
-
image25D
private boolean image25D
Whether algorithm should run seperately on each slice of a 3D image
-
image25DCheckbox
private javax.swing.JCheckBox image25DCheckbox
User can indicate whether the FFT of each slice of a 3D image is computed seperately
-
imageCrop
private boolean imageCrop
DOCUMENT ME!
-
imageCropCheckbox
private javax.swing.JCheckBox imageCropCheckbox
DOCUMENT ME!
-
inverseFFT
private javax.swing.JRadioButton inverseFFT
DOCUMENT ME!
-
kernelDiameter
private int kernelDiameter
DOCUMENT ME!
-
labelF1
private javax.swing.JLabel labelF1
DOCUMENT ME!
-
labelF2
private javax.swing.JLabel labelF2
DOCUMENT ME!
-
labelKernelDiameter
private javax.swing.JLabel labelKernelDiameter
DOCUMENT ME!
-
labelOrder
private javax.swing.JLabel labelOrder
DOCUMENT ME!
-
labelEpsilon
private javax.swing.JLabel labelEpsilon
-
labelRs
private javax.swing.JLabel labelRs
-
logDisplayCheckbox
private javax.swing.JCheckBox logDisplayCheckbox
private JPanel optionsPanel;.
-
logMagDisplay
private boolean logMagDisplay
DOCUMENT ME!
-
lowPass
private javax.swing.JRadioButton lowPass
DOCUMENT ME!
-
mainPanel
private javax.swing.JPanel mainPanel
DOCUMENT ME!
-
newImage
private javax.swing.JRadioButton newImage
DOCUMENT ME!
-
replaceImage
private javax.swing.JRadioButton replaceImage
DOCUMENT ME!
-
resultImage
private ModelImage resultImage
DOCUMENT ME!
-
textF1
private javax.swing.JTextField textF1
DOCUMENT ME!
-
textF2
private javax.swing.JTextField textF2
DOCUMENT ME!
-
textKernelDiameter
private javax.swing.JTextField textKernelDiameter
DOCUMENT ME!
-
textOrder
private javax.swing.JTextField textOrder
DOCUMENT ME!
-
textEpsilon
private javax.swing.JTextField textEpsilon
-
textRs
private javax.swing.JTextField textRs
-
titles
private java.lang.String[] titles
DOCUMENT ME!
-
transformDir
private int transformDir
DOCUMENT ME!
-
unequalDim
private boolean unequalDim
Whether FFT algorithm can return non-equal x,y dimensions
-
unequalDimCheckbox
private javax.swing.JCheckBox unequalDimCheckbox
Indicates whether user wants FFT to return non-equal x,y dimensions
-
windowFilter
private javax.swing.JRadioButton windowFilter
DOCUMENT ME!
-
complexInverse
private boolean complexInverse
Whether a complex inverse FFT should be computed
-
complexInverseCheckbox
private javax.swing.JCheckBox complexInverseCheckbox
Whether the inverse FFT should return a complex image (appropriate when only when source image is complex)
-
useOCLCheckbox
private javax.swing.JCheckBox useOCLCheckbox
Indicates whether user wants openCL for processing.
-
useOCL
private boolean useOCL
Flag indicating whether to use OpenCL processing.
-
testDouble
private boolean testDouble
True when double precision testing should be performed, default is float.
-
epsilon
private double epsilon
-
rs
private double rs
-
onlyFrequencyFilter
private boolean onlyFrequencyFilter
-
fltFmt
private java.text.DecimalFormat fltFmt
-
-
Constructor Detail
-
JDialogFFT
public JDialogFFT()
Empty constructor needed for dynamic instantiation (used during scripting).
-
JDialogFFT
public JDialogFFT(java.awt.Frame theParentFrame, ModelImage im)
Creates new FFT 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 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:
algorithmPerformed
in interfaceAlgorithmInterface
- Parameters:
algorithm
- algorithm that caused the event.
-
getResultImage
public ModelImage getResultImage()
Accessor that returns the image.- Returns:
- the result image
-
setfilterOrder
public void setfilterOrder(int order)
Accessor that sets the butterworth order.- Parameters:
order
- Value to set the butterworth order to.
-
setEpsilon
public void setEpsilon(double epsilon)
- Parameters:
epsilon
- maximum filter ripple in Chebyshev or passband ripple in decibels in Elliptic
-
setRs
public void setRs(double rs)
- Parameters:
rs
- stop band down in decibels in ellipticFilter
-
setDiameter
public void setDiameter(int diameter)
Accessor that sets the kernel diameter.- Parameters:
diameter
- Value to set the kernel diameter to.
-
setDisplayLocNew
public void setDisplayLocNew()
Accessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.
-
setDisplayLocReplace
public void setDisplayLocReplace()
Accessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.
-
setFilterType
public void setFilterType(int type)
Accessor that sets the filter type (LOWPASS, HIGHPASS, BANDPASS, BANDSTOP).- Parameters:
type
- Value to set the filter type to.
-
setFreq1
public void setFreq1(double scale)
Accessor that sets the frequency 1 variable.- Parameters:
scale
- Value to set frequency 1 to.
-
setFreq2
public void setFreq2(double scale)
Accessor that sets the frequency 2 variable.- Parameters:
scale
- Value to set frequency 2 to.
-
setImage25D
public void setImage25D(boolean image25D)
Accessor that sets image25D for single slice processing.- Parameters:
image25D
- DOCUMENT ME!
-
setUseOCL
public void setUseOCL(boolean useOCL)
Accessor that sets whether to use OpenCL processing (may still not be set if it is not supported on the system).- Parameters:
useOCL
- Whether to try to use OpenCL processing.
-
setImageCrop
public void setImageCrop(boolean flag)
Accessor that sets the image crop flag.- Parameters:
flag
-true
indicates image crop,false
otherwise.
-
setLogMagDisplay
public void setLogMagDisplay(boolean logMagDisplay)
Accessor that turns log mag display on or off.- Parameters:
logMagDisplay
- DOCUMENT ME!
-
setMethod
public void setMethod(int method)
Accessor that sets the construction method (WINDOW, GAUSSIAN, BUTTERWORTH).- Parameters:
method
- Value to set the construction method to.
-
setTransformDir
public void setTransformDir(int transformDir)
Accessor that sets the transform direction.- Parameters:
transformDir
- DOCUMENT ME!
-
setUnequalDim
public void setUnequalDim(boolean unequalDim)
Accessor that sets whether or not the picture dimension can be unequal.- Parameters:
unequalDim
- DOCUMENT ME!
-
setComplexInverse
public void setComplexInverse(boolean complexInverse)
-
callAlgorithmFrequencyFilter
protected void callAlgorithmFrequencyFilter()
Once all the necessary variables are set, call the Frequency Filter algorithm based on what type of image this is and whether or not there is a separate destination image.
-
callAlgorithm
protected void callAlgorithm()
Once all the necessary variables are set, call the FFT algorithm based on what type of image this is and whether or not there is a separate destination image.- Specified by:
callAlgorithm
in classJDialogScriptableBase
-
callAlgorithm2
protected void callAlgorithm2()
Once all the necessary variables are set, call the FFT algorithm based on what type of image this is and whether or not there is a separate destination image.
-
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()
Initializes GUI 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.
-
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.
-
-