public class RoiEditor extends JFrame implements ActionListener, SlideSetWindow
JFrame.AccessibleJFrame
Frame.AccessibleAWTFrame
Window.AccessibleAWTWindow, Window.Type
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
private boolean |
active
Active flag
|
private JButton |
addRoiSet |
private BrightnessContrastRoi |
bcDialog
The brightness/contrast dialog
|
private boolean |
changed
Changed flag
|
private JButton |
changeLevels |
private int |
curImage
Current image index
|
private int |
curRoiSet
Current ROI set index
|
private JComboBox |
displayMode |
private DataTypeIDService |
dtid |
private JButton |
exportSVG |
private JButton |
goImageBack |
private JButton |
goImageNext |
private net.imagej.ImageJ |
ij |
private FastUpdateImageDisplay |
imageDisplay
The image display
|
private JComboBox |
imageList |
private ColumnBoundReader<? extends DataElement,net.imagej.Dataset> |
images |
private org.scijava.ui.swing.viewer.SwingDisplayWindow |
imageWindow
The image window
|
private boolean |
loadingImage
Busy loading an image flag
|
private boolean |
locked
Read-only mode
|
private SlideSetLog |
log
The log
|
private JButton |
openROIManager |
private net.imagej.display.OverlayService |
os |
private ArrayList<ColumnBoundReader> |
roiReaders |
private JComboBox |
roiSetList |
private ArrayList<String> |
roiSetNames
Names of the ROI sets
|
private ArrayList<net.imagej.overlay.AbstractOverlay[][]> |
roiSets
ROI sets
AbstractOverlay[image#][Roi#] |
private ArrayList<ColumnBoundWriter> |
roiWriters |
private JButton |
saveChanges |
private SlideSet |
slideSet |
private org.scijava.ui.UserInterface |
ui |
private JButton |
undoChanges |
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
RoiEditor(SlideSet slideSet,
DataTypeIDService dtid,
net.imagej.ImageJ ij,
SlideSetLog log) |
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(ActionEvent e)
Action handler
|
private void |
buildLayout()
Build the window
|
private void |
changeDisplayMode()
Update the color mode
|
private void |
changeLevels()
Open the Brightness/Contrast dialog
|
private void |
createImageWindow()
Create the image window
|
private void |
createRoiSet()
Create a new set of overlays (ROIs)
|
private void |
drawOverlays()
Draw appropriate overlays on the image
|
private void |
exportSVG() |
private void |
flagOverlayChanges(org.scijava.object.event.ObjectEvent e)
Check to see if an ROI change should set the
changed flag |
private String[] |
getImageNames()
Get the short names of image files to put in the list,
prefixed by the row number to avoid name duplications
which cause problems with
DefaultComboBoxModel . |
private String[] |
getRoiSetNames()
Get the names of available ROI sets to put in the list,
prefixed by the row number to avoid name duplications
which cause problems with
DefaultComboBoxModel . |
private void |
handleActionEvent(ActionEvent e)
Handle an
ActionEvent |
private void |
handleError(Exception e) |
void |
kill()
Clean up and close the editor
|
private void |
loadData()
Load the internal data
|
private void |
loadImage(int imageIndex)
Load and display the selected image
|
private void |
loadOverlays()
Load overlay data from disk
|
void |
lock()
Activate read-only mode and prevent changes to ROIs
|
private void |
onEvent(net.imagej.event.OverlayCreatedEvent e)
Handle an ROI creation
|
private void |
onEvent(net.imagej.event.OverlayDeletedEvent e)
Handle an ROI deletion
|
private void |
onEvent(net.imagej.event.OverlayRestructuredEvent e)
Check to see if one of the ROIs has been restructured
|
private void |
onEvent(net.imagej.event.OverlayUpdatedEvent e)
Check to see if one of the ROIs has been changed
|
private void |
openROIManager()
Open the ImageJ overlay manager window
|
void |
registerBrightnessContrast(BrightnessContrastRoi bc)
Register a Brightness/Contrast dialog
|
private void |
revertOverlays()
With user confirmation, revert overlays to last saved version.
|
private void |
saveOverlays()
Save overlays drawn on the current image to memory, not to disk.
|
private void |
setActionListeners()
Set action listeners for the controls
|
private void |
setImage(int index)
Change display to the image with the given
index in the list. |
private void |
setROISet(int index)
Load the selected ROI set into the display.
|
void |
showAndWait()
Run the ROI editor.
|
private void |
updateControls()
Update the state of the controls
Do NOT call from the event dispatch thread.
|
private void |
writeOverlays()
Save all overlays to disk
|
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
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
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
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
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, getPeer, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addWindowListener
getFont, postEvent
private SlideSet slideSet
private DataTypeIDService dtid
private net.imagej.ImageJ ij
private net.imagej.display.OverlayService os
private org.scijava.ui.UserInterface ui
private ColumnBoundReader<? extends DataElement,net.imagej.Dataset> images
private ArrayList<ColumnBoundReader> roiReaders
private ArrayList<ColumnBoundWriter> roiWriters
private ArrayList<net.imagej.overlay.AbstractOverlay[][]> roiSets
AbstractOverlay[image#][Roi#]
private int curRoiSet
private int curImage
private JComboBox roiSetList
private JButton addRoiSet
private JButton openROIManager
private JComboBox displayMode
private JButton changeLevels
private JButton exportSVG
private JComboBox imageList
private JButton goImageNext
private JButton goImageBack
private JButton saveChanges
private JButton undoChanges
private FastUpdateImageDisplay imageDisplay
private org.scijava.ui.swing.viewer.SwingDisplayWindow imageWindow
private BrightnessContrastRoi bcDialog
private boolean active
private boolean loadingImage
private SlideSetLog log
private boolean locked
private boolean changed
public RoiEditor(SlideSet slideSet, DataTypeIDService dtid, net.imagej.ImageJ ij, SlideSetLog log)
public void showAndWait()
public void actionPerformed(ActionEvent e)
actionPerformed
in interface ActionListener
public void registerBrightnessContrast(BrightnessContrastRoi bc)
public void lock()
private void buildLayout()
private void setActionListeners()
private void handleActionEvent(ActionEvent e)
ActionEvent
private void loadData() throws SlideSetException
SlideSetException
private void loadOverlays() throws SlideSetException
SlideSetException
private void updateControls()
private String[] getRoiSetNames()
DefaultComboBoxModel
.private String[] getImageNames()
DefaultComboBoxModel
.private void loadImage(int imageIndex)
private void changeDisplayMode()
private void changeLevels()
private void createImageWindow()
private void drawOverlays()
private void saveOverlays()
private void writeOverlays()
private void revertOverlays()
private void createRoiSet()
public void kill()
kill
in interface SlideSetWindow
private void setImage(int index)
index
in the list.private void setROISet(int index)
private void openROIManager()
private void onEvent(net.imagej.event.OverlayUpdatedEvent e)
private void onEvent(net.imagej.event.OverlayRestructuredEvent e)
private void onEvent(net.imagej.event.OverlayCreatedEvent e)
private void onEvent(net.imagej.event.OverlayDeletedEvent e)
private void flagOverlayChanges(org.scijava.object.event.ObjectEvent e)
changed
flagprivate void exportSVG()
private void handleError(Exception e)
Copyright © 2023. All rights reserved.