Class ViewJFrameRenderCamera
- All Implemented Interfaces:
ViewImageUpdateInterface,ActionListener,ComponentListener,MouseListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,ChangeListener,RootPaneContainer,WindowConstants
- Version:
- 1.0 July 8, 1999
- Author:
- Matthew J. McAuliffe Ph.D., Ruida Cheng
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrameNested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrameNested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Colorcolor for the line border surrounding each image in the light-box.private intspacing for the line border surrounding each image in the light-box.private VectorDOCUMENT ME!private intDOCUMENT ME!private intcurrent info -- this slice info refers to the *real* slice number, not the page index for a slice on a page.static final booleandefault row is dependent, and column independent.private static final intDOCUMENT ME!private static final intdefault values indicating minimum, maximum sizes are in PIXELS on a side for a magnification. this is to fix the magnification problems of very small images for which the arbitrary limits of lightbox image sizes of 25%-75% of the full size of an image. in practice the default max will reference the side with greatest magnitude ...private static final intDOCUMENT ME!private static final intDOCUMENT ME!private JButtonDelete the captured image button.private JMenuItemDelete menu icon item.private JButtonExtract the selected image button.private JMenuItemExtrace menu icon item.private booleanDOCUMENT ME!private intDOCUMENT ME!private PointDOCUMENT ME!private intframe information.private Colorcolor for the region in-between the images in the light-box.private intDOCUMENT ME!private intvalue for the number of rows (number of images along the y-axis) and columns (number of images along the x-axis) in the light-box.private intspacing between images in the light-box.private ButtonGroupDOCUMENT ME!private VectorDOCUMENT ME!private float[]DOCUMENT ME!private intDOCUMENT ME!private intper num visible images information.private intper num visible images information.private VectorDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private floatDOCUMENT ME!private floatDOCUMENT ME!private floatmagnification of images in the light-box (mag is a percentage).static final intmaximum spacing of the border surrounding images in the light-box.static final intmaximum column value (when it is the independent variable).static final intmaximum row value (when it is the independent variable).static final intmaximum spacing in-between images in the light-box.static final floatDOCUMENT ME!static final intmaximum spacing of the selection border surrounding images in the light-box.private intDOCUMENT ME!private intDOCUMENT ME!private JMenuBarvariables for the menubar.static final floatdefault magnification of images in the light-box.private VectorDOCUMENT ME!static final intDOCUMENT ME!static final intShow progress bar without a cancel button.static final intDo no show progress bar.private intDOCUMENT ME!private JPanelNumber of pages in this frame will always be one.private intDOCUMENT ME!private intDOCUMENT ME!private JScrollPaneScroll panel to handle the frame scolling.private RenderViewBaseDOCUMENT ME!protected booleanFlag indicating if a whether of not the progress bar is visible.private int[]DOCUMENT ME!protected ViewJProgressBarProgress bar object.protected PointProgress bar default location.protected intProgress mode - either standard, no cancel, or no progress bar.private booleanindicates which--row or column--should be dependent on the other.private Colorcolor for the line border surrounding each selected image in the light-box.private intspacing for the selected line border surrounding each image in the light-box.private Vectorthe selectedImages contains the *real* slice numbers -- not the index of a slice on a page.private static final longUse serialVersionUID for interoperability.private ModelImageReference to imageA.static final intShow standard progress bar with cancel.private JToolBarFrame ToolBar.private static JToggleButton[]elements of tBar.private JPanelvariables for the toolbar.private ColorDOCUMENT ME!static final intX axis constant.private intDOCUMENT ME!static final intY axis constant.private intDOCUMENT ME!static final intZ axis constant.Fields inherited from class gov.nih.mipav.view.ViewJFrameBase
absoluteGoToButton, absoluteGoToPanel, absoluteLabel, absoluteLabelVals, absolutePanel, absoluteXLabel, absoluteXTextField, absoluteYLabel, absoluteYTextField, absoluteZLabel, absoluteZTextField, alphaBlend, defaultLUTa, defaultLUTb, displayMode, IMAGE_A, IMAGE_A_B, IMAGE_B, imageA, imageB, isClosing, linkedScrolling, linkFrame, linkTriFrame, LUTa, LUTb, scannerLPS_APLabel, scannerLPS_APTextField, scannerLPS_GoToButton, scannerLPS_GoToPanel, scannerLPS_ISLabel, scannerLPS_ISTextField, scannerLPS_RLLabel, scannerLPS_RLTextField, scannerLPSLabel, scannerLPSLabelVals, scannerLPSPanel, scannerRAS_APLabel, scannerRAS_APTextField, scannerRAS_GoToButton, scannerRAS_GoToPanel, scannerRAS_ISLabel, scannerRAS_ISTextField, scannerRAS_RLLabel, scannerRAS_RLTextField, scannerRASLabel, scannerRASLabelVals, scannerRASPanel, scannerTabbedPane, tabbedPane, talGoToButton, talGoToPanel, talXLabel, talXTextField, talYLabel, talYTextField, talZLabel, talZTextField, userInterface, zoomModeFields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabledFields 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_CURSORFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
ConstructorsConstructorDescriptionViewJFrameRenderCamera(ModelImage _imageA, RenderViewBase _parentFrame) Builds the initial lightbox view. -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerformed(ActionEvent event) Handler for action events.voidaddImage(ModelImage _imageA) Add model image into the capture frame.private voidBuilds a simple menubar for this frame (ViewJFrameLightBox).private voidBuilds the panels for a page and adds them to the page.protected voidbuildProgressBar(String imageName, String message, int start, int end) Constructs progress bar.private voidBuilds a simple toolbar for this frame (ViewJFrameLightBox).private voidCalculate the individual image panel size based on the current magnification of the image.private voidCalculate the maximum page panel size based on the screen size, the size of the menubar and toolbars and whether the columns or rows are independent.private voidCalculate the size of the page Panel.private voidCalculate the screen size in pixels.voidclose()Closes the frame and calls disposeLocal and dispose.voidcloseImage(ModelImage image) Closes image and updates display.voidcomponentResized(ComponentEvent event) Method called when a component resize event is generated.private CompoundBorderThis method creates the compound image border array for each image in the light box.private voidDelete selected slices.voiddisposeLocal(boolean flag) Dispose the global variables.protected voidDisposes of progress bar.private ColorextractColor(String preferencesColorString) Makes a series of ints, corresponding to a color string stored in the Mipav.preferences file which looks like a color string defined in web pages ("RRGGBB"). and returns a java.awt.Color based on those values.private voidExtract the camera capture frame into the resulting ModelImage model.protected voidfinalize()finalize - calls dispose.Gets control widgets for frame.Returns the reference to imageA.Returns the reference to imageB.private voidInitializes the buffers that hold the image data.protected voidInitializes progress bar.protected voidMethod to invert the selection of slices in an image.final booleanReturns flag that indicates that the progressBar is visible.voidloadPage()Loads the images for a page into component images and then loads the page.private voidOnly allow resizing the frame horizontally.voidmouseClicked(MouseEvent mouseEvent) A mouse event.voidmouseEntered(MouseEvent mouseEvent) unchanged.voidmouseExited(MouseEvent mouseEvent) Resets the level set stack.voidmousePressed(MouseEvent mouseEvent) A mouse event.voidmouseReleased(MouseEvent mouseEvent) A mouse event.voidRemoves the menu and controls of the main frame so that a new frame can load the main frame with the proper controls.private voidUpdating image for each componentImage vector element.private voidsaveAVI()Saves screen graps to the animation frame and uses the animation frame to save the images to AVI format.protected voidMethod to select all the slices in an image.protected voidMethod to select none of the slices in an image.voidsetActiveImage(int active) Sets the active image for drawing VOIs.voidsetAlphaBlend(int value) Sets the alpha blending of parameter for two image displaying.private voidsetBorderColor(Color col) Sets the color of the image borders.private voidsetBorderSize(int size) Sets the image border size.protected voidMethod to set the status of the delete and extract menuItems and Buttons based on the selectedImages vector.voidSets the menu and controls (i.e. toolbars) of the main frame!voidsetEnabled(boolean flag) Controls whether or not the images/VOIs of the frame can be modified.private voidsetGridColor(Color col) Sets the background color of the panel that is in the scrollpane.private voidsetGridColumn(int col) This method is called when there is a change to the light box column number--in the limiting case.private voidsetGridSpacing(int width) Sets the distance between adjacent images. verifies that the width value is within bounds.voidsetImageA(ModelImage _imageA) Accessor that sets the reference to imageA.voidsetImageB(ModelImage _imageB) Accessor that sets the reference to imageB.protected voidSets the maximum magnification to the image. will ensure that the current magnification is not larger than the maximum.protected voidSets the minimum magnification to the image. will ensure that the current magnification is not smaller than the minimum.voidsetPaintBitmapSwitch(boolean paintBitmapSwitch) When switching the active image, copy the paintBitmap of the previous active image into the paintBitmap of the new active image.voidsetProgressBarInitLocation(int xDim, int yDim) DOCUMENT ME!voidsetProgressBarVisible(boolean flag) Sets Progress Bar visibility.voidThe following 2 functions set the RGB tables for ARGB images A and B.voidDOCUMENT ME!private voidSets the color of the selected image borders.private voidsetSelectedBorderSize(int size) Sets the selected image border size.voidsetSlice(int slice) Used in ViewImageUpdateInterface.voidsetTimeSlice(int tslice) Sets the time slice if the image has 4 dimensions and updates the image and title.voidsetTitle()Sets the title of the frame with the image name of slice location.private voidSetup the light box view.final booleanupdateImage(int slice, boolean highlightFlag) This methods calls the componentImage's update method to repaint the screen.voidupdateImageBorder(int i) This methods updates the image border for a single slice.voidThis method updates all the image borders for a page.boolean(Part of ViewImageUpdateInterface) This methods calls the componentImage's REPAINT method to redraw the screen.final booleanThis methods calls the componentImage's update method to repaint the screen.final booleanupdateImages(boolean forceShow) This methods calls the componentImage's update method to redraw the screen.final booleanupdateImages(ModelLUT _LUTa, ModelLUT _LUTb, boolean forceShow, int interpMode) This methods calls the componentImage's update method to redraw the screen.private voidupdateImageSelection(int plane, boolean applyToRange) Updates the image selection list by toggling the selection of the Z(3rd dimension) plane and the time (4th dimesion) volume.voidupdateImageSlice(int plane, int timeVolume) Updates the Z(3rd dimension) plane and the time (4th dimesion) volume.private voidRefill the page panel with imagePanelVector.private voidUpdating frame panel layout.voidwindowActivated(WindowEvent event) Over loaded so that it doesn't do anything.voidwindowClosing(WindowEvent event) Ask user if really wishes to close the image frame.Methods inherited from class gov.nih.mipav.view.ViewJFrameBase
about, buildLabelPanel, canCloseImageBAfterLoad, close, closeImageB, componentHidden, componentMoved, componentShown, getAlphaBlend, getDefaultLUTa, getDefaultLUTb, getDisplayMode, getImageNameA, getImageNameB, getLastState, getLUTa, getLUTb, getRGBTA, getRGBTB, getTriImg, getUserInterface, handleMaskPopupMenu, handlePaintToMaskPopupMenu, handleZoomPopupMenu, initExtents, initImageBuffer, initLUT, initNumSlices, initPixelBuffer, initResFactor, initResolutions, initRGB, initSlicePositions, initUnits, initZoom, loadAllVOIs, loadAllVOIsFrom, loadImage, loadLUT, loadLUTandTransferFunctionFrom, loadLUTandTransferFunctionFrom, makeString, newFrameBeenCreated, openVOI, openVOI, pickImageFile, save, save, save, saveAllVOIs, saveAllVOIsTo, saveLabels, saveLUT, saveLUTandTransferFunction, saveLUTandTransferFunction, saveLUTAs, saveLUTAs, saveVOI, saveVOIAs, saveVOIAs, saveVOIIntensities, saveVOIIntensitiesTo, setAbsPositionLabels, setEnableCloseImageBAfterLoad, setLastState, setLinkedFrame, setLinkedTriFrame, setLUTa, setLUTb, setLUTs, setMessageText, setOpacityInfo, setpaintBitmap, setScannerPosition, stateChanged, windowClosed, windowDeactivated, windowDeiconified, windowIconified, windowOpenedMethods 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, updateMethods 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, setUndecoratedMethods 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, toFrontMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDUse serialVersionUID for interoperability.- See Also:
-
DEFAULT_IMAGE_SIZE
private static final int DEFAULT_IMAGE_SIZEdefault values indicating minimum, maximum sizes are in PIXELS on a side for a magnification. this is to fix the magnification problems of very small images for which the arbitrary limits of lightbox image sizes of 25%-75% of the full size of an image. in practice the default max will reference the side with greatest magnitude ...- See Also:
-
DEFAULT_IMAGE_MIN
private static final int DEFAULT_IMAGE_MINDOCUMENT ME!- See Also:
-
DEFAULT_XSCREEN_SPACE
private static final int DEFAULT_XSCREEN_SPACEDOCUMENT ME!- See Also:
-
DEFAULT_YSCREEN_SPACE
private static final int DEFAULT_YSCREEN_SPACEDOCUMENT ME!- See Also:
-
DEFAULT_DEPENDENT_ROW
public static final boolean DEFAULT_DEPENDENT_ROWdefault row is dependent, and column independent.the default is the number of rows is the dependent variable, and is dependent apon the total number of images and the number of columns.
- See Also:
-
MIN_MAGNIFICATION
public static final float MIN_MAGNIFICATIONdefault magnification of images in the light-box.- See Also:
-
MAX_MAGNIFICATION
public static final float MAX_MAGNIFICATIONDOCUMENT ME!- See Also:
-
MAX_GRID_ROW
public static final int MAX_GRID_ROWmaximum row value (when it is the independent variable).- See Also:
-
MAX_GRID_COL
public static final int MAX_GRID_COLmaximum column value (when it is the independent variable).- See Also:
-
MAX_GRID_SIZE
public static final int MAX_GRID_SIZEmaximum spacing in-between images in the light-box.- See Also:
-
MAX_GRID_BORDER
public static final int MAX_GRID_BORDERmaximum spacing of the border surrounding images in the light-box.- See Also:
-
MAX_SELECTED_GRID_BORDER
public static final int MAX_SELECTED_GRID_BORDERmaximum spacing of the selection border surrounding images in the light-box.- See Also:
-
NO_AXIS
public static final int NO_AXISDOCUMENT ME!- See Also:
-
X_AXIS
public static final int X_AXISX axis constant.- See Also:
-
Y_AXIS
public static final int Y_AXISY axis constant.- See Also:
-
Z_AXIS
public static final int Z_AXISZ axis constant.- See Also:
-
toggleArray
elements of tBar. -
STANDARD
public static final int STANDARDShow standard progress bar with cancel.- See Also:
-
NO_CANCEL
public static final int NO_CANCELShow progress bar without a cancel button.- See Also:
-
NO_PROGRESS
public static final int NO_PROGRESSDo no show progress bar.- See Also:
-
pBarVisible
protected boolean pBarVisibleFlag indicating if a whether of not the progress bar is visible. -
progressBar
Progress bar object. -
progressBarLocation
Progress bar default location. -
progressMode
protected int progressModeProgress mode - either standard, no cancel, or no progress bar. -
borderColor
color for the line border surrounding each image in the light-box. -
borderSize
private int borderSizespacing for the line border surrounding each image in the light-box. -
componentImageVector
DOCUMENT ME! -
currentSelectedSlice
private int currentSelectedSliceDOCUMENT ME! -
currentSlice
private int currentSlicecurrent info -- this slice info refers to the *real* slice number, not the page index for a slice on a page. -
deleteButton
Delete the captured image button. -
deleteSelection
Delete menu icon item. -
extractButton
Extract the selected image button. -
extractSelection
Extrace menu icon item. -
firstTime
private boolean firstTimeDOCUMENT ME! -
frameHeight
private int frameHeightDOCUMENT ME! -
frameStartLocation
DOCUMENT ME! -
frameWidth
private int frameWidthframe information. -
gridColor
color for the region in-between the images in the light-box. -
gridColumn
private int gridColumnDOCUMENT ME! -
gridRow
private int gridRowvalue for the number of rows (number of images along the y-axis) and columns (number of images along the x-axis) in the light-box.Note that both row and column set to 1 cannot make sense, but that one or the other will be the 'dependent variable' as defined by the row_dependent boolean var.
A value of 0 means that the dependent variable will automatically be sized to its maximum size that can fit nicely on the screen.
-
gridSpacing
private int gridSpacingspacing between images in the light-box. -
group
DOCUMENT ME! -
imageBorderVector
DOCUMENT ME! -
imageBufferA
private float[] imageBufferADOCUMENT ME! -
imageHeight
private int imageHeightDOCUMENT ME! -
imagePanelSizeX
private int imagePanelSizeXper num visible images information. -
imagePanelSizeY
private int imagePanelSizeYper num visible images information. -
imagePanelVector
DOCUMENT ME! -
imageWidth
private int imageWidthDOCUMENT ME! -
lastSelectedSlice
private int lastSelectedSliceDOCUMENT ME! -
magMax
private float magMaxDOCUMENT ME! -
magMin
private float magMinDOCUMENT ME! -
magnification
private float magnificationmagnification of images in the light-box (mag is a percentage). -
maxPagePanelSizeX
private int maxPagePanelSizeXDOCUMENT ME! -
maxPagePanelSizeY
private int maxPagePanelSizeYDOCUMENT ME! -
modelImageVector
DOCUMENT ME! -
numTotalSlices
private int numTotalSlicesDOCUMENT ME! -
pagePanel
Number of pages in this frame will always be one. -
pagePanelSizeX
private int pagePanelSizeXDOCUMENT ME! -
pagePanelSizeY
private int pagePanelSizeYDOCUMENT ME! -
pageScrollPanel
Scroll panel to handle the frame scolling. -
parentFrame
DOCUMENT ME! -
pixBuffer
private int[] pixBufferDOCUMENT ME! -
row_dependent
private boolean row_dependentindicates which--row or column--should be dependent on the other.the default is the number of rows is the dependent variable, and is dependent apon the total number of images and the number of columns. Don't confuse the reading to be "This display is (t/f) dependent on the row." It -could- be read as "The display is a column-independent (t/f) matrix".
-
selectedBorderColor
color for the line border surrounding each selected image in the light-box. -
selectedBorderSize
private int selectedBorderSizespacing for the selected line border surrounding each image in the light-box. -
selectedImages
the selectedImages contains the *real* slice numbers -- not the index of a slice on a page. So the maximum number in the vector will be numTotalSlices - 1. -
srcImage
Reference to imageA. -
tBar
Frame ToolBar. -
toolbarPanel
variables for the toolbar. -
unselectedBorderColor
DOCUMENT ME! -
xScreen
private int xScreenDOCUMENT ME! -
yScreen
private int yScreenDOCUMENT ME!
-
-
Constructor Details
-
ViewJFrameRenderCamera
Builds the initial lightbox view.- Parameters:
_imageA- model of image A_parentFrame- title of the frame
-
-
Method Details
-
actionPerformed
Handler for action events.- Specified by:
actionPerformedin interfaceActionListener- Specified by:
actionPerformedin classViewJFrameBase- Parameters:
event- event which trigger the call to the handler
-
addImage
Add model image into the capture frame.- Parameters:
_imageA- Model image A.
-
close
public void close()Closes the frame and calls disposeLocal and dispose.- Overrides:
closein classViewJFrameBase
-
closeImage
Closes image and updates display.- Parameters:
image- ModelImage reference
-
componentResized
Method called when a component resize event is generated. This method snaps the size of the frame and pagePanel to the nearest row, column sizing (so the gridRow and gridColumn and page layout may change).- Specified by:
componentResizedin interfaceComponentListener- Overrides:
componentResizedin classViewJFrameBase- Parameters:
event- ComponentEvent
-
disposeLocal
public void disposeLocal(boolean flag) Dispose the global variables.- Parameters:
flag- boolean dispose super or not.
-
getControls
Gets control widgets for frame.- Specified by:
getControlsin classViewJFrameBase- Returns:
- DOCUMENT ME!
-
getImageA
Returns the reference to imageA.- Specified by:
getImageAin classViewJFrameBase- Returns:
- image
-
getImageB
Returns the reference to imageB.- Specified by:
getImageBin classViewJFrameBase- Returns:
- imageB
-
isProgressBarVisible
public final boolean isProgressBarVisible()Returns flag that indicates that the progressBar is visible.- Returns:
trueif progress bar is visible.
-
loadPage
Loads the images for a page into component images and then loads the page.- Throws:
OutOfMemoryError- DOCUMENT ME!
-
mouseClicked
A mouse event. When the mouse is clicked in the image, several different things may happen. If a Volume of Interest (VOI) is selected and the click count is 2, a VOI dialog should pop up. If the click count is 1 and the mouse is in an VOI, it should select the VOI. In all other cases, a click within the image but not in an VOI should deselect all VOIs.- Specified by:
mouseClickedin interfaceMouseListener- Parameters:
mouseEvent- event that triggers function; contains click count
-
mouseEntered
unchanged.- Specified by:
mouseEnteredin interfaceMouseListener- Parameters:
mouseEvent- DOCUMENT ME!
-
mouseExited
Resets the level set stack.- Specified by:
mouseExitedin interfaceMouseListener- Parameters:
mouseEvent- event that triggered function
-
mousePressed
A mouse event. Sets the mode of the program depending on the cursor mode. If the mode is move, activates the contour or line and enables the delete button.- Specified by:
mousePressedin interfaceMouseListener- Parameters:
mouseEvent- event that triggered function
-
mouseReleased
A mouse event. This function sets up and draws the VOI according to the mode.- Specified by:
mouseReleasedin interfaceMouseListener- Parameters:
mouseEvent- event that triggered function
-
removeControls
public 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.This function no longer loads its controls into the main control window however, this method is required because this class extends ViewJFrameBase
- Specified by:
removeControlsin classViewJFrameBase
-
setActiveImage
public void setActiveImage(int active) Sets the active image for drawing VOIs.- Specified by:
setActiveImagein classViewJFrameBase- Parameters:
active- IMAGE_A or IMAGE_B
-
setAlphaBlend
public void setAlphaBlend(int value) Sets the alpha blending of parameter for two image displaying.- Specified by:
setAlphaBlendin classViewJFrameBase- Parameters:
value- amount [0,100] that is the percentage of Image A to be displayed
-
setControls
public void setControls()Sets the menu and controls (i.e. toolbars) of the main frame! This puts the menus and controls needed to controls the operations of this frame. Different image frames have different menu and controls.This function no longer loads its controls into the main control window however, this method is required because this class extends ViewJFrameBase
- Specified by:
setControlsin classViewJFrameBase
-
setEnabled
public void setEnabled(boolean flag) Controls whether or not the images/VOIs of the frame can be modified.- Specified by:
setEnabledin classViewJFrameBase- Parameters:
flag- if true the image/VOIs can be modified; if false image/VOIs can NOT be modified
-
setImageA
Accessor that sets the reference to imageA.- Overrides:
setImageAin classViewJFrameBase- Parameters:
_imageA- image to set the frame to
-
setImageB
Accessor that sets the reference to imageB.- Specified by:
setImageBin classViewJFrameBase- Parameters:
_imageB- image to set the frame to
-
setPaintBitmapSwitch
public void setPaintBitmapSwitch(boolean paintBitmapSwitch) When switching the active image, copy the paintBitmap of the previous active image into the paintBitmap of the new active image.- Specified by:
setPaintBitmapSwitchin classViewJFrameBase- Parameters:
paintBitmapSwitch- DOCUMENT ME!
-
setProgressBarInitLocation
public void setProgressBarInitLocation(int xDim, int yDim) DOCUMENT ME!- Parameters:
xDim- DOCUMENT ME!yDim- DOCUMENT ME!
-
setProgressBarVisible
public void setProgressBarVisible(boolean flag) Sets Progress Bar visibility.- Parameters:
flag- flag to set to
-
setRGBTA
The following 2 functions set the RGB tables for ARGB images A and B.- Specified by:
setRGBTAin classViewJFrameBase- Parameters:
RGBT- DOCUMENT ME!
-
setRGBTB
DOCUMENT ME!- Specified by:
setRGBTBin classViewJFrameBase- Parameters:
RGBT- DOCUMENT ME!
-
setSlice
public void setSlice(int slice) Used in ViewImageUpdateInterface. This method sets the- Specified by:
setSlicein interfaceViewImageUpdateInterface- Parameters:
slice- image plane
-
setTimeSlice
public void setTimeSlice(int tslice) Sets the time slice if the image has 4 dimensions and updates the image and title.- Specified by:
setTimeSlicein interfaceViewImageUpdateInterface- Parameters:
tslice- time slice
-
setTitle
public void setTitle()Sets the title of the frame with the image name of slice location.- Specified by:
setTitlein classViewJFrameBase
-
updateImage
public final boolean updateImage(int slice, boolean highlightFlag) This methods calls the componentImage's update method to repaint the screen. This will set the requested highlight when the repaint is issued. Use setSlice() to update a single frames highlight, as this will not set the current slice.- Parameters:
slice- the slice of the image to update -- NOT the index into the visibile slices.highlightFlag- requests to paint the highlight around the component image- Returns:
- boolean confirming successful update see setSlice
- See Also:
-
updateImageBorder
public void updateImageBorder(int i) This methods updates the image border for a single slice.- Parameters:
i- the index of the image to update (NOT the slice number)
-
updateImageBorders
public void updateImageBorders()This method updates all the image borders for a page. This needs to be called whenever a new page is loaded. -
updateImageExtents
public boolean updateImageExtents()(Part of ViewImageUpdateInterface) This methods calls the componentImage's REPAINT method to redraw the screen. 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- Specified by:
updateImageExtentsin classViewJFrameBase- Returns:
- DOCUMENT ME!
- See Also:
-
updateImages
public final boolean updateImages()This methods calls the componentImage's update method to repaint the screen.- Specified by:
updateImagesin interfaceViewImageUpdateInterface- Returns:
- boolean confirming successful update
-
updateImages
public final boolean updateImages(boolean forceShow) This methods calls the componentImage's update method to redraw the screen. Without LUT changes.- Specified by:
updateImagesin interfaceViewImageUpdateInterface- Parameters:
forceShow- forces show to re import image and calc. java image- Returns:
- boolean confirming successful update
-
updateImages
public final boolean updateImages(ModelLUT _LUTa, ModelLUT _LUTb, boolean forceShow, int interpMode) This methods calls the componentImage's update method to redraw the screen.- Specified by:
updateImagesin interfaceViewImageUpdateInterface- Parameters:
_LUTa- LUT used to update imageA_LUTb- LUT used to update imageBforceShow- forces show to re import image and calc. java imageinterpMode- image interpolation method (Nearest or Smooth)- Returns:
- boolean confirming successful update
-
updateImageSlice
public void updateImageSlice(int plane, int timeVolume) Updates the Z(3rd dimension) plane and the time (4th dimesion) volume.- Parameters:
plane- image plane that is to displayedtimeVolume- the volume in which the plane the is to be displayed from
-
windowActivated
Over loaded so that it doesn't do anything.- Specified by:
windowActivatedin interfaceWindowListener- Overrides:
windowActivatedin classViewJFrameBase- Parameters:
event- DOCUMENT ME!
-
windowClosing
Ask user if really wishes to close the image frame.- Specified by:
windowClosingin interfaceWindowListener- Overrides:
windowClosingin classViewJFrameBase- Parameters:
event- DOCUMENT ME!
-
buildProgressBar
Constructs progress bar.- Parameters:
imageName- title of the toolbarmessage- message to be displayed in the framestart- start (typical = 0)end- end (typical = 100)
-
disposeProgressBar
protected void disposeProgressBar()Disposes of progress bar. -
finalize
finalize - calls dispose.- Overrides:
finalizein classViewJFrameBase- Throws:
Throwable- DOCUMENT ME!
-
initProgressBar
protected void initProgressBar()Initializes progress bar. -
invertSelections
protected void invertSelections()Method to invert the selection of slices in an image. -
selectAll
protected void selectAll()Method to select all the slices in an image. -
selectNone
protected void selectNone()Method to select none of the slices in an image. -
setButtonStatus
protected void setButtonStatus()Method to set the status of the delete and extract menuItems and Buttons based on the selectedImages vector. -
setMagMax
protected void setMagMax()Sets the maximum magnification to the image. will ensure that the current magnification is not larger than the maximum. -
setMagMin
protected void setMagMin()Sets the minimum magnification to the image. will ensure that the current magnification is not smaller than the minimum. -
buildMenuBar
private void buildMenuBar()Builds a simple menubar for this frame (ViewJFrameLightBox). -
buildPage
Builds the panels for a page and adds them to the page.- Throws:
OutOfMemoryError- DOCUMENT ME!
-
buildToolbar
private void buildToolbar()Builds a simple toolbar for this frame (ViewJFrameLightBox). -
calcImagePanelSize
private void calcImagePanelSize()Calculate the individual image panel size based on the current magnification of the image. -
calcMaxPagePanelSize
private void calcMaxPagePanelSize()Calculate the maximum page panel size based on the screen size, the size of the menubar and toolbars and whether the columns or rows are independent. -
calcPagePanelSize
private void calcPagePanelSize()Calculate the size of the page Panel. First the maximum size of the pagePanel must have been determined. Once the maximum page panel size is determined, then the actual size may be reduced to nicely fit the current image panel size. This will also determine how many images will fit into the page panel. -
calcScreenSize
private void calcScreenSize()Calculate the screen size in pixels. -
createImageBorder
This method creates the compound image border array for each image in the light box. The outer border is a LineBorder that uses the border color defined in the settings. The inner border is also a Line Border, however it's color depends on whether an image is selected or not (see the selectedImages vector).- Returns:
- DOCUMENT ME!
-
deleteSlices
private void deleteSlices()Delete selected slices. -
extractColor
Makes a series of ints, corresponding to a color string stored in the Mipav.preferences file which looks like a color string defined in web pages ("RRGGBB"). and returns a java.awt.Color based on those values.Call with extractColor(Preferences.getProperty("OneOfThoseColors"));
if preferencesColorString is null, or incomplete, returns black.
- Parameters:
String- preferencesColorString-- this class pre-arranges the colors to be- Returns:
- java.awt.Color
- See Also:
-
extractImages
private void extractImages()Extract the camera capture frame into the resulting ModelImage model. The extraction takes the first slice in each componentImageVector, then binding them into the resulting modelImage model. -
initBuffers
private void initBuffers()Initializes the buffers that hold the image data. -
lockSize
Only allow resizing the frame horizontally. Vertial not allow. Dr. Ben's contribution.- Parameters:
frame- DOCUMENT ME!
-
repaintFrame
private void repaintFrame()Updating image for each componentImage vector element. -
saveAVI
private void saveAVI()Saves screen graps to the animation frame and uses the animation frame to save the images to AVI format. -
setBorderColor
Sets the color of the image borders.- Parameters:
col- color of the image borders
-
setBorderSize
private void setBorderSize(int size) Sets the image border size.- Parameters:
size- thichness of the image border.
-
setGridColor
Sets the background color of the panel that is in the scrollpane.- Parameters:
col- the color the background of the panel that is in the scrollpane
-
setGridColumn
private void setGridColumn(int col) This method is called when there is a change to the light box column number--in the limiting case. It ensures that the column value is within bounds.- Parameters:
col- the number of columns to be used to display the images
-
setGridSpacing
private void setGridSpacing(int width) Sets the distance between adjacent images. verifies that the width value is within bounds. If width is outside of bounds, method fails quietly.- Parameters:
width- the width of space between images.
-
setSelectedBorderColor
Sets the color of the selected image borders.- Parameters:
col- color of the selected image borders
-
setSelectedBorderSize
private void setSelectedBorderSize(int size) Sets the selected image border size.- Parameters:
size- thichness of the selected image border.
-
setupCameraStorage
private void setupCameraStorage()Setup the light box view. A scrollpane is added to the frame. A panel with a grid layout is added to the scrollpane. Bordered panels the size of the image are added to each position of the grid. Lastly image slices are added to each bordered panel. -
updateImageSelection
private void updateImageSelection(int plane, boolean applyToRange) Updates the image selection list by toggling the selection of the Z(3rd dimension) plane and the time (4th dimesion) volume.- Parameters:
plane- image plane that is to displayedapplyToRange- the volume in which the plane the is to be displayed from
-
updatePagePanel
private void updatePagePanel()Refill the page panel with imagePanelVector. -
updatePanelLayout
private void updatePanelLayout()Updating frame panel layout.
-