Class MipavUtil

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable

public class MipavUtil extends JComponent
A collection of static methods and frequently used and useful constants are in this utility class.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Use serialVersionUID for interoperability.
      See Also:
    • defaultMenuFont

      public static Font defaultMenuFont
      A 12 point, serif font.
    • defaultAcceleratorFont

      public static Font defaultAcceleratorFont
      A 10 point, serif font.
    • font10

      public static Font font10
      A 10 point, plain, serif font.
    • font12

      public static Font font12
      A 12 point, plain, serif font.
    • font12B

      public static Font font12B
      A 12 point, bold, serif font.
    • font12I

      public static Font font12I
      A 12 point, italic, serif font.
    • font13

      public static Font font13
      A 13 point, plain, serif font.
    • font13B

      public static Font font13B
      A 13 point, bold, serif font.
    • font13I

      public static Font font13I
      A 13 point, italic, serif font.
    • font14

      public static Font font14
      A 14 point, plain, serif font.
    • font14B

      public static Font font14B
      A 14 point, bold, serif font.
    • font14I

      public static Font font14I
      A 14 point, italic, serif font.
    • font16B

      public static Font font16B
      A 16 point, bold, serif font.
    • font18B

      public static Font font18B
      A 18 point, bold, serif font.
    • courier10

      public static Font courier10
      A 10 point, plain, courier font.
    • courier12

      public static Font courier12
      A 12 point, plain, courier font.
    • courier12B

      public static Font courier12B
      A 12 point, bold, courier font.
    • courier13

      public static Font courier13
      A 13 point, plain, courier font.
    • courier13B

      public static Font courier13B
      A 13 point, bold, courier font.
    • arial13

      public static Font arial13
      A 13 point, plain, arial font.
    • arial13B

      public static Font arial13B
      A 13 point, bold, arial font.
    • defaultCursor

      public static final Cursor defaultCursor
      Standard cursor: default.
    • crosshairCursor

      public static final Cursor crosshairCursor
      A crosshair cursor.
    • moveCursor

      public static final Cursor moveCursor
      A move cursor.
    • pointCursor

      public static final Cursor pointCursor
      Standard cursor: point (resize, NE).
    • resizeCursor

      public static final Cursor resizeCursor
      A resizing cursor.
    • handCursor

      public static final Cursor handCursor
      A hand cursor.
    • blankCursor

      public static Cursor blankCursor
      Custom cursor: no cursor.
    • magRegionCursor

      public static Cursor magRegionCursor
      Custom cursor: magnify region.
    • addPointCursor

      public static final Cursor addPointCursor
      Standard cursor: add a point (hand).
    • smallPointerCursor

      public static Cursor smallPointerCursor
      Custom cursor: small pointer.
    • probeCursor

      public static Cursor probeCursor
      DOCUMENT ME!
    • magnifyCursor

      public static Cursor magnifyCursor
      DOCUMENT ME!
    • unmagnifyCursor

      public static Cursor unmagnifyCursor
      DOCUMENT ME!
    • quickLUTcursor

      public static Cursor quickLUTcursor
      Custom cursor: quick LUT.
    • textCursor

      public static final Cursor textCursor
      Cursor for doing annotations.
    • waitCursor

      public static final Cursor waitCursor
      Standard cursor: wait.
    • wandCursor

      public static final Cursor wandCursor
      Standard cursor: wand (hand).
    • winLevelCursor

      public static Cursor winLevelCursor
      DOCUMENT ME!
    • version

      protected static String version
      The current version number, coded as a String, read and then cached by getVersion().
    • defaultButtonSize

      public static final Dimension defaultButtonSize
      The default size that all buttons should be.
    • widenButtonSize

      public static final Dimension widenButtonSize
      The horizontally widen size that all buttons should be.
    • DEFAULT_ICON_WIDTH

      public static final int DEFAULT_ICON_WIDTH
      DOCUMENT ME!
      See Also:
    • DEFAULT_ICON_HEIGHT

      public static final int DEFAULT_ICON_HEIGHT
      DOCUMENT ME!
      See Also:
    • forceQuiet

      private static boolean forceQuiet
    • functionKeys

      public static final int[] functionKeys
      DOCUMENT ME!
    • hs

      static javax.help.HelpSet hs
      Displays the Java Help dialog indexed directly to the section identified by the ID passed in.
    • helpBroker

      static javax.help.HelpBroker helpBroker
      DOCUMENT ME!
    • isEyeTrackingEnabled

      private static boolean isEyeTrackingEnabled
    • eyetrackingOutStream

      private static BufferedWriter eyetrackingOutStream
      eye tracking outstream writer .
  • Constructor Details

    • MipavUtil

      public MipavUtil()
  • Method Details

    • buildCursors

      public static void buildCursors()
      DOCUMENT ME!
    • buildDefaultFonts

      public static void buildDefaultFonts()
      This should only be called once when MIPAV starts, and then if the user changes the font options through Program Options to rebuild the fonts used in GUI building.
    • buildTitledBorder

      public static final TitledBorder buildTitledBorder(String title)
      Builds a titled border with the given title, an etched border, and the proper font and color.
      Parameters:
      title - Title of the border
      Returns:
      The titled border.
    • centerInComponent

      public static void centerInComponent(Component parentComponent, JDialog dialog)
      Sets the location of the dialog to the center of the parent component.
      Parameters:
      parentComponent - the parent component.
      dialog - the dialog which is to be displayed.
    • centerInWindow

      public static void centerInWindow(Window parentWindow, Window childWindow)
      Sets the location of the window to the center of the parent window.
      Parameters:
      parentWindow - the window where the child will be centered on.
      childWindow - the window that is to be displayed centered on the parent window
    • centerOnScreen

      public static void centerOnScreen(Window window)
      Sets the location of the window to the center of the screen.
      Parameters:
      window - Window that is to be displayed
    • convertToFileURL

      public static final String convertToFileURL(String filename) throws MalformedURLException
      Convert from a filename to a file URL.
      Parameters:
      filename - the file name to convert
      Returns:
      the url for the file in string form
      Throws:
      MalformedURLException - if there is a problem converting the file name
    • createSliderLabel

      public static final JLabel createSliderLabel(String title)
      Creates a label in the proper font and color.
      Parameters:
      title - The title of the label.
      Returns:
      The new label.
    • displayError

      public static void displayError(String error)
      Pops up a message dialog to display an error.

      Use when an operation has failed, preventing some operation critical for MIPAV to continue running normally or an operation can neither be completed nor its errors accomodated.

      Parameters:
      error - the message text of the error
      See Also:
    • displayInfo

      public static void displayInfo(String info)
      Pops up a message dialog to display information.

      Use for brief notices such as completion of an operation or where to find logging information. It is not meant to notify a user of an error in processing.

      Parameters:
      info - the information string
    • displayWarning

      public static void displayWarning(String warning)
      Pops up a message dialog to display a warning.

      Use when an operation has failed, but the can be completed but the output may display inaccuratly; ie., errors can be accomodated.

      Parameters:
      warning - the message text of the warning.
    • extractColor

      public static Color extractColor(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.

      Call with extractColor(Preferences.getProperty("OneOfThoseColors"));

      if preferencesColorString is null, or incomplete, returns black.

      Parameters:
      preferencesColorString - -- this class pre-arranges the colors to be
      Returns:
      java.awt.Color
      See Also:
    • getBoolean

      public static final boolean getBoolean(StringTokenizer st) throws TokenizerException
      Get a boolean value from a string tokenizer.
      Parameters:
      st - the tokenizer to get the boolean from
      Returns:
      true if the token equals "true" without regard to case
      Throws:
      TokenizerException - thrown if the string retrieved is not a boolean value
    • getFloat

      public static final float getFloat(StringTokenizer st) throws TokenizerException
      Get a float value from a string tokenizer.
      Parameters:
      st - the tokenizer to get the float from
      Returns:
      a float value
      Throws:
      TokenizerException - thrown if the string retrieved is not a float value
    • getDouble

      public static final double getDouble(StringTokenizer st) throws TokenizerException
      Get a double value from a string tokenizer.
      Parameters:
      st - the tokenizer to get the double from
      Returns:
      a double value
      Throws:
      TokenizerException - thrown if the string retrieved is not a double value
    • getIcon

      public static ImageIcon getIcon(String name)
      Finds the icon of the specified name. Uses the PlaceHolder class, which is in the same directory as the icons, to locate the icons.
      Parameters:
      name - name of the icon
      Returns:
      the icon
    • getForceQuiet

      public static boolean getForceQuiet()
      Returns whether all error/warning/info dialogs should be suppressed.
      Returns:
      true/false
    • getIconImage

      public static Image getIconImage(String name) throws FileNotFoundException
      Finds the image of the specified name. Uses the PlaceHolder class, which is in the same directory as the icons images, to locate the images.
      Parameters:
      name - name of the image
      Returns:
      the image
      Throws:
      FileNotFoundException - if we can't find the icon file
    • getInt

      public static final int getInt(StringTokenizer st) throws TokenizerException
      Get an integer value from a string tokenizer.
      Parameters:
      st - the tokenizer to get the integer from
      Returns:
      a ninteger value
      Throws:
      TokenizerException - thrown if the string retrieved is not an integer value
    • getVersion

      public static String getVersion()
      Gets the MIPAV Version number from the about.txt file.
      Returns:
      String version number (in string format)
    • inRange

      public static boolean inRange(float min, float max, float num, JPanelPixelExclusionSelector.RangeType rangeFlag)
      Determines if a value is within the given pixel intensity range.
      Parameters:
      min - minimum intensity.
      max - maximum intensity.
      num - value to test.
      rangeFlag - (no test, between, outside) the min and max.
      Returns:
      true if num satisfies the test.
    • loadDynamicLib

      public static void loadDynamicLib(String path, String name)
      Loads a dynamic library of the given name and path and places it in the Java temp directory.
    • makeColorString

      public static String makeColorString(Color aColor)
      Takes a java.awt.Color and forms a string representing its color. the string appears as 6 hex digits and looks like the color coding used in html files, as in: "RRGGBB".
      Parameters:
      aColor - the color to be converted to a hexidecimal
      Returns:
      hexa-decimal string representing the 8-bit values of an RGB color, in the form of "RRGGBB".
    • makeFloatString

      public static final String makeFloatString(float number, int decPts)
      Makes a string of a float with a specific number of decimal points.
      Parameters:
      number - number to be converted to a string
      decPts - the number of decimal points
      Returns:
      string representation of the number
    • makeHTMLFontString

      public static final String makeHTMLFontString(Color color, String name, int size, int style, boolean doU, String text)
      DOCUMENT ME!
      Parameters:
      color - Color
      name - String
      size - int
      style - int
      doU - boolean
      text - String
      Returns:
      String
    • makeNumericsOnly

      public static void makeNumericsOnly(JTextField txt, boolean allowFloatingPoint)
      Takes a text field and forces the text field to accept numbers, backspace and delete-key entries.
      Parameters:
      txt - Text field to modify.
      allowFloatingPoint - true will force the text field to also allow the use of the '.' key to permit entering floating point numbers.
    • makeNumericsOnly

      public static void makeNumericsOnly(JTextField txt, boolean allowFloatingPoint, boolean allowNegativeNumbers)
      Takes a txt field, and forces the textfield to accept numbers, backspace and delete-key entries. Arguments to the method can permit the text field to also allow the entry to be negative or give it a floating point decimal value. All other characters are ignored, so if further action is required, it will need to be custom-assigned by the calling object.
      Parameters:
      txt - the text field to make only accept numeric text
      allowFloatingPoint - true will forces the text field to also allow the use of the '.' key to permit entering floating point numbers
      allowNegativeNumbers - true causes textfield to allow the entry of a single minus sign ('-') in front of the text. An additional '-' removes minus sign from the field to give it the opposite sign.
    • setComponentsEnabled

      public static final void setComponentsEnabled(Container container, boolean enabled)
      DOCUMENT ME!
      Parameters:
      container - DOCUMENT ME!
      enabled - DOCUMENT ME!
    • setFonts

      public static final void setFonts(Component[] comp)
      DOCUMENT ME!
      Parameters:
      comp - DOCUMENT ME!
    • setForceQuiet

      public static final void setForceQuiet(boolean force)
      Sets whether all MIPAV error/warning/info messages should be suppressed (used to skip vm heap max size/plist warning on startup).
      Parameters:
      force - Should mipav suppress all errors
    • showWebHelp

      public static void showWebHelp(String wikiPage)
      Pops up the MIPAV help for a given wiki help page.
      Parameters:
      wikiPage - The name of the wiki help topic to open.
    • openURLInBrowser

      public static void openURLInBrowser(String URLString)
      Opens a URL in the user's default browser
      Parameters:
      URLString - The full URL of the web page to open.
    • testParameter

      public static final boolean testParameter(String str, double minValue, double maxValue)
      Tests that the entered parameter is in range.
      Parameters:
      str - the value entered by the user
      minValue - the minimum value this variable may be set to
      maxValue - the maximum value this variable may be set to
      Returns:
      boolean result of test
    • getHeapMemoryUsage

      public static MemoryUsage getHeapMemoryUsage()
      Get an object containing information on the current memory usage.
      Returns:
      Heap memory usage object.
    • getFreeHeapMemory

      public static long getFreeHeapMemory()
      Return the amount of heap memory still available.
      Returns:
      The amount of heap memory still available.
    • getMaxHeapMemory

      public static long getMaxHeapMemory()
      Return the maximum amount of heap memory that MIPAV can use.
      Returns:
      The maximum amount of heap memory available.
    • getUsedHeapMemory

      public static long getUsedHeapMemory()
      Return the amount of heap memory that MIPAV is currently using.
      Returns:
      The amount of heap memory currently being used.
    • isEyeTrackingEnabled

      public static final boolean isEyeTrackingEnabled()
      Check eye tracking is enabled or not.
      Returns:
    • setEyeTrackingEnabled

      public static final void setEyeTrackingEnabled(boolean enable, String fileDir)
      When the plug-in eye tracker record button is clicked, it re-initial the eye tracker csv file recording stream. If the stop button is clicked, stop the current csv file recording stream.
      Parameters:
      enable - enable flag
      fileDir - user selected csv file directory.
    • setEyeTrackingEnabled

      public static final void setEyeTrackingEnabled(boolean enable, String fileDir, ViewJComponentEditImage imageComp)
      When the plug-in eye tracker record button is clicked, it re-initial the eye tracker csv file recording stream. If the stop button is clicked, stop the current csv file recording stream.
      Parameters:
      enable - enable flag
      fileDir - user selected csv file directory.
    • initEyeTrackingLogfile

      private static void initEyeTrackingLogfile(String defaultDirectory, ViewJComponentEditImage imgComp)
      Initialize the file IO for eye tracking log file
    • initEyeTrackingLogfile

      private static void initEyeTrackingLogfile(String defaultDirectory)
      Initialize the file IO for eye tracking log file
    • writeEyeTrackingLog

      public static final void writeEyeTrackingLog(String msg)
      Record the eye tracking log message.
      Parameters:
      msg -
    • writeEyeTrackingLog

      public static final void writeEyeTrackingLog(String msg, ViewJComponentEditImage imgComp)
      Record the eye tracking log message.
      Parameters:
      msg -
    • closeEyeTrackingLogfile

      private static void closeEyeTrackingLogfile()
      close the eye tracking log.
    • getSVNRevisionNum

      public static final String getSVNRevisionNum(String svnRevStr)
      Get the revision number from auto populated SVN revision string.
      Parameters:
      svnRevStr - String with format $Rev: ##### $
      Returns:
      Only the revision number from the given string.
    • getSVNChangedDate

      public static final String getSVNChangedDate(String svnRevStr)
      Get the date from auto populated SVN date string.
      Parameters:
      svnRevStr - String with format resembling $Date: YYYY-MM-DD [...] $
      Returns:
      Only the revision number from the given string.
    • decodeStr

      public static final String decodeStr(String urlStr)
      Decode a URL string using UTF-8 character encoding.
      Parameters:
      urlStr - The URL string to decode.
      Returns:
      Decoded URL string or empty string if there was a decoding error.