Module ij
Package ij.util

# Class Tools

java.lang.Object
ij.util.Tools

public class Tools extends Object
This class contains static utility methods.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final char[]`
`hexDigits`
This array contains the 16 hex digits '0'-'F'.

## Constructor Summary

Constructors
Constructor
Description
`Tools()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`addToArray(float[] a, float value)`
Adds a number to all array elements
`static String`
`c2hex(Color c)`
Converts a Color to an 7 byte hex string starting with '#'.
`static String`
`copyFile(String path1, String path2)`
Copies the contents of the file at 'path1' to 'path2', returning an error message (as a non-empty string) if there is an error.
`static String`
`decodeEscaped(String str, char delim)`
Decodes backslash-escaped characters from the String until the character 'delim' is found.
`static String`
`f2hex(float f)`
Converts a float to an 9 byte hex string starting with '#'.
`static String`
`fixNewLines(String s)`
Converts carriage returns to line feeds.
`static int`
`getDecimalPlaces(double n)`
Returns the number of decimal places needed to display a number, or -2 if exponential notation should be used.
`static int`
`getDecimalPlaces(double n1, double n2)`
Returns the number of decimal places needed to display two numbers, or -2 if exponential notation should be used.
`static String`
`getHash(String method, boolean fromFile, String pathOrString)`
Returns the checksum of a string or file, or "0" if no success.
`static double[]`
`getMinMax(double[] a)`
Determines the minimum and maximum value in the array `a` and returns them as 2-element array {minimum, maximum}.
`static double[]`
`getMinMax(float[] a)`
Determines the minimum and maximum value in the array `a` and returns them as 2-element array {minimum, maximum}.
`static double`
`getNumberFromList(String list, String key)`
Retrieves a number form a list of key-number pairs like "value1=1234.5 area=1.2e6".
`static double`
`getNumberFromList(String list, String key, double defaultValue)`
`static ImageStatistics`
`getStatistics(double[] a)`
`static String`
`getStringFromList(String list, String key)`
Retrieves a String form a list of key-number pairs like "value1="abc" str='the Text'".
`static String`
`getStringFromList(String list, String key, String defaultValue)`
`static String`
`int2hex(int i, int digits)`
Converts an int to a zero-padded hex string of fixed length 'digits'.
`static String`
`openFromIJJarAsString(String path)`
Opens a text file in ij.jar as a String (example path: "/macros/Circle_Tool.txt").
`static double`
`parseDouble(String s)`
Returns a double containg the value represented by the specified `String`.
`static double`
`parseDouble(String s, double defaultValue)`
Returns a double containg the value represented by the specified `String`.
`static int[]`
`rank(double[] values)`
Returns a sorted list of indices of the specified double array.
`static int[]`
`rank(String[] data)`
Returns a sorted list of indices of the specified String array.
`static double[]`
`resampleArray(double[] y1, int len2)`
Returns an array linearly resampled to a different length.
`static String[]`
`split(String str)`
Splits a string into substrings using the default delimiter set, which is " \t\n\r" (space, tab, newline and carriage-return).
`static String[]`
`split(String str, String delim)`
Splits a string into substring using the characters contained in the second argument as the delimiter set.
`static double[]`
`toDouble(float[] a)`
Converts the float array 'a' to a double array.
`static float[]`
`toFloat(double[] a)`
Converts the double array 'a' to a float array.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### hexDigits

public static final char[] hexDigits
This array contains the 16 hex digits '0'-'F'.

## Constructor Details

### Tools

public Tools()

## Method Details

### c2hex

public static String c2hex(Color c)
Converts a Color to an 7 byte hex string starting with '#'.

### f2hex

public static String f2hex(float f)
Converts a float to an 9 byte hex string starting with '#'.

### int2hex

public static String int2hex(int i, int digits)
Converts an int to a zero-padded hex string of fixed length 'digits'. If the number is too high, it gets truncated, keeping only the lowest 'digits' characters.

### getStatistics

public static ImageStatistics getStatistics(double[] a)

### getMinMax

public static double[] getMinMax(double[] a)
Determines the minimum and maximum value in the array `a` and returns them as 2-element array {minimum, maximum}.

### getMinMax

public static double[] getMinMax(float[] a)
Determines the minimum and maximum value in the array `a` and returns them as 2-element array {minimum, maximum}.

### toDouble

public static double[] toDouble(float[] a)
Converts the float array 'a' to a double array.

### toFloat

public static float[] toFloat(double[] a)
Converts the double array 'a' to a float array.

### addToArray

public static void addToArray(float[] a, float value)
Adds a number to all array elements

### fixNewLines

public static String fixNewLines(String s)
Converts carriage returns to line feeds.

### parseDouble

public static double parseDouble(String s, double defaultValue)
Returns a double containg the value represented by the specified `String`.

Parameters:
  `s` - the string to be parsed.
  `defaultValue` - the value returned if `s` does not contain a parsable double
Returns:
  The double value represented by the string argument or `defaultValue` if the string does not contain a parsable double

### parseDouble

public static double parseDouble(String s)
Returns a double containg the value represented by the specified `String`.

Parameters:
  `s` - the string to be parsed.
Returns:
  The double value represented by the string argument or Double.NaN if the string does not contain a parsable double

### getDecimalPlaces

public static int getDecimalPlaces(double n)
Returns the number of decimal places needed to display a number, or -2 if exponential notation should be used.

### getDecimalPlaces

public static int getDecimalPlaces(double n1, double n2)
Returns the number of decimal places needed to display two numbers, or -2 if exponential notation should be used.

### split

public static String[] split(String str)
Splits a string into substrings using the default delimiter set, which is " \t\n\r" (space, tab, newline and carriage-return).

### split

public static String[] split(String str, String delim)
Splits a string into substring using the characters contained in the second argument as the delimiter set.

### rank

public static int[] rank(double[] values)
Returns a sorted list of indices of the specified double array. Modified from: http://stackoverflow.com/questions/951848 by N.Vischer.

### rank

public static int[] rank(String[] data)
Returns a sorted list of indices of the specified String array.

### resampleArray

public static double[] resampleArray(double[] y1, int len2)
Returns an array linearly resampled to a different length.

### openFromIJJarAsString

public static String openFromIJJarAsString(String path)
Opens a text file in ij.jar as a String (example path: "/macros/Circle_Tool.txt").

### copyFile

public static String copyFile(String path1, String path2)
Copies the contents of the file at 'path1' to 'path2', returning an error message (as a non-empty string) if there is an error. Based on the method with the same name in Tobias Pietzsch's TifBenchmark class.

### getNumberFromList

public static double getNumberFromList(String list, String key)
Retrieves a number form a list of key-number pairs like "value1=1234.5 area=1.2e6". The "=" (if present) must be part of the 'key' string. Delimiters may be commas, semicolons or whitespace. There must be no whitespace between key and number. Returns Double.NaN if 'list' is null, if the key is not found, if the number is 'NaN' or invalid.

### getNumberFromList

public static double getNumberFromList(String list, String key, double defaultValue)

### getStringFromList

public static String getStringFromList(String list, String key)
Retrieves a String form a list of key-number pairs like "value1="abc" str='the Text'". The "=" (if present) must be part of the 'key' string. Strings containing commas, semicolons or whitespace must be enclosed in single or double quotes. There must be no whitespace between key and quotes or key and unquoted String. Strings must not contain a key. In case of doubt, e.g., replace the '=' with '\=' Escape sequences with backslashes are recognized, also backslash-u???? for unicode. Returns null if 'list' is null or if the key is not found

### getStringFromList

public static String getStringFromList(String list, String key, String defaultValue)

### decodeEscaped

public static String decodeEscaped(String str, char delim)
Decodes backslash-escaped characters from the String until the character 'delim' is found. With 'delim'=-1, does not search for a delimiter, with 'delim'=(char)-2, (unescaped) whitespace, commas and semicolons are interpreted as delimiters. Also decodes unicode backslash-u???? characters

### getHash

public static String getHash(String method, boolean fromFile, String pathOrString)
Returns the checksum of a string or file, or "0" if no success. The 'method' argument must be "MD5" or "SHA-256".