public class RoiEditorIJ1 extends JFrame implements ActionListener, ij.gui.RoiListener, 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 boolean |
changed
Changed flag
|
private JButton |
changeLevels |
private int |
curImage
Current image index
|
private int |
curImageSet
Current image set index
|
private int |
curRoiSet
Current ROI set index
|
private JButton |
displayMode |
private DataTypeIDService |
dtid |
private JButton |
exportSVG |
private JButton |
goImageBack |
private JButton |
goImageNext |
private net.imagej.ImageJ |
ij |
private JComboBox |
imageList |
private ArrayList<ColumnBoundReader<? extends DataElement,ij.gui.ImageWindow>> |
imageReaders |
private JComboBox |
imageSetList |
private ArrayList<String> |
imageSetNames
Names of the image sets
|
private ij.gui.ImageWindow |
imageWindow
The image display
|
private boolean |
loadingImage
Busy loading an image flag
|
private boolean |
locked
Read-only mode flag
|
private SlideSetLog |
log
The log
|
private ij.plugin.frame.RoiManager |
roiManager
The ROI manager
|
private ArrayList<ColumnBoundReader<? extends DataElement,ij.gui.Roi[]>> |
roiReaders |
private JComboBox |
roiSetList |
private ArrayList<String> |
roiSetNames
Names of the ROI sets
|
private ArrayList<ij.gui.Roi[][]> |
roiSets
ROI sets
AbstractOverlay[image#][Roi#] |
private ArrayList<ColumnBoundWriter<? extends DataElement,ij.gui.Roi[]>> |
roiWriters |
private JButton |
saveChanges |
private SlideSet |
slideSet |
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
COMPLETED, CREATED, DELETED, EXTENDED, MODIFIED, MOVED
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
RoiEditorIJ1(SlideSet slideSet,
DataTypeIDService dtid,
net.imagej.ImageJ ij,
SlideSetLog log) |
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(ActionEvent e)
Action handler
|
private void |
attachKillListener(Window w)
Attach a listener to a
Window , so that when the
Window closes, the ROI Editor will close as well. |
private void |
buildLayout()
Build the window
|
private void |
changeColorMode()
Open the IJ1 channels tool.
|
private void |
changeLevels()
Open the IJ1 Contrast Adjuster.
|
private void |
createRoiSet()
Create a new set of ROIs and add it as a new column in the data table.
|
private void |
drawRois()
Draw ROIs on the image.
|
private void |
exportSVG()
Export and SVG file with the current image and ROIs.
|
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[] |
getImageSetNames()
Get the names of available image sets 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)
Handle an exception
|
void |
kill()
Clean up and close the editor
|
private void |
loadImage(int imageIndex)
Load and display the selected image.
|
private void |
loadImageData()
Load the index of images
|
private void |
loadRois()
Load the ROI data
|
void |
lock()
Activate read-only mode and prevent changes to ROIs
|
private void |
openROIManager()
Open the IJ1 ROI Manager and line it up below the ROI Editor pane.
|
private void |
revertRois()
With user confirmation, revert overlays to last saved version.
|
private ij.plugin.frame.RoiManager |
roiManager()
Get the ROI manager
|
void |
roiModified(ij.ImagePlus imp,
int code)
Automatically add ROIs to the ROI manager.
|
private void |
saveRois()
Save ROIs from the ROI manager (to memory, not to disk).
|
private void |
setActionListeners()
Set action listeners for the controls
|
private void |
setImage(int i)
Open the indexed image, with wrap-around correction
for out of range indeces.
|
private void |
setImageSet(int i)
Open the currently-selected image from the indexed image set.
|
private void |
setRoiSet(int i)
Load the indexed ROI set into the display.
|
void |
showAndWait()
Run the ROI editor.
|
private void |
updateControls()
Update the state of the controls
|
private void |
writeRois()
Save all the ROIs 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 ArrayList<ColumnBoundReader<? extends DataElement,ij.gui.ImageWindow>> imageReaders
private ArrayList<ColumnBoundReader<? extends DataElement,ij.gui.Roi[]>> roiReaders
private ArrayList<ColumnBoundWriter<? extends DataElement,ij.gui.Roi[]>> roiWriters
private ArrayList<ij.gui.Roi[][]> roiSets
AbstractOverlay[image#][Roi#]
private int curImageSet
private int curRoiSet
private int curImage
private JComboBox imageSetList
private JComboBox roiSetList
private JButton addRoiSet
private JButton displayMode
private JButton changeLevels
private JButton exportSVG
private JComboBox imageList
private JButton goImageNext
private JButton goImageBack
private JButton saveChanges
private JButton undoChanges
private ij.gui.ImageWindow imageWindow
private ij.plugin.frame.RoiManager roiManager
private boolean active
private boolean loadingImage
private SlideSetLog log
private boolean locked
private boolean changed
public RoiEditorIJ1(SlideSet slideSet, DataTypeIDService dtid, net.imagej.ImageJ ij, SlideSetLog log)
public void showAndWait()
public void actionPerformed(ActionEvent e)
actionPerformed
in interface ActionListener
public void lock()
public void kill()
kill
in interface SlideSetWindow
public void roiModified(ij.ImagePlus imp, int code)
COMPLETED
event:
-- RoiI might find a way to fix this at some point.
roiModified
in interface ij.gui.RoiListener
private void buildLayout()
private void setActionListeners()
private void handleActionEvent(ActionEvent e)
ActionEvent
private void loadImageData() throws SlideSetException
SlideSetException
private void loadRois() throws SlideSetException
SlideSetException
private void loadImage(int imageIndex)
private void setImage(int i)
i
- The index of the image to loadprivate void setImageSet(int i)
i
- The index of the image set from which images will be openedprivate ij.plugin.frame.RoiManager roiManager()
private void drawRois()
private void saveRois()
private void writeRois()
private void setRoiSet(int i)
i
- Index of the ROI set to displayprivate void createRoiSet()
private void revertRois()
private void exportSVG()
private void updateControls()
private void openROIManager()
private void changeLevels()
private void changeColorMode()
private String[] getRoiSetNames()
DefaultComboBoxModel
.private String[] getImageSetNames()
DefaultComboBoxModel
.private String[] getImageNames()
DefaultComboBoxModel
.private void attachKillListener(Window w)
Window
, so that when the
Window
closes, the ROI Editor will close as well.w
- The Window
to watchprivate void handleError(Exception e)
Copyright © 2023. All rights reserved.