Class JPanelVirtualEndoscopySetup
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- gov.nih.mipav.view.renderer.JPanelRendererBase
-
- gov.nih.mipav.view.renderer.J3D.JPanelRendererJ3D
-
- gov.nih.mipav.view.renderer.J3D.surfaceview.flythruview.JPanelVirtualEndoscopySetup
-
- All Implemented Interfaces:
java.awt.event.ActionListener,java.awt.event.FocusListener,java.awt.event.ItemListener,java.awt.event.KeyListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible
public class JPanelVirtualEndoscopySetup extends JPanelRendererJ3D
Control panel to set up the virtual endoscopy volume view. This panel loads the mask image and surface file. It also adjusts the endoscopy view parameters.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classJPanelVirtualEndoscopySetup.DrawingPanelWrapper in order to hold the control panel layout in the JScrollPane.-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.BoxcontentBoxBox layout for control panel.private booleancontinueUpdateFlag indicates to continue update the surface render and plane render or not.private java.lang.StringdirectoryFile name and directory.private ModelImageendoscopyImageLoaded endoscopy image file.private java.lang.StringfileNameFile name and directory.private javax.swing.JButtonflythruButtonLoadImageDOCUMENT ME!private javax.swing.JLabelflythruLabelFileNameDOCUMENT ME!private JDialogSmoothMeshkDialogSmoothSurface smooth control panel reference.private java.io.FilekFileFile to open the mask suface.private javax.swing.JPanelkPanelButtonButton panel.private booleanm_bShowMeanCurvaturesFlag indicates to show pseudo color or not.private javax.swing.JButtonm_kButtonLoadSurfaceDOCUMENT ME!private javax.swing.JCheckBoxm_kCheckBoxShowCurvaturesDOCUMENT ME!private javax.swing.JComboBoxm_kComboSegmentSurfaceBranchSamplesReductionFactorSurface sample reduction factor.private javax.swing.JCheckBoxm_kContinueUpdateDOCUMENT ME!private java.text.DecimalFormatm_kDecimalFormatUsed to create text representations of numbers.private javax.swing.JLabelm_kLabelBranchDOCUMENT ME!private javax.swing.JLabelm_kLabelDirectionDOCUMENT ME!private javax.swing.JLabelm_kLabelDistanceDOCUMENT ME!private javax.swing.JLabelm_kLabelFileNameAutomatically inserted by JBuilder Designer.private javax.swing.JLabelm_kLabelOrientationDOCUMENT ME!private javax.swing.JLabelm_kLabelPositionDOCUMENT ME!private javax.swing.JLabelm_kLabelStepGazeDOCUMENT ME!private ModelLUTm_kMeanCurvaturesLUTkMean curvature LUT.private FlythruRender.SetupOptionsm_kOptionsImage option panel.private javax.swing.JTextFieldm_kTextBranchDOCUMENT ME!private javax.swing.JTextFieldm_kTextDirectionDOCUMENT ME!private javax.swing.JTextFieldm_kTextDistanceDOCUMENT ME!private javax.swing.JTextFieldm_kTextMaxNumBranchesmaximum number of branches created for the endoscopy view.private javax.swing.JTextFieldm_kTextMinBranchLengthminimum branch length.private javax.swing.JTextFieldm_kTextOrientationDOCUMENT ME!private javax.swing.JTextFieldm_kTextPercentBSplineNumControlPointsBSpline control points fraction of branch samples.private javax.swing.JTextFieldm_kTextPositionDOCUMENT ME!private javax.swing.JTextFieldm_kTextStepGazeDOCUMENT ME!private ModelTriangleMeshm_kTriangleMeshKeep a copy of the loaded triangle mesh and any other properties associated with the surface.private FlythruRenderm_kViewApplet that is associated with the controls in this frame.private ViewJFrameVolumeViewparentFrameKeep a reference to the ViewJFrameVolumeView.private javax.swing.JScrollPanescrollerScroll pane.private JPanelVirtualEndoscopySetup.DrawingPanelscrollPanelScroll panel that holding all the control components.private static longserialVersionUIDUse serialVersionUID for interoperability.private java.lang.StringsurfaceDirLoaded mask surface image directory.private javax.swing.JButtonupdateButtoncontinue update button.-
Fields inherited from class gov.nih.mipav.view.renderer.J3D.JPanelRendererJ3D
rayBasedRender, renderBase
-
Fields inherited from class gov.nih.mipav.view.renderer.JPanelRendererBase
applyButton, cancelButton, cancelFlag, closeButton, helpButton, isActiveImage, mainPanel, NEW, OKButton, REPLACE, runInSeparateThread, serif12, serif12B
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description JPanelVirtualEndoscopySetup(FlythruRender _kView)Used primarily for the script to store variables and run the algorithm.JPanelVirtualEndoscopySetup(FlythruRender _kView, ViewJFrameVolumeView _parentFrame)Creates endoscopy registration control panel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent event)Closes dialog box when the OK button is pressed, sets up the variables needed for running the algorithm, and calls the algorithm.voiddispose(boolean flag)Dispose memory.javax.swing.JPanelgetMainPanel()Return the main control panel.private voidinit()Initializes the GUI components and displays the control panel.private voidloadingImage()Method to load the mask image.private voidloadingSurface()Mask to load the surface image.(package private) voidm_kCheckBoxShowCurvatures_actionPerformed(java.awt.event.ActionEvent e)Show the psesudo color.(package private) voidm_kContinueUpdate_actionPerformed(java.awt.event.ActionEvent e)Continue update the surface render and the plane render.voidresizePanel(int panelWidth, int frameHeight)Resize the control panel with ViewJFrameVolumeView's frame width and height.protected voidsetBranchInfo(int iBranch, boolean bPathMoveForward)Update the display to show the current branch and path direction (forward or reverse) for moving along the length of the path.voidsetColor(java.awt.Color _color)When the surface panel change the surface color, endoscopy view changes the color accordingly.protected voidsetPathDistance(float fDist, float fTotalDist)Update the display to show the current distance along the length of the path.protected voidsetPathPosition(javax.vecmath.Point3f kPosition)Update the display to show the coordinates of the current position along the path.protected voidsetStepGazeDist(float fStepDist, float fGazeDist)Update the display to show the current gaze distance for looking ahead down the path.private booleansetVariables()Sets up the variables needed for the algorithm from the GUI components.protected voidsetViewDirection(javax.vecmath.Vector3f kVector)Update the display to show the current base viewing direction at the current point along the path.protected voidsetViewOrientation(javax.vecmath.Matrix3f kMatrix)Update the display to show the current viewing orientation which is always relative to the base viewing direction.protected booleantestParameterMin(java.lang.String str, double minValue)Tests that the entered parameter is larger than the specified value.voidupdateOrientation(FlyPathBehavior kFlyPathBehavior)Update the appropriate controls based on the current settings of the orientation-based information in the FlyPathBehavior instance.voidupdatePosition(FlyPathBehavior kFlyPathBehavior)Update the appropriate controls based on the current settings of the position-based information in the FlyPathBehavior instance.-
Methods inherited from class gov.nih.mipav.view.renderer.J3D.JPanelRendererJ3D
disposeLocal, getSurfaceRender, setRayBasedRender, setSurfaceRender
-
Methods inherited from class gov.nih.mipav.view.renderer.JPanelRendererBase
buildApplyButton, buildCancelButton, buildCloseButton, buildHelpButton, buildOKButton, buildTitledBorder, finalize, focusGained, focusLost, isCancelled, itemStateChanged, keyPressed, keyReleased, keyTyped, makeString, setLeftHandSystem, setVisible, setVisibleStandard, setWCSystem, testParameter
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
contentBox
private javax.swing.Box contentBox
Box layout for control panel.
-
continueUpdate
private boolean continueUpdate
Flag indicates to continue update the surface render and plane render or not.
-
endoscopyImage
private ModelImage endoscopyImage
Loaded endoscopy image file.
-
fileName
private java.lang.String fileName
File name and directory.
-
directory
private java.lang.String directory
File name and directory.
-
flythruButtonLoadImage
private javax.swing.JButton flythruButtonLoadImage
DOCUMENT ME!
-
flythruLabelFileName
private javax.swing.JLabel flythruLabelFileName
DOCUMENT ME!
-
kDialogSmooth
private JDialogSmoothMesh kDialogSmooth
Surface smooth control panel reference.
-
kFile
private java.io.File kFile
File to open the mask suface.
-
kPanelButton
private javax.swing.JPanel kPanelButton
Button panel.
-
m_bShowMeanCurvatures
private boolean m_bShowMeanCurvatures
Flag indicates to show pseudo color or not.
-
m_kButtonLoadSurface
private javax.swing.JButton m_kButtonLoadSurface
DOCUMENT ME!
-
m_kCheckBoxShowCurvatures
private javax.swing.JCheckBox m_kCheckBoxShowCurvatures
DOCUMENT ME!
-
m_kComboSegmentSurfaceBranchSamplesReductionFactor
private javax.swing.JComboBox m_kComboSegmentSurfaceBranchSamplesReductionFactor
Surface sample reduction factor.
-
m_kContinueUpdate
private javax.swing.JCheckBox m_kContinueUpdate
DOCUMENT ME!
-
m_kDecimalFormat
private final java.text.DecimalFormat m_kDecimalFormat
Used to create text representations of numbers.
-
m_kLabelBranch
private javax.swing.JLabel m_kLabelBranch
DOCUMENT ME!
-
m_kLabelDirection
private javax.swing.JLabel m_kLabelDirection
DOCUMENT ME!
-
m_kLabelDistance
private javax.swing.JLabel m_kLabelDistance
DOCUMENT ME!
-
m_kLabelFileName
private javax.swing.JLabel m_kLabelFileName
Automatically inserted by JBuilder Designer.
-
m_kLabelOrientation
private javax.swing.JLabel m_kLabelOrientation
DOCUMENT ME!
-
m_kLabelPosition
private javax.swing.JLabel m_kLabelPosition
DOCUMENT ME!
-
m_kLabelStepGaze
private javax.swing.JLabel m_kLabelStepGaze
DOCUMENT ME!
-
m_kMeanCurvaturesLUT
private ModelLUT m_kMeanCurvaturesLUT
kMean curvature LUT. Pseudo color look up table.
-
m_kOptions
private FlythruRender.SetupOptions m_kOptions
Image option panel.
-
m_kTextBranch
private javax.swing.JTextField m_kTextBranch
DOCUMENT ME!
-
m_kTextDirection
private javax.swing.JTextField m_kTextDirection
DOCUMENT ME!
-
m_kTextDistance
private javax.swing.JTextField m_kTextDistance
DOCUMENT ME!
-
m_kTextMaxNumBranches
private javax.swing.JTextField m_kTextMaxNumBranches
maximum number of branches created for the endoscopy view.
-
m_kTextMinBranchLength
private javax.swing.JTextField m_kTextMinBranchLength
minimum branch length.
-
m_kTextOrientation
private javax.swing.JTextField m_kTextOrientation
DOCUMENT ME!
-
m_kTextPercentBSplineNumControlPoints
private javax.swing.JTextField m_kTextPercentBSplineNumControlPoints
BSpline control points fraction of branch samples.
-
m_kTextPosition
private javax.swing.JTextField m_kTextPosition
DOCUMENT ME!
-
m_kTextStepGaze
private javax.swing.JTextField m_kTextStepGaze
DOCUMENT ME!
-
m_kTriangleMesh
private ModelTriangleMesh m_kTriangleMesh
Keep a copy of the loaded triangle mesh and any other properties associated with the surface.
-
m_kView
private final FlythruRender m_kView
Applet that is associated with the controls in this frame.
-
parentFrame
private ViewJFrameVolumeView parentFrame
Keep a reference to the ViewJFrameVolumeView.
-
scroller
private javax.swing.JScrollPane scroller
Scroll pane.
-
scrollPanel
private JPanelVirtualEndoscopySetup.DrawingPanel scrollPanel
Scroll panel that holding all the control components.
-
surfaceDir
private java.lang.String surfaceDir
Loaded mask surface image directory.
-
updateButton
private javax.swing.JButton updateButton
continue update button.
-
-
Constructor Detail
-
JPanelVirtualEndoscopySetup
public JPanelVirtualEndoscopySetup(FlythruRender _kView)
Used primarily for the script to store variables and run the algorithm. No actual dialog will appear but the set up info and result image will be stored here. This method is not used for now.- Parameters:
_kView- parent frame reference.
-
JPanelVirtualEndoscopySetup
public JPanelVirtualEndoscopySetup(FlythruRender _kView, ViewJFrameVolumeView _parentFrame)
Creates endoscopy registration control panel.- Parameters:
_kView- FlythruRender refrence._parentFrame- ViewJFrameVolumeView parent frame reference.
-
-
Method Detail
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent event)
Closes dialog box when the OK button is pressed, sets up the variables needed for running the algorithm, and calls the algorithm.- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener- Specified by:
actionPerformedin classJPanelRendererBase- Parameters:
event- Event that triggers function
-
dispose
public void dispose(boolean flag)
Dispose memory.- Parameters:
flag- dispose super or not.
-
getMainPanel
public javax.swing.JPanel getMainPanel()
Return the main control panel.- Specified by:
getMainPanelin classJPanelRendererBase- Returns:
- JPanel the main control panel
-
resizePanel
public void resizePanel(int panelWidth, int frameHeight)Resize the control panel with ViewJFrameVolumeView's frame width and height.- Overrides:
resizePanelin classJPanelRendererBase- Parameters:
panelWidth- control panel widthframeHeight- control panel height
-
setColor
public void setColor(java.awt.Color _color)
When the surface panel change the surface color, endoscopy view changes the color accordingly.- Parameters:
_color- Color
-
updateOrientation
public void updateOrientation(FlyPathBehavior kFlyPathBehavior)
Update the appropriate controls based on the current settings of the orientation-based information in the FlyPathBehavior instance.- Parameters:
kFlyPathBehavior- FlyPathBehavior Instance which contains the current state of orientation along the branches.
-
updatePosition
public void updatePosition(FlyPathBehavior kFlyPathBehavior)
Update the appropriate controls based on the current settings of the position-based information in the FlyPathBehavior instance.- Parameters:
kFlyPathBehavior- FlyPathBehavior Instance which contains the current state of position along the branches.
-
setBranchInfo
protected void setBranchInfo(int iBranch, boolean bPathMoveForward)Update the display to show the current branch and path direction (forward or reverse) for moving along the length of the path.- Parameters:
iBranch- index which identifies the branch currently onbPathMoveForward- flag set if moving forward, as opposed to in reverse, along the length of the path.
-
setPathDistance
protected void setPathDistance(float fDist, float fTotalDist)Update the display to show the current distance along the length of the path.- Parameters:
fDist- distance along the path from the startfTotalDist- total distance along the path from start to end
-
setPathPosition
protected void setPathPosition(javax.vecmath.Point3f kPosition)
Update the display to show the coordinates of the current position along the path.- Parameters:
kPosition- 3D coordinates of current position
-
setStepGazeDist
protected void setStepGazeDist(float fStepDist, float fGazeDist)Update the display to show the current gaze distance for looking ahead down the path.- Parameters:
fStepDist- magnitude is the distance increment along the path for moving; sign is the direction of moving along the path from one end to the other or vice versa.fGazeDist- distance ahead for looking down the path.
-
setViewDirection
protected void setViewDirection(javax.vecmath.Vector3f kVector)
Update the display to show the current base viewing direction at the current point along the path.- Parameters:
kVector- normalized direciton vector
-
setViewOrientation
protected void setViewOrientation(javax.vecmath.Matrix3f kMatrix)
Update the display to show the current viewing orientation which is always relative to the base viewing direction.- Parameters:
kMatrix- 3x3 matrix containing orientation transform
-
testParameterMin
protected boolean testParameterMin(java.lang.String str, double minValue)Tests that the entered parameter is larger than the specified value.- Parameters:
str- The value entered by the user.minValue- The minimum value this variable may be set to.- Returns:
trueif parameters passed range test,falseif failed.
-
m_kCheckBoxShowCurvatures_actionPerformed
void m_kCheckBoxShowCurvatures_actionPerformed(java.awt.event.ActionEvent e)
Show the psesudo color.- Parameters:
e- ActionEvent
-
m_kContinueUpdate_actionPerformed
void m_kContinueUpdate_actionPerformed(java.awt.event.ActionEvent e)
Continue update the surface render and the plane render.- Parameters:
e- ActionEvent
-
init
private void init()
Initializes the GUI components and displays the control panel.
-
loadingImage
private void loadingImage()
Method to load the mask image.
-
loadingSurface
private void loadingSurface()
Mask to load the surface image.
-
setVariables
private boolean setVariables()
Sets up the variables needed for the algorithm from the GUI components.- Returns:
- Flag indicating if the setup was successful.
-
-