Class ViewJFrameBase
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- gov.nih.mipav.view.ViewJFrameBase
-
- All Implemented Interfaces:
ViewImageUpdateInterface,java.awt.event.ActionListener,java.awt.event.ComponentListener,java.awt.event.WindowListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.event.ChangeListener,javax.swing.RootPaneContainer,javax.swing.WindowConstants
- Direct Known Subclasses:
DialogDTIColorDisplay,DTIColorDisplay,ViewJFrameAnimate,ViewJFrameAnimateClip,ViewJFrameColocalizationEM,ViewJFrameColocalizationRegression,ViewJFrameHistoLUT,ViewJFrameHistoRGB,ViewJFrameImage,ViewJFrameLightBox,ViewJFramePaintVasculature,ViewJFramePlotterView,ViewJFrameRegistration,ViewJFrameRegistrationTool,ViewJFrameRenderCamera,ViewJFrameTriImage,ViewJFrameVolumeView
public abstract class ViewJFrameBase extends javax.swing.JFrame implements ViewImageUpdateInterface, java.awt.event.ActionListener, java.awt.event.WindowListener, java.awt.event.ComponentListener, javax.swing.event.ChangeListener
This is an abstract class used to display images in a 2D planar format.- Version:
- 0.1 Oct 1, 1998
- Author:
- Matthew J. McAuliffe, Ph.D.
- See Also:
ViewJComponentEditImage, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
-
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 protected javax.swing.JButtonabsoluteGoToButtonprotected javax.swing.JPanelabsoluteGoToPanelprotected javax.swing.JLabelabsoluteLabelLabels for the current absolute position:.protected javax.swing.JLabel[]absoluteLabelValsLabels for the current absolute position values:.protected javax.swing.JPanelabsolutePanelJPanel containing the absoulte position labels:.protected javax.swing.JLabelabsoluteXLabelvoxel absolute goto components*protected javax.swing.JTextFieldabsoluteXTextFieldprotected javax.swing.JLabelabsoluteYLabelvoxel absolute goto components*protected javax.swing.JTextFieldabsoluteYTextFieldprotected javax.swing.JLabelabsoluteZLabelvoxel absolute goto components*protected javax.swing.JTextFieldabsoluteZTextFieldprotected floatalphaBlendIndicates the amount of blending when two images are loaded in the image frame.private intblueBlue channel value of the paint color.protected ModelLUTdefaultLUTaReference to LUT for image A and to the default LUT for image A.protected ModelLUTdefaultLUTbReference to LUT for image B and to the default LUT for image B.protected intdisplayModeIndicates which image is to be acted upon when two images are displayed.private booleanenableCloseImageBTells whether the ViewMenuBuilder should allow Close Image(B) after loading image B.private intgreenGreen channel value of the paint color.static intIMAGE_ADisplay mode image A.static intIMAGE_A_BDisplay mode image A and B.static intIMAGE_BDisplay mode image B.protected ModelImageimageAReference to the image A of this frame.protected ModelImageimageBReference to the image B of this frame.protected booleanisClosingWhether the frame's close() method is being called.private intlastStateSave if last state was iconified or normal.protected booleanlinkedScrollingVariable indicating if images of like dimensions should be scrolled simult.protected ViewJFrameImagelinkFrameHolds a reference (link) to another frame so that it be updated with this frame.protected ViewJFrameTriImagelinkTriFrameHolds a reference (link) to another frame so that it can be updated with this frame.protected ModelLUTLUTaReference to LUT for image A and to the default LUT for image A.protected ModelLUTLUTbReference to LUT for image B and to the default LUT for image B.private booleannewFrameCreatedprivate floatopacityOpacity value of the paint color.private java.util.BitSetpaintBitmapReference to the BitSet map used in painting the image.protected ViewJProgressBarprogressBarReference to progress bar.private intredRed channel value of the paint color.protected javax.swing.JLabelscannerLPS_APLabelscanner lps goto components*protected javax.swing.JTextFieldscannerLPS_APTextFieldprotected javax.swing.JButtonscannerLPS_GoToButtonprotected javax.swing.JPanelscannerLPS_GoToPanelprotected javax.swing.JLabelscannerLPS_ISLabelscanner lps goto components*protected javax.swing.JTextFieldscannerLPS_ISTextFieldprotected javax.swing.JLabelscannerLPS_RLLabelscanner lps goto components*protected javax.swing.JTextFieldscannerLPS_RLTextFieldprotected javax.swing.JLabelscannerLPSLabelLabels for the current scanner position:.protected javax.swing.JLabel[]scannerLPSLabelValsLabels for the current scanner position values:.protected javax.swing.JPanelscannerLPSPanelJPanel containing the scanner position labels:.protected javax.swing.JLabelscannerRAS_APLabelscanner ras goto components*protected javax.swing.JTextFieldscannerRAS_APTextFieldprotected javax.swing.JButtonscannerRAS_GoToButtonprotected javax.swing.JPanelscannerRAS_GoToPanelprotected javax.swing.JLabelscannerRAS_ISLabelscanner ras goto components*protected javax.swing.JTextFieldscannerRAS_ISTextFieldprotected javax.swing.JLabelscannerRAS_RLLabelscanner ras goto components*protected javax.swing.JTextFieldscannerRAS_RLTextFieldprotected javax.swing.JLabelscannerRASLabelLabels for the current scanner position:.protected javax.swing.JLabel[]scannerRASLabelValsLabels for the current scanner position values:.protected javax.swing.JPanelscannerRASPanelJPanel containing the scanner position labels:.protected javax.swing.JTabbedPanescannerTabbedPaneThe tabbed pane to hold teh LPS, RAS and absolution coordinate panels.private static longserialVersionUIDUse serialVersionUID for interoperability.protected javax.swing.JTabbedPanetabbedPaneThe main tabbed pane in the volume view frame.protected javax.swing.JButtontalGoToButtonprotected javax.swing.JPaneltalGoToPanelprotected javax.swing.JLabeltalXLabeltalairach goto components*protected javax.swing.JTextFieldtalXTextFieldprotected javax.swing.JLabeltalYLabeltalairach goto components*protected javax.swing.JTextFieldtalYTextFieldprotected javax.swing.JLabeltalZLabeltalairach goto components*protected javax.swing.JTextFieldtalZTextFieldprotected ViewUserInterfaceuserInterfaceReference to the user interface.private java.lang.StringvoiSavedFileNameDOCUMENT ME!protected intzoomModeDOCUMENT ME!-
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description ViewJFrameBase(ModelImage _imageA, ModelImage _imageB)Makes an image frame.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidabout(int zSlice, int tSlice)Makes an aboutDialog box that displays information about the image slice.abstract voidactionPerformed(java.awt.event.ActionEvent event)Method to handle action events generated by the main UI when the current frame is selected.voidbuildLabelPanel()The label panel of the x, y, z slider position.booleancanCloseImageBAfterLoad()Returns whether or not the close image B option should appear after loading.voidclose()Closes both image A and image B (if it exists).voidclose(boolean closeAll)Closes both image A and image B (if it exists).voidcloseImageB()Removes image B from the frame and resets image A to be the active frame for all image controls.voidcomponentHidden(java.awt.event.ComponentEvent event)Does nothing.voidcomponentMoved(java.awt.event.ComponentEvent event)Does nothing.voidcomponentResized(java.awt.event.ComponentEvent event)Does nothing.voidcomponentShown(java.awt.event.ComponentEvent event)Does nothing.protected voidfinalize()Cleans memory.private javax.swing.filechooser.FileFilterfindFilter(javax.swing.JFileChooser chooser, int filterType)Finds the FileFilter that matches the file type.floatgetAlphaBlend()Returns a default alphaBlend value for blending of two images.abstract ViewControlsImagegetControls()Gets the control widgets for the frame.ModelLUTgetDefaultLUTa()Accessor that returns the default LUTa for the frame.ModelLUTgetDefaultLUTb()Accessor that returns the default LUTb for the frame.intgetDisplayMode()Accessor that returns displayMode.abstract ModelImagegetImageA()Accessor that returns the imageA.abstract ModelImagegetImageB()Accessor that returns the imageB.java.lang.StringgetImageNameA()Accessor that returns the title of image A.java.lang.StringgetImageNameB()Accessor that returns the title of image B.intgetLastState()getLastState.ModelLUTgetLUTa()Accessor that returns LUTa.ModelLUTgetLUTb()Accessor that returns LUTb.ModelRGBgetRGBTA()Get the RGB table for image A.ModelRGBgetRGBTB()Get the RGB table for image B.ViewJFrameTriImagegetTriImg()Get the ViewJFrameTriImage reference.ViewUserInterfacegetUserInterface()Accessor that returns the user interface.static voidhandleMaskPopupMenu(java.awt.Component component, java.awt.event.MouseEvent event)Handles the popup menu for the Quick Mask buttonsprotected voidhandlePaintToMaskPopupMenu(java.awt.Component component, java.awt.event.MouseEvent event)Handles the pop-up menu for Paint to Mask buttons (inside/outside)protected voidhandleZoomPopupMenu(java.awt.Component component, java.awt.event.MouseEvent event)DOCUMENT ME!protected static int[]initExtents(ModelImage img)Get the extents of an image.protected static float[]initImageBuffer(int[] extents, boolean isColor, int imageType)Create the intensity buffer for an image.static ModelLUTinitLUT(ModelImage img)Creates and initializes the LUT for an image.protected static int[]initNumSlices(ModelImage img)Get the total number of time slices and volume slices.protected static int[]initPixelBuffer(int[] extents)Create the pixel buffer for an image.protected static float[]initResFactor(float[] imgResols, int[] imgUnits)Get the resolution correction needed for non-isotropic images.protected static float[]initResolutions(ModelImage img)DOCUMENT ME!static ModelRGBinitRGB(ModelImage img)Creates and initializes the ModelRGB for an image.protected static int[]initSlicePositions(ModelImage img)Get the initial time and volume slice positions.protected static int[]initUnits(ModelImage img)DOCUMENT ME!protected static floatinitZoom(ModelImage img, float xResFactor, float yResFactor, int screenX, int screenY)Initializes the zoom variables for an image.private booleanisImageResampleable(ModelImage image)Returns whether an image can be resampled to match imageA for loading into the imageB slot of the frame.private booleanisResampleNeeded(ModelImage image)Returns whether a image should be resampled to match the extents and resolutions of imageA.voidloadAllVOIs(boolean quietMode)This method loads all VOIs to the active image from the default VOI directory for that image.voidloadAllVOIsFrom(java.lang.String voiDir, boolean quietMode)This method loads all VOIs to the active image from a given directory.booleanloadImage(java.lang.Object obj, ViewJComponentEditImage compImage, boolean stackFlag, boolean doOrigins, boolean doOrients, double defaultValue, double defaultRed, double defaultGreen, double defaultBlue, boolean isQuiet)Loads an image into imageB slot of frame.voidloadLUT(boolean loadAll, boolean quietMode)This method loads the LUT for the active image.voidloadLUTandTransferFunctionFrom(boolean loadAll, java.lang.String filename, java.lang.String dirName, boolean quietMode)This method loads the LUT for the active image.static voidloadLUTandTransferFunctionFrom(ModelImage image, ModelStorageBase lut, boolean loadAll, java.lang.String filename, java.lang.String dirName, boolean quietMode)Reads the input LUT (ModelLUT or ModelRGB) from file.private voidloadResampledImage(ModelImage image)Resamples an image and loads it into the imageB slot.protected java.lang.StringmakeString(float number, int decPts)Makes a string of a float with a specific number of decimal points.private voidmatchImages(ModelImage imageA, ModelImage imageB, boolean doOrigins, boolean doOrients, double defaultValue, double defaultRed, double defaultGreen, double defaultBlue)booleannewFrameBeenCreated()booleanopenVOI(boolean quietMode, boolean doLabels)This method opens an existing VOI.VOI[]openVOI(ModelImage image, boolean quietMode)This method opens an existing VOI.java.io.FilepickImageFile()Brings up a FileChooser to pick a file.abstract voidremoveControls()Removes the menu and controls of the main frame so that a new frame can load the main frame with the proper controls.private booleanreorderAfni(ModelImage image, int[] axisA, int[] axisB)Reorders the AFNI image based on the axis orientations.voidsave(FileWriteOptions options, int filterType)Creates save dialog so that the image can be saved // This should be moved to imageModel.save();voidsave(ModelImage img, FileWriteOptions options, int filterType)Creates save dialog so that the image can be saved // This should be moved to imageModel.save();voidsave(ModelImage img, FileWriteOptions options, int filterType, boolean operateQuiet)Creates save dialog so that the image can be saved // This should be moved to imageModel.save();voidsaveAllVOIs()This method saves all VOIs for the active image to the default VOI directory for that image.voidsaveAllVOIsTo(java.lang.String voiDir)This method saves all VOIs for the active image to a given directory.voidsaveLabels(boolean saveAll)DOCUMENT ME!voidsaveLUT(boolean saveAll)This method saves the LUT for the active image.static voidsaveLUTandTransferFunction(ModelImage image, ModelLUT lut, java.lang.String filename, java.lang.String dirName)Saves the ModelLUT and transfer function.voidsaveLUTandTransferFunction(java.lang.String filename, java.lang.String dirName)This method saves the LUT for the active image.voidsaveLUTAs(boolean saveAll, java.lang.String filename, java.lang.String dirName)This method saves the LUT for the active image.static voidsaveLUTAs(ModelImage image, ModelStorageBase lut, boolean saveAll)Saves the LUT associated with the input image (either a ModelLUT or ModelRGB).voidsaveVOI(boolean saveAllContours)This method saves a selected VOI - should this be in VOI structure ??!!!java.lang.StringsaveVOIAs()DOCUMENT ME!voidsaveVOIAs(boolean saveAllContours)This method allows the user to choose how to save the VOI.voidsaveVOIIntensities()Save intensities in VOI to a text file of format x,y,z,intensity on each line if not color or complex.voidsaveVOIIntensitiesTo(java.lang.String voiIntensitiesDir)Save intensities in VOI to a text file of format x,y,z,intensity on each line if not color or complex.protected voidsetAbsPositionLabels(WildMagic.LibFoundation.Mathematics.Vector3f position)Sets the Absolute position label.abstract voidsetActiveImage(int active)Sets the active image (image that should be processed for drawing VOIs and applying algorithms.abstract voidsetAlphaBlend(int value)Sets the alpha blending parameter for two image display.abstract voidsetControls()Sets the menu and controls (i.e. toolbars) of the main frame!voidsetEnableCloseImageBAfterLoad(boolean enable)Sets whether the close image B option should appear after loading.abstract voidsetEnabled(boolean flag)Controls whether or not the images/VOIs of the frame can be modified.voidsetImageA(ModelImage image)Accessor that sets the imageA.abstract voidsetImageB(ModelImage imageB)Accessor that sets the imageB.private intsetImageBAfni(ModelImage imageA, ModelImage image)Sets image B to an AFNI image, performing the appropriate transformations.voidsetLastState(int state)setLastState.voidsetLinkedFrame(ViewJFrameImage linkFrame)Accessor that sets the link Frame.voidsetLinkedTriFrame(ViewJFrameTriImage linkTriFrame)Accessor that sets the link Frame.voidsetLUTa(ModelLUT lut)Accessor that sets LUTa.voidsetLUTb(ModelLUT lut)Accessor that sets LUTb.voidsetLUTs(ModelLUT _LUTa, ModelLUT _LUTb)Sets LUTa and LUTb.voidsetMessageText(java.lang.String str)Accessor to set the text of the main frame's text field.voidsetOpacityInfo(float _OPACITY, float _alphaBlend)Sets RGB Information.voidsetpaintBitmap(java.util.BitSet _paintBitmap)Sets the paint Bitmap.abstract voidsetPaintBitmapSwitch(boolean flag)If true do not getMask on a setActiveImage command so as to keep the mask from the old active image.abstract voidsetRGBTA(ModelRGB RGBT)Set the RGB table for image A.abstract voidsetRGBTB(ModelRGB RGBT)Set the RGB table for image B.protected voidsetScannerPosition(WildMagic.LibFoundation.Mathematics.Vector3f position)Sets the Scanner position label.abstract voidsetTitle()Sets the Title bar of the frame.voidstateChanged(javax.swing.event.ChangeEvent event)Does nothing.private voidtransformACPC(ModelImage image, float[] imgBuffer, TransMatrix xfrm, float iXres, float iYres, float iZres, int iXdim, int iYdim, int iZdim, int iTdim, int planeGap, int[] gapArray, boolean doNN, float oXres, float oYres, float oZres, int oXdim, int oYdim, int oZdim)This routine is designed to transform AFNI functional images which have already been transformed to match AFNI original images to match AFNI +acpc images.private voidtransformAFNI(ModelImage image, float[] imgBuffer, float iXres, float iYres, float iZres, int iXdim, int iYdim, int iZdim, int iTdim, float ilowXmm, float ilowYmm, float ilowZmm, float ihighXmm, float ihighYmm, float ihighZmm, int planeGap, int[] gapArray, boolean doNN, float oXres, float oYres, float oZres, int oXdim, int oYdim, int oZdim, float olowXmm, float olowYmm, float olowZmm, float ohighXmm, float ohighYmm, float ohighZmm)This routine is designed to transform AFNI functional images and AFNI 3D + time anatomical images to match AFNI original 3D anatomical images.private voidtransformTalairach(ModelImage image, float[] imgBuffer, TransMatrix xfrm, float iXres, float iYres, float iZres, int iXdim, int iYdim, int iZdim, int iTdim, int planeGap, int[] gapArray, boolean doNN, float oXres, float oYres, float oZres, int oXdim, int oYdim, int oZdim, int botX, int botY, int botZ, int topX, int topY, int topZ)This routine is designed to transform AFNI functional images which have already been transformed to match AFNI original images to match AFNI +tlrc images.abstract booleanupdateImageExtents()The extents on this image have changed, so the extents need to be read in again and menus, panes and slide bars adjusted accordingly.voidwindowActivated(java.awt.event.WindowEvent event)Tells the UI that this frame is the currently active one.voidwindowClosed(java.awt.event.WindowEvent event)Does nothing.voidwindowClosing(java.awt.event.WindowEvent event)Cleans up the frame before closing.voidwindowDeactivated(java.awt.event.WindowEvent event)Does nothing.voidwindowDeiconified(java.awt.event.WindowEvent event)Does nothing.voidwindowIconified(java.awt.event.WindowEvent event)Does nothing.voidwindowOpened(java.awt.event.WindowEvent event)Does nothing.-
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
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, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, 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, 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, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gov.nih.mipav.view.ViewImageUpdateInterface
setSlice, setTimeSlice, updateImages, updateImages, updateImages
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
IMAGE_A
public static final int IMAGE_A
Display mode image A.- See Also:
- Constant Field Values
-
IMAGE_B
public static final int IMAGE_B
Display mode image B.- See Also:
- Constant Field Values
-
IMAGE_A_B
public static final int IMAGE_A_B
Display mode image A and B.- See Also:
- Constant Field Values
-
zoomMode
protected int zoomMode
DOCUMENT ME!
-
absoluteLabel
protected javax.swing.JLabel absoluteLabel
Labels for the current absolute position:.
-
absoluteLabelVals
protected javax.swing.JLabel[] absoluteLabelVals
Labels for the current absolute position values:.
-
absolutePanel
protected javax.swing.JPanel absolutePanel
JPanel containing the absoulte position labels:.
-
alphaBlend
protected float alphaBlend
Indicates the amount of blending when two images are loaded in the image frame.
-
displayMode
protected int displayMode
Indicates which image is to be acted upon when two images are displayed.
-
imageA
protected ModelImage imageA
Reference to the image A of this frame.
-
imageB
protected ModelImage imageB
Reference to the image B of this frame.
-
linkFrame
protected ViewJFrameImage linkFrame
Holds a reference (link) to another frame so that it be updated with this frame.
-
linkTriFrame
protected ViewJFrameTriImage linkTriFrame
Holds a reference (link) to another frame so that it can be updated with this frame.
-
defaultLUTa
protected ModelLUT defaultLUTa
Reference to LUT for image A and to the default LUT for image A.
-
LUTa
protected ModelLUT LUTa
Reference to LUT for image A and to the default LUT for image A.
-
defaultLUTb
protected ModelLUT defaultLUTb
Reference to LUT for image B and to the default LUT for image B.
-
LUTb
protected ModelLUT LUTb
Reference to LUT for image B and to the default LUT for image B.
-
progressBar
protected ViewJProgressBar progressBar
Reference to progress bar.
-
scannerLPSLabel
protected javax.swing.JLabel scannerLPSLabel
Labels for the current scanner position:.
-
scannerRASLabel
protected javax.swing.JLabel scannerRASLabel
Labels for the current scanner position:.
-
scannerLPSLabelVals
protected javax.swing.JLabel[] scannerLPSLabelVals
Labels for the current scanner position values:.
-
scannerRASLabelVals
protected javax.swing.JLabel[] scannerRASLabelVals
Labels for the current scanner position values:.
-
scannerLPSPanel
protected javax.swing.JPanel scannerLPSPanel
JPanel containing the scanner position labels:.
-
scannerRASPanel
protected javax.swing.JPanel scannerRASPanel
JPanel containing the scanner position labels:.
-
tabbedPane
protected javax.swing.JTabbedPane tabbedPane
The main tabbed pane in the volume view frame.
-
scannerTabbedPane
protected javax.swing.JTabbedPane scannerTabbedPane
The tabbed pane to hold teh LPS, RAS and absolution coordinate panels.
-
userInterface
protected ViewUserInterface userInterface
Reference to the user interface.
-
isClosing
protected boolean isClosing
Whether the frame's close() method is being called.
-
blue
private int blue
Blue channel value of the paint color.
-
enableCloseImageB
private boolean enableCloseImageB
Tells whether the ViewMenuBuilder should allow Close Image(B) after loading image B.
-
newFrameCreated
private boolean newFrameCreated
-
green
private int green
Green channel value of the paint color.
-
lastState
private int lastState
Save if last state was iconified or normal.
-
opacity
private float opacity
Opacity value of the paint color.
-
paintBitmap
private java.util.BitSet paintBitmap
Reference to the BitSet map used in painting the image.
-
red
private int red
Red channel value of the paint color.
-
voiSavedFileName
private java.lang.String voiSavedFileName
DOCUMENT ME!
-
linkedScrolling
protected boolean linkedScrolling
Variable indicating if images of like dimensions should be scrolled simult.
-
absoluteXLabel
protected javax.swing.JLabel absoluteXLabel
voxel absolute goto components*
-
absoluteYLabel
protected javax.swing.JLabel absoluteYLabel
voxel absolute goto components*
-
absoluteZLabel
protected javax.swing.JLabel absoluteZLabel
voxel absolute goto components*
-
absoluteXTextField
protected javax.swing.JTextField absoluteXTextField
-
absoluteYTextField
protected javax.swing.JTextField absoluteYTextField
-
absoluteZTextField
protected javax.swing.JTextField absoluteZTextField
-
absoluteGoToButton
protected javax.swing.JButton absoluteGoToButton
-
absoluteGoToPanel
protected javax.swing.JPanel absoluteGoToPanel
-
scannerLPS_RLLabel
protected javax.swing.JLabel scannerLPS_RLLabel
scanner lps goto components*
-
scannerLPS_APLabel
protected javax.swing.JLabel scannerLPS_APLabel
scanner lps goto components*
-
scannerLPS_ISLabel
protected javax.swing.JLabel scannerLPS_ISLabel
scanner lps goto components*
-
scannerLPS_RLTextField
protected javax.swing.JTextField scannerLPS_RLTextField
-
scannerLPS_APTextField
protected javax.swing.JTextField scannerLPS_APTextField
-
scannerLPS_ISTextField
protected javax.swing.JTextField scannerLPS_ISTextField
-
scannerLPS_GoToButton
protected javax.swing.JButton scannerLPS_GoToButton
-
scannerLPS_GoToPanel
protected javax.swing.JPanel scannerLPS_GoToPanel
-
scannerRAS_RLLabel
protected javax.swing.JLabel scannerRAS_RLLabel
scanner ras goto components*
-
scannerRAS_APLabel
protected javax.swing.JLabel scannerRAS_APLabel
scanner ras goto components*
-
scannerRAS_ISLabel
protected javax.swing.JLabel scannerRAS_ISLabel
scanner ras goto components*
-
scannerRAS_RLTextField
protected javax.swing.JTextField scannerRAS_RLTextField
-
scannerRAS_APTextField
protected javax.swing.JTextField scannerRAS_APTextField
-
scannerRAS_ISTextField
protected javax.swing.JTextField scannerRAS_ISTextField
-
scannerRAS_GoToButton
protected javax.swing.JButton scannerRAS_GoToButton
-
scannerRAS_GoToPanel
protected javax.swing.JPanel scannerRAS_GoToPanel
-
talXLabel
protected javax.swing.JLabel talXLabel
talairach goto components*
-
talYLabel
protected javax.swing.JLabel talYLabel
talairach goto components*
-
talZLabel
protected javax.swing.JLabel talZLabel
talairach goto components*
-
talXTextField
protected javax.swing.JTextField talXTextField
-
talYTextField
protected javax.swing.JTextField talYTextField
-
talZTextField
protected javax.swing.JTextField talZTextField
-
talGoToButton
protected javax.swing.JButton talGoToButton
-
talGoToPanel
protected javax.swing.JPanel talGoToPanel
-
-
Constructor Detail
-
ViewJFrameBase
public ViewJFrameBase(ModelImage _imageA, ModelImage _imageB)
Makes an image frame.- Parameters:
_imageA- model image A_imageB- model image B
-
-
Method Detail
-
actionPerformed
public abstract void actionPerformed(java.awt.event.ActionEvent event)
Method to handle action events generated by the main UI when the current frame is selected. Implemented by specific frame classes.- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener- Parameters:
event- the event from the UI
-
getControls
public abstract ViewControlsImage getControls()
Gets the control widgets for the frame.- Returns:
- the frame's image controls
-
getImageA
public abstract ModelImage getImageA()
Accessor that returns the imageA.- Returns:
- imageA
-
getImageB
public abstract ModelImage getImageB()
Accessor that returns the imageB.- Returns:
- imageB
-
removeControls
public abstract void removeControls()
Removes the menu and controls of the main frame so that a new frame can load the main frame with the proper controls. Abstract and must be extended.
-
setActiveImage
public abstract void setActiveImage(int active)
Sets the active image (image that should be processed for drawing VOIs and applying algorithms.- Parameters:
active- IMAGE_A or IMAGE_B
-
setAlphaBlend
public abstract void setAlphaBlend(int value)
Sets the alpha blending parameter for two image display.- Parameters:
value- amount [0,100] that is the percentage of Image A to be displayed and (1-percentage) of Image B to be displayed
-
setControls
public abstract void setControls()
Sets the menu and controls (i.e. toolbars) of the main frame! This puts only the menus and controls needed to controls the operations of this frame. Different image frames have different menu and controls.
-
setEnabled
public abstract void setEnabled(boolean flag)
Controls whether or not the images/VOIs of the frame can be modified.- Overrides:
setEnabledin classjava.awt.Component- Parameters:
flag- if true the image/VOIs can be modified; if false image/VOIs can NOT be modified
-
setImageB
public abstract void setImageB(ModelImage imageB)
Accessor that sets the imageB.- Parameters:
imageB- The image to make image-B in this frame.
-
setPaintBitmapSwitch
public abstract void setPaintBitmapSwitch(boolean flag)
If true do not getMask on a setActiveImage command so as to keep the mask from the old active image.- Parameters:
flag- if true do not getMask on a setActiveImage command
-
setRGBTA
public abstract void setRGBTA(ModelRGB RGBT)
Set the RGB table for image A.- Parameters:
RGBT- the RGB table to use for image A
-
setRGBTB
public abstract void setRGBTB(ModelRGB RGBT)
Set the RGB table for image B.- Parameters:
RGBT- the RGB table to use for image B
-
setTitle
public abstract void setTitle()
Sets the Title bar of the frame.
-
updateImageExtents
public abstract boolean updateImageExtents()
The extents on this image have changed, so the extents need to be read in again and menus, panes and slide bars adjusted accordingly.- Specified by:
updateImageExtentsin interfaceViewImageUpdateInterface- Returns:
- true if the update was successful, false otherwise
- See Also:
ViewImageUpdateInterface
-
about
public void about(int zSlice, int tSlice)Makes an aboutDialog box that displays information about the image slice.- Parameters:
zSlice- index to slice in z-Plane about the specific image slicetSlice- index to slice in time about the specific image slice
-
buildLabelPanel
public void buildLabelPanel()
The label panel of the x, y, z slider position.
-
canCloseImageBAfterLoad
public boolean canCloseImageBAfterLoad()
Returns whether or not the close image B option should appear after loading.- Returns:
- whether the "Close image B" option should appear after image B is loaded
-
newFrameBeenCreated
public boolean newFrameBeenCreated()
-
close
public void close()
Closes both image A and image B (if it exists). It ensures the images are un-registered from the main-frame then removes any display listeners.
-
close
public void close(boolean closeAll)
Closes both image A and image B (if it exists). It ensures the images are un-registered from the main-frame then removes any display listeners.
-
closeImageB
public void closeImageB()
Removes image B from the frame and resets image A to be the active frame for all image controls. Ensures the image is removed, disconnected from the frame and un-registered. Also informs the garbage-collector to release any held memory.
-
componentHidden
public void componentHidden(java.awt.event.ComponentEvent event)
Does nothing.- Specified by:
componentHiddenin interfacejava.awt.event.ComponentListener- Parameters:
event- the component event
-
componentMoved
public void componentMoved(java.awt.event.ComponentEvent event)
Does nothing.- Specified by:
componentMovedin interfacejava.awt.event.ComponentListener- Parameters:
event- the component event
-
componentResized
public void componentResized(java.awt.event.ComponentEvent event)
Does nothing.- Specified by:
componentResizedin interfacejava.awt.event.ComponentListener- Parameters:
event- the component event
-
componentShown
public void componentShown(java.awt.event.ComponentEvent event)
Does nothing.- Specified by:
componentShownin interfacejava.awt.event.ComponentListener- Parameters:
event- the component event
-
getAlphaBlend
public float getAlphaBlend()
Returns a default alphaBlend value for blending of two images.- Returns:
- a default alphaBlend value
-
getDisplayMode
public int getDisplayMode()
Accessor that returns displayMode.- Returns:
- displayMode
-
getImageNameA
public java.lang.String getImageNameA()
Accessor that returns the title of image A.- Returns:
- frame title for Image A
-
getImageNameB
public java.lang.String getImageNameB()
Accessor that returns the title of image B.- Returns:
- frame title for Image B
-
getLastState
public int getLastState()
getLastState.- Returns:
- lastState Should be either Frame.NORMAL or Frame.ICONIFIED
-
getLUTa
public ModelLUT getLUTa()
Accessor that returns LUTa.- Returns:
- LUTa
-
getLUTb
public ModelLUT getLUTb()
Accessor that returns LUTb.- Returns:
- LUTb
-
getDefaultLUTa
public ModelLUT getDefaultLUTa()
Accessor that returns the default LUTa for the frame.- Returns:
- defaultLUTa
-
getDefaultLUTb
public ModelLUT getDefaultLUTb()
Accessor that returns the default LUTb for the frame.- Returns:
- defaultLUTb
-
getRGBTA
public ModelRGB getRGBTA()
Get the RGB table for image A.- Returns:
- null (may be overridden by inheriting classes)
-
getRGBTB
public ModelRGB getRGBTB()
Get the RGB table for image B.- Returns:
- null (may be overridden by inheriting classes)
-
getTriImg
public ViewJFrameTriImage getTriImg()
Get the ViewJFrameTriImage reference.- Returns:
- linkTriFrame ViewJFrameTriImage.
-
getUserInterface
public ViewUserInterface getUserInterface()
Accessor that returns the user interface.- Returns:
- the user interface
-
loadAllVOIs
public void loadAllVOIs(boolean quietMode)
This method loads all VOIs to the active image from the default VOI directory for that image.- Parameters:
quietMode- if true indicates that warnings should not be displayed.
-
loadAllVOIsFrom
public void loadAllVOIsFrom(java.lang.String voiDir, boolean quietMode)This method loads all VOIs to the active image from a given directory.- Parameters:
voiDir- the directory to load voi's fromquietMode- if true indicates that warnings should not be displayed.
-
loadImage
public boolean loadImage(java.lang.Object obj, ViewJComponentEditImage compImage, boolean stackFlag, boolean doOrigins, boolean doOrients, double defaultValue, double defaultRed, double defaultGreen, double defaultBlue, boolean isQuiet)Loads an image into imageB slot of frame. Matches the imageB resolutions and dimensions to imageA, and can optionally match the images' origins and orientations.- Parameters:
obj- an object which is either a ModelImage to be loaded into the modelimage (as say, imageB, imported from another frame) or a File to be read in via FileIO.readImage(...)compImage- image component where image is set so that it can be displayed.stackFlag- flag indicating multi filedoOrigins- when calling MatchImages to match resolutions and dimensions, should origins be matched too?doOrients- when calling MatchImages to match resolutions and dimensions, should orientations be matched too?- Returns:
- true if the load was successful, false otherwise
- See Also:
JDialogLoadImage
-
matchImages
private void matchImages(ModelImage imageA, ModelImage imageB, boolean doOrigins, boolean doOrients, double defaultValue, double defaultRed, double defaultGreen, double defaultBlue)
-
loadLUT
public void loadLUT(boolean loadAll, boolean quietMode)This method loads the LUT for the active image. If the image is not a color image then both the functions and the LUT data are loaded. If this is a color image, then only the functions are loaded.- Parameters:
loadAll- boolean indicating that both lut and transfer functions should be loaded. If false, then only transfer functions are loaded.quietMode- if true indicates that warnings should not be displayed.
-
loadLUTandTransferFunctionFrom
public void loadLUTandTransferFunctionFrom(boolean loadAll, java.lang.String filename, java.lang.String dirName, boolean quietMode)This method loads the LUT for the active image. If the image is not a color image then both the functions and the LUT data are loaded. If this is a color image, then only the functions are loaded.- Parameters:
loadAll- boolean indicating that both lut and transfer functions should be loaded. If false, then only transfer functions are loaded.filename- filename to save LUT asdirName- directory to save LUT toquietMode- if true indicates that warnings should not be displayed.
-
loadLUTandTransferFunctionFrom
public static void loadLUTandTransferFunctionFrom(ModelImage image, ModelStorageBase lut, boolean loadAll, java.lang.String filename, java.lang.String dirName, boolean quietMode)
Reads the input LUT (ModelLUT or ModelRGB) from file.- Parameters:
image-lut-loadAll-filename-dirName-quietMode-
-
openVOI
public boolean openVOI(boolean quietMode, boolean doLabels)This method opens an existing VOI.- Parameters:
quietMode- if true indicates that warnings should not be displayed.doLabels- DOCUMENT ME!- Returns:
- whether a VOI was successfully opened (ie - the dialog wasn't cancelled)
-
openVOI
public VOI[] openVOI(ModelImage image, boolean quietMode)
This method opens an existing VOI.- Parameters:
image- image where VOI(s) are to registeredquietMode- if true indicates that warnings should not be displayed.- Returns:
- the VOI(s)
-
pickImageFile
public java.io.File pickImageFile()
Brings up a FileChooser to pick a file.- Returns:
- File the File the chooser picks.
-
save
public void save(FileWriteOptions options, int filterType)
Creates save dialog so that the image can be saved // This should be moved to imageModel.save();- Parameters:
options- File-write options.filterType- only used if >= 0
-
save
public void save(ModelImage img, FileWriteOptions options, int filterType)
Creates save dialog so that the image can be saved // This should be moved to imageModel.save();- Parameters:
img- DOCUMENT ME!options- DOCUMENT ME!filterType- only used if value >= 0
-
save
public void save(ModelImage img, FileWriteOptions options, int filterType, boolean operateQuiet)
Creates save dialog so that the image can be saved // This should be moved to imageModel.save();- Parameters:
img- DOCUMENT ME!options- DOCUMENT ME!filterType- only used if value >= 0operateQuiet- informs the FileIO to not notify user of errors or interrogate for more information.
-
saveAllVOIs
public void saveAllVOIs()
This method saves all VOIs for the active image to the default VOI directory for that image.
-
saveAllVOIsTo
public void saveAllVOIsTo(java.lang.String voiDir)
This method saves all VOIs for the active image to a given directory.- Parameters:
voiDir- directory that contains VOIs for this image.
-
saveLabels
public void saveLabels(boolean saveAll)
DOCUMENT ME!- Parameters:
saveAll- DOCUMENT ME!
-
saveLUT
public void saveLUT(boolean saveAll)
This method saves the LUT for the active image. If the image is not a color image then both the functions and the LUT data are saved. If this is a color image, then only the functions are saved.- Parameters:
saveAll- - boolean indicating that both lut and transfer functions should be saved. If false, then only transfer functions are saved.
-
saveLUTAs
public void saveLUTAs(boolean saveAll, java.lang.String filename, java.lang.String dirName)This method saves the LUT for the active image. If the image is not a color image then both the functions and the LUT data are saved. If this is a color image, then only the functions are saved.- Parameters:
saveAll- boolean indicating that both lut and transfer functions should be saved. If false, then only transfer functions are saved.If either filename or directory is null, then the user will be prompted for a filename.
filename- filename to save LUT asdirName- directory to save LUT to
-
saveLUTAs
public static void saveLUTAs(ModelImage image, ModelStorageBase lut, boolean saveAll)
Saves the LUT associated with the input image (either a ModelLUT or ModelRGB).- Parameters:
image-lut-saveAll-
-
saveLUTandTransferFunction
public void saveLUTandTransferFunction(java.lang.String filename, java.lang.String dirName)This method saves the LUT for the active image. If the image is not a color image then both the functions and the LUT data are saved. If this is a color image, then only the functions are saved.- Parameters:
filename- filename to save LUT asdirName- directory to save LUT to
-
saveLUTandTransferFunction
public static void saveLUTandTransferFunction(ModelImage image, ModelLUT lut, java.lang.String filename, java.lang.String dirName)
Saves the ModelLUT and transfer function.- Parameters:
image-lut-filename-dirName-
-
saveVOI
public void saveVOI(boolean saveAllContours)
This method saves a selected VOI - should this be in VOI structure ??!!!- Parameters:
saveAllContours- if true all contours are saved
-
saveVOIAs
public java.lang.String saveVOIAs()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
saveVOIAs
public void saveVOIAs(boolean saveAllContours)
This method allows the user to choose how to save the VOI.- Parameters:
saveAllContours- if true all contours are saved
-
saveVOIIntensities
public void saveVOIIntensities()
Save intensities in VOI to a text file of format x,y,z,intensity on each line if not color or complex. If color use format x,y,z,a,r,g,b on each line and if complex use format x,y,z,real,imaginary on each line.
-
saveVOIIntensitiesTo
public void saveVOIIntensitiesTo(java.lang.String voiIntensitiesDir)
Save intensities in VOI to a text file of format x,y,z,intensity on each line if not color or complex. If color use format x,y,z,a,r,g,b on each line and if complex use format x,y,z,real,imaginary on each line.
-
setEnableCloseImageBAfterLoad
public void setEnableCloseImageBAfterLoad(boolean enable)
Sets whether the close image B option should appear after loading.- Parameters:
enable- whether the "Close image B" option should appear after image B is loaded
-
setImageA
public void setImageA(ModelImage image)
Accessor that sets the imageA.- Parameters:
image- The image to make image-A in this frame.
-
setLastState
public void setLastState(int state)
setLastState.- Parameters:
state- Should be either Frame.NORMAL or Frame.ICONIFIED
-
setLinkedFrame
public void setLinkedFrame(ViewJFrameImage linkFrame)
Accessor that sets the link Frame.- Parameters:
linkFrame- set frame to link to.
-
setLinkedTriFrame
public void setLinkedTriFrame(ViewJFrameTriImage linkTriFrame)
Accessor that sets the link Frame.- Parameters:
linkTriFrame- set frame to link to.
-
setLUTa
public void setLUTa(ModelLUT lut)
Accessor that sets LUTa.- Parameters:
lut- DOCUMENT ME!
-
setLUTb
public void setLUTb(ModelLUT lut)
Accessor that sets LUTb.- Parameters:
lut- DOCUMENT ME!
-
setLUTs
public void setLUTs(ModelLUT _LUTa, ModelLUT _LUTb)
Sets LUTa and LUTb.- Parameters:
_LUTa- DOCUMENT ME!_LUTb- DOCUMENT ME!
-
setMessageText
public final void setMessageText(java.lang.String str)
Accessor to set the text of the main frame's text field.- Parameters:
str- string to be display in the main frame's text field
-
setOpacityInfo
public void setOpacityInfo(float _OPACITY, float _alphaBlend)Sets RGB Information.- Parameters:
_OPACITY- DOCUMENT ME!_alphaBlend- DOCUMENT ME!
-
setpaintBitmap
public void setpaintBitmap(java.util.BitSet _paintBitmap)
Sets the paint Bitmap.- Parameters:
_paintBitmap- DOCUMENT ME!
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent event)
Does nothing.- Specified by:
stateChangedin interfacejavax.swing.event.ChangeListener- Parameters:
event- the change event
-
windowActivated
public void windowActivated(java.awt.event.WindowEvent event)
Tells the UI that this frame is the currently active one.- Specified by:
windowActivatedin interfacejava.awt.event.WindowListener- Parameters:
event- the window event
-
windowClosed
public void windowClosed(java.awt.event.WindowEvent event)
Does nothing.- Specified by:
windowClosedin interfacejava.awt.event.WindowListener- Parameters:
event- the window event
-
windowClosing
public void windowClosing(java.awt.event.WindowEvent event)
Cleans up the frame before closing.- Specified by:
windowClosingin interfacejava.awt.event.WindowListener- Parameters:
event- the window event that triggered this method
-
windowDeactivated
public void windowDeactivated(java.awt.event.WindowEvent event)
Does nothing.- Specified by:
windowDeactivatedin interfacejava.awt.event.WindowListener- Parameters:
event- the window event
-
windowDeiconified
public void windowDeiconified(java.awt.event.WindowEvent event)
Does nothing.- Specified by:
windowDeiconifiedin interfacejava.awt.event.WindowListener- Parameters:
event- the window event
-
windowIconified
public void windowIconified(java.awt.event.WindowEvent event)
Does nothing.- Specified by:
windowIconifiedin interfacejava.awt.event.WindowListener- Parameters:
event- the window event
-
windowOpened
public void windowOpened(java.awt.event.WindowEvent event)
Does nothing.- Specified by:
windowOpenedin interfacejava.awt.event.WindowListener- Parameters:
event- the window event
-
finalize
protected void finalize() throws java.lang.ThrowableCleans memory.- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable- theExceptionraised by this method
-
makeString
protected java.lang.String makeString(float number, int decPts)Makes a string of a float with a specific number of decimal points.- Parameters:
number- number to be converted to a stringdecPts- the number of decimal points- Returns:
- string representation of the number
-
setAbsPositionLabels
protected void setAbsPositionLabels(WildMagic.LibFoundation.Mathematics.Vector3f position)
Sets the Absolute position label.- Parameters:
position- DOCUMENT ME!
-
setScannerPosition
protected void setScannerPosition(WildMagic.LibFoundation.Mathematics.Vector3f position)
Sets the Scanner position label.- Parameters:
position- DOCUMENT ME!
-
handleZoomPopupMenu
protected void handleZoomPopupMenu(java.awt.Component component, java.awt.event.MouseEvent event)DOCUMENT ME!- Parameters:
component- DOCUMENT ME!event- DOCUMENT ME!
-
handleMaskPopupMenu
public static void handleMaskPopupMenu(java.awt.Component component, java.awt.event.MouseEvent event)Handles the popup menu for the Quick Mask buttons- Parameters:
component- DOCUMENT ME!event- DOCUMENT ME!
-
handlePaintToMaskPopupMenu
protected void handlePaintToMaskPopupMenu(java.awt.Component component, java.awt.event.MouseEvent event)Handles the pop-up menu for Paint to Mask buttons (inside/outside)- Parameters:
component- DOCUMENT ME!event- DOCUMENT ME!
-
initExtents
protected static int[] initExtents(ModelImage img)
Get the extents of an image. (don't know why this is really needed...)- Parameters:
img- the image- Returns:
- the image's extents
-
initImageBuffer
protected static float[] initImageBuffer(int[] extents, boolean isColor, int imageType)Create the intensity buffer for an image.- Parameters:
extents- the extents of the imageisColor- whether the image is in color- Returns:
- a buffer which is big enough to contain the image intensity data
-
initNumSlices
protected static int[] initNumSlices(ModelImage img)
Get the total number of time slices and volume slices.- Parameters:
img- the image to get the slices of- Returns:
- an array containing the number of volume slices (in the first element) and the number of time slices in the image (in the second element)
-
initPixelBuffer
protected static int[] initPixelBuffer(int[] extents)
Create the pixel buffer for an image.- Parameters:
extents- the extents of the image- Returns:
- a buffer which is big enough to contain the image pixel data
-
initResFactor
protected static float[] initResFactor(float[] imgResols, int[] imgUnits)Get the resolution correction needed for non-isotropic images.- Parameters:
imgResols- the image resolutionimgUnits- the image units of measure- Returns:
- the resolution correction factor in the x (the first element) and y (the second element) dimensions
-
initResolutions
protected static float[] initResolutions(ModelImage img)
DOCUMENT ME!- Parameters:
img- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
initSlicePositions
protected static int[] initSlicePositions(ModelImage img)
Get the initial time and volume slice positions.- Parameters:
img- the image to get the slice positions of- Returns:
- an array containing the slice in the volume (in the first element) and the time slice (in the second element)
-
initUnits
protected static int[] initUnits(ModelImage img)
DOCUMENT ME!- Parameters:
img- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
initLUT
public static ModelLUT initLUT(ModelImage img) throws java.lang.OutOfMemoryError
Creates and initializes the LUT for an image.- Parameters:
img- the image to create a LUT for- Returns:
- a LUT for the image
img(null if a color image) - Throws:
java.lang.OutOfMemoryError- if enough memory cannot be allocated for this method
-
initRGB
public static ModelRGB initRGB(ModelImage img) throws java.lang.OutOfMemoryError
Creates and initializes the ModelRGB for an image.- Parameters:
img- the image to create a ModelRGB for- Returns:
- a ModelRGB for the image
img(null if NOT a color image) - Throws:
java.lang.OutOfMemoryError- if enough memory cannot be allocated for this method
-
initZoom
protected static float initZoom(ModelImage img, float xResFactor, float yResFactor, int screenX, int screenY)
Initializes the zoom variables for an image.- Parameters:
img- the image to use to initialize the zoomxResFactor- correction factor in the x direction for images that are do not have isotropic voxelsyResFactor- correction factor in the x direction for images that are do not have isotropic voxels- Returns:
- the initial zoom to use for this image
-
findFilter
private javax.swing.filechooser.FileFilter findFilter(javax.swing.JFileChooser chooser, int filterType)Finds the FileFilter that matches the file type.- Parameters:
chooser- JFileChooserfilterType- int the file filter type- Returns:
- FileFilter the filter that matches the filter type.
-
isImageResampleable
private boolean isImageResampleable(ModelImage image)
Returns whether an image can be resampled to match imageA for loading into the imageB slot of the frame.- Parameters:
image- the image to check- Returns:
- true if the image is either 3D or 4D (but not if the 4th dim differs)
-
isResampleNeeded
private boolean isResampleNeeded(ModelImage image)
Returns whether a image should be resampled to match the extents and resolutions of imageA.- Parameters:
image- the image to check against imageA- Returns:
- true if a resampling of the image is required
-
loadResampledImage
private void loadResampledImage(ModelImage image)
Resamples an image and loads it into the imageB slot. This image should already be matched against imageA.- Parameters:
image- the image to resample and load as imageB
-
reorderAfni
private boolean reorderAfni(ModelImage image, int[] axisA, int[] axisB)
Reorders the AFNI image based on the axis orientations. B0 to A1 indicates changing x to y; B0 to A2 indicates a change from x to z.- Parameters:
image- Image to reorder.axisA- axis indices orientation of reordered imageaxisB- axis indices orientation of original image- Returns:
- true if the reordering of the Afni file is successful, false otherwise
-
setImageBAfni
private int setImageBAfni(ModelImage imageA, ModelImage image)
Sets image B to an AFNI image, performing the appropriate transformations.- Parameters:
imageA- Image A.image- AFNI image to set to image A.- Returns:
- -1 if failure; 0 if no tranformation needed; and 1 if transformation and set successful.
-
transformACPC
private void transformACPC(ModelImage image, float[] imgBuffer, TransMatrix xfrm, float iXres, float iYres, float iZres, int iXdim, int iYdim, int iZdim, int iTdim, int planeGap, int[] gapArray, boolean doNN, float oXres, float oYres, float oZres, int oXdim, int oYdim, int oZdim)
This routine is designed to transform AFNI functional images which have already been transformed to match AFNI original images to match AFNI +acpc images.AFNI:Software for Analysis and Visualization of Functional Magnetic Resonance Neuroimages by Robert W. Cox states:
"In some applications, gaps are present between the functional slices. For example, some investigators using sagittal functional images do not collect data that spans the longitudinal fissure, but instead leave a 3-5 mm gap there. The auxiliary program abut can provide zero-filled images to fill in the gaps, and can resample the nonzero slices to a finer mesh if needed(e.g., to fill a 2 mm gap in a series of 4 mm functional slices). Resampling in the slice select direction between contiguous input slices can be done using nearest- neighbor, linear, or cubic interpolation, at the user's discretion. Interpolation is not done across the boundaries between the gap-filling zero images and the nonzero user-supplied images; that is, interpolation is only done inside spatially contiguous blocks of actual input data."
A second special consideration exists in the interpolation of functional data. The MCW AFNI - User Manual states: "In this version of AFNI, the threshold data (e.g., correlation coefficient) is always resampled using the nearest neighbor method. This is because thresholding with an interpolated nonlinear statistic is a somewhat dubious procedure." At another point the manual states: "Threshold data in functional datasets is always resampled using the nearest neighbor mode. This is becasue it is somewhat unreasonable to interpolate a nonlinear statistic (such as correlation coefficient) between voxels, and then to interpret this statistic using probabilistic models that assume independence."
Thus, the intensity data is interpolated with trilinear interpolation and the threshold data is interpolated with nearest neighbor interpolation.
- Parameters:
image- image being createdimgBuffer- source image arrayxfrm- transformation matrix to be appliediXres- input x resolutioniYres- input y resolutioniZres- input z resolutioniXdim- input x dimesnioniYdim- input y dimensioniZdim- input z dimensioniTdim- input t dimensionplaneGap- -1 if no zero filled gaps, 0 for x axis gaps, 1 for y axis, 2 for z axisgapArray- array of coordinates at which the zero filled planes occurdoNN- true if functional, false if anatomicaloXres- output x resolutionoYres- output y resolutionoZres- output z resolutionoXdim- output x dimensionoYdim- output y dimensionoZdim- output z dimension
-
transformAFNI
private void transformAFNI(ModelImage image, float[] imgBuffer, float iXres, float iYres, float iZres, int iXdim, int iYdim, int iZdim, int iTdim, float ilowXmm, float ilowYmm, float ilowZmm, float ihighXmm, float ihighYmm, float ihighZmm, int planeGap, int[] gapArray, boolean doNN, float oXres, float oYres, float oZres, int oXdim, int oYdim, int oZdim, float olowXmm, float olowYmm, float olowZmm, float ohighXmm, float ohighYmm, float ohighZmm)
This routine is designed to transform AFNI functional images and AFNI 3D + time anatomical images to match AFNI original 3D anatomical images. Here the 3 axes of the 2 images are parallel and the spatial orientation of the 2 sets of axes are identical.AFNI:Software for Analysis and Visualization of Functional Magnetic Resonance Neuroimages by Robert W. Cox states:
"In some applications, gaps are present between the functional slices. For example, some investigators using sagittal functional images do not collect data that spans the longitudinal fissure, but instead leave a 3-5 mm gap there. The auxiliary program abut can provide zero-filled images to fill in the gaps, and can resample the nonzero slices to a finer mesh if needed(e.g., to fill a 2 mm gap in a series of 4 mm functional slices). Resampling in the slice select direction between contiguous input slices can be done using nearest- neighbor, linear, or cubic interpolation, at the user's discretion. Interpolation is not done across the boundaries between the gap-filling zero images and the nonzero user-supplied images; that is, interpolation is only done inside spatially contiguous blocks of actual input data."
A second special consideration exists in the interpolation of functional data. The MCW AFNI - User Manual states: "In this version of AFNI, the threshold data (e.g., correlation coefficient) is always resampled using the nearest neighbor method. This is because thresholding with an interpolated nonlinear statistic is a somewhat dubious procedure."
At another point the manual states: "Threshold data in functional datasets is always resampled using the nearest neighbor mode. This is becasue it is somewhat unreasonable to interpolate a nonlinear statistic (such as correlation coefficient) between voxels, and then to interpret this statistic using probabilistic models that assume independence."
Thus, the intensity data is interpolated with trilinear interpolation and the threshold data is interpolated with nearest neighbor interpolation.
- Parameters:
image- image being createdimgBuffer- source image arrayiXres- input x resolutioniYres- input y resolutioniZres- input z resolutioniXdim- input x dimesnioniYdim- input y dimensioniZdim- input z dimensioniTdim- input t dimensionilowXmm- lowest valid input x location in space in millimetersilowYmm- lowest valid input y location in space in millimetersilowZmm- lowest valid input z location in space in millimetersihighXmm- highest valid input x location in space in millimetersihighYmm- highest valid input y location in space in millimetersihighZmm- highest valid input z location in space in millimetersplaneGap- -1 if no zero filled gaps, 0 for x axis gaps, 1 for y axis, 2 for z axisgapArray- array of coordinates at which the zero filled planes occurdoNN- true if functional, false if anatomicaloXres- output x resolutionoYres- output y resolutionoZres- output z resolutionoXdim- output x dimensionoYdim- output y dimensionoZdim- output z dimensionolowXmm- lowest valid output x location in space in millimetersolowYmm- lowest valid output y location in space in millimetersolowZmm- lowest valid output z location in space in millimetersohighXmm- highest valid output x location in space in millimetersohighYmm- highest valid output y location in space in millimetersohighZmm- highest valid output z location in space in millimeters
-
transformTalairach
private void transformTalairach(ModelImage image, float[] imgBuffer, TransMatrix xfrm, float iXres, float iYres, float iZres, int iXdim, int iYdim, int iZdim, int iTdim, int planeGap, int[] gapArray, boolean doNN, float oXres, float oYres, float oZres, int oXdim, int oYdim, int oZdim, int botX, int botY, int botZ, int topX, int topY, int topZ)
This routine is designed to transform AFNI functional images which have already been transformed to match AFNI original images to match AFNI +tlrc images.AFNI:Software for Analysis and Visualization of Functional Magnetic Resonance Neuroimages by Robert W. Cox states:
"In some applications, gaps are present between the functional slices. For example, some investigators using sagittal functional images do not collect data that spans the longitudinal fissure, but instead leave a 3-5 mm gap there. The auxiliary program abut can provide zero-filled images to fill in the gaps, and can resample the nonzero slices to a finer mesh if needed(e.g., to fill a 2 mm gap in a series of 4 mm functional slices). Resampling in the slice select direction between contiguous input slices can be done using nearest- neighbor, linear, or cubic interpolation, at the user's discretion. Interpolation is not done across the boundaries between the gap-filling zero images and the nonzero user-supplied images; that is, interpolation is only done inside spatially contiguous blocks of actual input data."
A second special consideration exists in the interpolation of functional data. The MCW AFNI - User Manual states: "In this version of AFNI, the threshold data (e.g., correlation coefficient) is always resampled using the nearest neighbor method. This is because thresholding with an interpolated nonlinear statistic is a somewhat dubious procedure." At another point the manual states: "Threshold data in functional datasets is always resampled using the nearest neighbor mode. This is becasue it is somewhat unreasonable to interpolate a nonlinear statistic (such as correlation coefficient) between voxels, and then to interpret this statistic using probabilistic models that assume independence."
Thus, the intensity data is interpolated with trilinear interpolation and the threshold data is interpolated with nearest neighbor interpolation.
- Parameters:
image- image being createdimgBuffer- source image arrayxfrm- transformation matrix to be appliediXres- input x resolutioniYres- input y resolutioniZres- input z resolutioniXdim- input x dimesnioniYdim- input y dimensioniZdim- input z dimensioniTdim- input t dimensionplaneGap- -1 if no zero filled gaps, 0 for x axis gaps, 1 for y axis, 2 for z axisgapArray- array of coordinates at which the zero filled planes occurdoNN- true if functional, false if anatomicaloXres- output x resolutionoYres- output y resolutionoZres- output z resolutionoXdim- output x dimensionoYdim- output y dimensionoZdim- output z dimensionbotX- lowest x output value in this 1 of the 12 Talairach regionsbotY- lowest y output value in this 1 of the 12 Talairach regionsbotZ- lowest z output value in this 1 of the 12 Talairach regionstopX- highest x output value in this 1 of the 12 Talairach regionstopY- highest y output value in this 1 of the 12 Talairach regionstopZ- highest z output value in this 1 of the 12 Talairach regions
-
-