public final class DataTools extends Object
| Modifier and Type | Method and Description |
|---|---|
static byte[] |
allocate(int... sizes)
Allocates a 1-dimensional byte array matching the product of the given
sizes.
|
static double |
bytesToDouble(byte[] bytes,
boolean little)
Translates up to the first 8 bytes of a byte array to a double.
|
static double |
bytesToDouble(byte[] bytes,
int off,
boolean little)
Translates up to the first 8 bytes of a byte array beyond the given
offset to a double.
|
static double |
bytesToDouble(byte[] bytes,
int off,
int len,
boolean little)
Translates up to the first len bytes of a byte array beyond the given
offset to a double.
|
static double |
bytesToDouble(short[] bytes,
boolean little)
Translates up to the first 8 bytes of a byte array to a double.
|
static double |
bytesToDouble(short[] bytes,
int off,
boolean little)
Translates up to the first 8 bytes of a byte array beyond the given
offset to a double.
|
static double |
bytesToDouble(short[] bytes,
int off,
int len,
boolean little)
Translates up to the first len bytes of a byte array beyond the given
offset to a double.
|
static float |
bytesToFloat(byte[] bytes,
boolean little)
Translates up to the first 4 bytes of a byte array to a float.
|
static float |
bytesToFloat(byte[] bytes,
int off,
boolean little)
Translates up to the first 4 bytes of a byte array beyond a given
offset to a float.
|
static float |
bytesToFloat(byte[] bytes,
int off,
int len,
boolean little)
Translates up to the first len bytes of a byte array beyond the given
offset to a float.
|
static float |
bytesToFloat(short[] bytes,
boolean little)
Translates up to the first 4 bytes of a byte array to a float.
|
static float |
bytesToFloat(short[] bytes,
int off,
boolean little)
Translates up to the first 4 bytes of a byte array beyond a given
offset to a float.
|
static float |
bytesToFloat(short[] bytes,
int off,
int len,
boolean little)
Translates up to the first len bytes of a byte array beyond a given
offset to a float.
|
static String |
bytesToHex(byte[] b)
Translates the given byte array into a String of hexadecimal digits.
|
static int |
bytesToInt(byte[] bytes,
boolean little)
Translates up to the first 4 bytes of a byte array to an int.
|
static int |
bytesToInt(byte[] bytes,
int off,
boolean little)
Translates up to the first 4 bytes of a byte array beyond the given
offset to an int.
|
static int |
bytesToInt(byte[] bytes,
int off,
int len,
boolean little)
Translates up to the first len bytes of a byte array beyond the given
offset to an int.
|
static int |
bytesToInt(short[] bytes,
boolean little)
Translates up to the first 4 bytes of a byte array to an int.
|
static int |
bytesToInt(short[] bytes,
int off,
boolean little)
Translates up to the first 4 bytes of a byte array beyond the given
offset to an int.
|
static int |
bytesToInt(short[] bytes,
int off,
int len,
boolean little)
Translates up to the first len bytes of a byte array beyond the given
offset to an int.
|
static long |
bytesToLong(byte[] bytes,
boolean little)
Translates up to the first 8 bytes of a byte array to a long.
|
static long |
bytesToLong(byte[] bytes,
int off,
boolean little)
Translates up to the first 8 bytes of a byte array beyond the given
offset to a long.
|
static long |
bytesToLong(byte[] bytes,
int off,
int len,
boolean little)
Translates up to the first len bytes of a byte array beyond the given
offset to a long.
|
static long |
bytesToLong(short[] bytes,
boolean little)
Translates up to the first 8 bytes of a byte array to a long.
|
static long |
bytesToLong(short[] bytes,
int off,
boolean little)
Translates up to the first 8 bytes of a byte array beyond the given
offset to a long.
|
static long |
bytesToLong(short[] bytes,
int off,
int len,
boolean little)
Translates up to the first len bytes of a byte array beyond the given
offset to a long.
|
static short |
bytesToShort(byte[] bytes,
boolean little)
Translates up to the first 2 bytes of a byte array to a short.
|
static short |
bytesToShort(byte[] bytes,
int off,
boolean little)
Translates up to the first 2 bytes of a byte array beyond the given
offset to a short.
|
static short |
bytesToShort(byte[] bytes,
int off,
int len,
boolean little)
Translates up to the first len bytes of a byte array beyond the given
offset to a short.
|
static short |
bytesToShort(short[] bytes,
boolean little)
Translates up to the first 2 bytes of a byte array to a short.
|
static short |
bytesToShort(short[] bytes,
int off,
boolean little)
Translates up to the first 2 bytes of a byte array byond the given
offset to a short.
|
static short |
bytesToShort(short[] bytes,
int off,
int len,
boolean little)
Translates up to the first len bytes of a byte array byond the given
offset to a short.
|
static boolean |
containsValue(int[] array,
int value)
Returns true if the given value is contained in the given array.
|
static byte[] |
doublesToBytes(double[] values,
boolean little)
Translates an array of double values into an array of byte values.
|
static byte[] |
doubleToBytes(double value,
boolean little)
Translates the double value into an array of eight bytes.
|
static byte[] |
floatsToBytes(float[] values,
boolean little)
Translates an array of float values into an array of byte values.
|
static byte[] |
floatToBytes(float value,
boolean little)
Translates the float value into an array of four bytes.
|
static int |
indexOf(int[] array,
int value)
Returns the index of the first occurrence of the given value in the given
array.
|
static int |
indexOf(Object[] array,
Object value)
Returns the index of the first occurrence of the given value in the given
Object array.
|
static byte[] |
intsToBytes(int[] values,
boolean little)
Translates an array of int values into an array of byte values.
|
static byte[] |
intToBytes(int value,
boolean little)
Translates the int value into an array of four bytes.
|
static byte[] |
longsToBytes(long[] values,
boolean little)
Translates an array of long values into an array of byte values.
|
static byte[] |
longToBytes(long value,
boolean little)
Translates the long value into an array of eight bytes.
|
static Object |
makeDataArray(byte[] b,
int bpp,
boolean fp,
boolean little)
Convert a byte array to the appropriate 1D primitive type array.
|
static Object |
makeDataArray2D(byte[] b,
int bpp,
boolean fp,
boolean little,
int height)
Convert a byte array to the appropriate 2D primitive type array.
|
static byte[] |
makeSigned(byte[] b) |
static int[] |
makeSigned(int[] i) |
static short[] |
makeSigned(short[] s) |
static double[] |
normalizeDoubles(double[] data)
Normalize the given double array so that the minimum value maps to 0.0
and the maximum value maps to 1.0.
|
static float[] |
normalizeFloats(float[] data)
Normalize the given float array so that the minimum value maps to 0.0
and the maximum value maps to 1.0.
|
static Byte |
parseByte(String value)
Parses the input string into a byte
|
static Double |
parseDouble(String value)
Parses the input string into a double accounting for the locale decimal
separator
|
static Float |
parseFloat(String value)
Parses the input string into a float accounting for the locale decimal
separator
|
static Integer |
parseInteger(String value)
Parses the input string into an integer
|
static Long |
parseLong(String value)
Parses the input string into a long
|
static Short |
parseShort(String value)
Parses the input string into a short
|
static String |
readFile(String id)
Reads the contents of the given file into a string.
|
static int |
safeMultiply32(int... sizes)
Checks that the product of the given sizes does not exceed the 32-bit
integer limit (i.e.,
Integer.MAX_VALUE). |
static long |
safeMultiply64(long... sizes)
Checks that the product of the given sizes does not exceed the 64-bit
integer limit (i.e.,
Long.MAX_VALUE). |
static boolean |
samePrefix(String s1,
String s2)
Check if two filenames have the same prefix.
|
static String |
sanitize(String s)
Remove unprintable characters from the given string.
|
static String |
sanitizeDouble(String value)
Deprecated.
Use
parseDouble(String) instead |
static byte[] |
shortsToBytes(short[] values,
boolean little)
Translates an array of short values into an array of byte values.
|
static byte[] |
shortToBytes(short value,
boolean little)
Translates the short value into an array of two bytes.
|
static String |
stripString(String toStrip)
Remove null bytes from a string.
|
static char |
swap(char x)
Reverse the order of bytes in the given char.
|
static double |
swap(double x)
Reverse the order of bytes in the given double.
|
static float |
swap(float x)
Reverse the order of bytes in the given float.
|
static int |
swap(int x)
Reverse the order of bytes in the given int.
|
static long |
swap(long x)
Reverse the order of bytes in the given long.
|
static short |
swap(short x)
Reverse the order of bytes in the given short.
|
static void |
unpackBytes(long value,
byte[] buf,
int ndx,
int nBytes,
boolean little)
Translates nBytes of the given long and places the result in the
given byte array.
|
public static String readFile(String id) throws IOException
id - name of the file to read
this can be any name supported by Location,
not necessarily a file on diskIOException - if the file cannot be read or is larger than 2GBLocation.getMappedId(String)public static short bytesToShort(byte[] bytes,
int off,
int len,
boolean little)
bytes - array of bytes to use for translationoff - offset to the first byte in the arraylen - number of bytes to uselittle - true if the bytes are provided in little-endian orderpublic static short bytesToShort(byte[] bytes,
int off,
boolean little)
bytes - array of bytes to use for translationoff - offset to the first byte in the arraylittle - true if the bytes are provided in little-endian orderpublic static short bytesToShort(byte[] bytes,
boolean little)
bytes - array of bytes to use for translationlittle - true if the bytes are provided in little-endian orderpublic static short bytesToShort(short[] bytes,
int off,
int len,
boolean little)
bytes - array of unsigned bytes to use for translationoff - offset to the first byte in the arraylen - number of bytes to uselittle - true if the bytes are provided in little-endian orderpublic static short bytesToShort(short[] bytes,
int off,
boolean little)
bytes - array of unsigned bytes to be translated to a shortoff - offset into array of bytes; should be non-negative and less than
the length of the arraylittle - true if the bytes are provided in little-endian orderpublic static short bytesToShort(short[] bytes,
boolean little)
bytes - array of unsigned bytes to be translated to a shortlittle - true if the bytes are provided in little-endian orderpublic static int bytesToInt(byte[] bytes,
int off,
int len,
boolean little)
bytes - array of bytes to be translated to a intoff - offset to the first byte in the arraylen - number of bytes to uselittle - true if the bytes are provided in little-endian orderpublic static int bytesToInt(byte[] bytes,
int off,
boolean little)
bytes - array of bytes to be translated to a intoff - offset to the first byte in the arraylittle - true if the bytes are provided in little-endian orderpublic static int bytesToInt(byte[] bytes,
boolean little)
bytes - array of bytes to be translated to a intlittle - true if the bytes are provided in little-endian orderpublic static int bytesToInt(short[] bytes,
int off,
int len,
boolean little)
bytes - array of unsigned bytes to be translated to a intoff - offset to the first byte in the arraylen - number of bytes to uselittle - true if the bytes are provided in little-endian orderpublic static int bytesToInt(short[] bytes,
int off,
boolean little)
bytes - array of unsigned bytes to be translated to a intoff - offset to the first byte in the arraylittle - true if the bytes are provided in little-endian orderpublic static int bytesToInt(short[] bytes,
boolean little)
bytes - array of unsigned bytes to be translated to a intlittle - true if the bytes are provided in little-endian orderpublic static float bytesToFloat(byte[] bytes,
int off,
int len,
boolean little)
bytes - array of bytes to be translated to a floatoff - offset to the first byte in the arraylen - number of bytes to uselittle - true if the bytes are provided in little-endian orderpublic static float bytesToFloat(byte[] bytes,
int off,
boolean little)
bytes - array of bytes to be translated to a floatoff - offset to the first byte in the arraylittle - true if the bytes are provided in little-endian orderpublic static float bytesToFloat(byte[] bytes,
boolean little)
bytes - array of bytes to be translated to a floatlittle - true if the bytes are provided in little-endian orderpublic static float bytesToFloat(short[] bytes,
int off,
int len,
boolean little)
bytes - array of unsigned bytes to be translated to a floatoff - offset to the first byte in the arraylen - number of bytes to uselittle - true if the bytes are provided in little-endian orderpublic static float bytesToFloat(short[] bytes,
int off,
boolean little)
bytes - array of unsigned bytes to be translated to a floatoff - offset to the first byte in the arraylittle - true if the bytes are provided in little-endian orderpublic static float bytesToFloat(short[] bytes,
boolean little)
bytes - array of unsigned bytes to be translated to a floatlittle - true if the bytes are provided in little-endian orderpublic static long bytesToLong(byte[] bytes,
int off,
int len,
boolean little)
bytes - array of bytes to be translated to a longoff - offset to the first byte in the arraylen - number of bytes to uselittle - true if the bytes are provided in little-endian orderpublic static long bytesToLong(byte[] bytes,
int off,
boolean little)
bytes - array of bytes to be translated to a longoff - offset to the first byte in the arraylittle - true if the bytes are provided in little-endian orderpublic static long bytesToLong(byte[] bytes,
boolean little)
bytes - array of bytes to be translated to a longlittle - true if the bytes are provided in little-endian orderpublic static long bytesToLong(short[] bytes,
int off,
int len,
boolean little)
bytes - array of unsigned bytes to be translated to a longoff - offset to the first byte in the arraylen - number of bytes to uselittle - true if the bytes are provided in little-endian orderpublic static long bytesToLong(short[] bytes,
int off,
boolean little)
bytes - array of unsigned bytes to be translated to a longoff - offset to the first byte in the arraylittle - true if the bytes are provided in little-endian orderpublic static long bytesToLong(short[] bytes,
boolean little)
bytes - array of unsigned bytes to be translated to a longlittle - true if the bytes are provided in little-endian orderpublic static double bytesToDouble(byte[] bytes,
int off,
int len,
boolean little)
bytes - array of bytes to be translated to a doubleoff - offset to the first byte in the arraylen - number of bytes to uselittle - true if the bytes are provided in little-endian orderpublic static double bytesToDouble(byte[] bytes,
int off,
boolean little)
bytes - array of bytes to be translated to a doubleoff - offset to the first byte in the arraylittle - true if the bytes are provided in little-endian orderpublic static double bytesToDouble(byte[] bytes,
boolean little)
bytes - array of bytes to be translated to a doublelittle - true if the bytes are provided in little-endian orderpublic static double bytesToDouble(short[] bytes,
int off,
int len,
boolean little)
bytes - array of unsigned bytes to be translated to a doubleoff - offset to the first byte in the arraylen - number of bytes to uselittle - true if the bytes are provided in little-endian orderpublic static double bytesToDouble(short[] bytes,
int off,
boolean little)
bytes - array of unsigned bytes to be translated to a doubleoff - offset to the first byte in the arraylittle - true if the bytes are provided in little-endian orderpublic static double bytesToDouble(short[] bytes,
boolean little)
bytes - array of unsigned bytes to be translated to a doublelittle - true if the bytes are provided in little-endian orderpublic static String bytesToHex(byte[] b)
b - the array of bytes to parse2 * b.length representing the
hexadecimal digits of each byte in b concatenatedpublic static Short parseShort(String value)
value - a String representation of a short valuenull if the string could not be parsedpublic static Byte parseByte(String value)
value - a String representation of a byte valuenull if the string could not be parsedpublic static Integer parseInteger(String value)
value - a String representation of an int valuenull if the string could not be parsedpublic static Long parseLong(String value)
value - a String representation of a long valuenull if the string could not be parsedpublic static Float parseFloat(String value)
value - a String representation of a float valuenull if the string could not be parsedpublic static Double parseDouble(String value)
value - a String representation of a double valuenull if the string could not be parsed@Deprecated public static String sanitizeDouble(String value)
parseDouble(String) insteadvalue - the String representation of a double value,
which may contain invalid characters that prevent parsingpublic static byte[] shortToBytes(short value,
boolean little)
value - the short to be split into byteslittle - true if the returned bytes should be in little-endian orderpublic static byte[] intToBytes(int value,
boolean little)
value - the int to be split into byteslittle - true if the returned bytes should be in little-endian orderpublic static byte[] floatToBytes(float value,
boolean little)
value - the float to be split into byteslittle - true if the returned bytes should be in little-endian orderpublic static byte[] longToBytes(long value,
boolean little)
value - the long to be split into byteslittle - true if the returned bytes should be in little-endian orderpublic static byte[] doubleToBytes(double value,
boolean little)
value - the double to be split into byteslittle - true if the returned bytes should be in little-endian orderpublic static byte[] shortsToBytes(short[] values,
boolean little)
values - the shorts to be split into byteslittle - true if the returned bytes should be in little-endian order2 * values.lengthpublic static byte[] intsToBytes(int[] values,
boolean little)
values - the ints to be split into byteslittle - true if the returned bytes should be in little-endian order4 * values.lengthpublic static byte[] floatsToBytes(float[] values,
boolean little)
values - the floats to be split into byteslittle - true if the returned bytes should be in little-endian order4 * values.lengthpublic static byte[] longsToBytes(long[] values,
boolean little)
values - the longs to be split into byteslittle - true if the returned bytes should be in little-endian order8 * values.lengthpublic static byte[] doublesToBytes(double[] values,
boolean little)
values - the doubles to be split into byteslittle - true if the returned bytes should be in little-endian order8 * values.lengthpublic static void unpackBytes(long value,
byte[] buf,
int ndx,
int nBytes,
boolean little)
value - the long to be split into bytesbuf - the byte array in which to store the unpacked bytesndx - the offset to the first byte in the arraynBytes - the number of unpacked byteslittle - true if the unpacked bytes should be in little-endian orderIllegalArgumentException - if the specified indices fall outside the bufferpublic static Object makeDataArray(byte[] b, int bpp, boolean fp, boolean little)
b - Byte array to convert.bpp - Denotes the number of bytes in the returned primitive type
(e.g. if bpp == 2, we should return an array of type short).fp - If set and bpp == 4 or bpp == 8, then return floats or doubles.little - Whether byte array is in little-endian order.public static Object makeDataArray2D(byte[] b, int bpp, boolean fp, boolean little, int height)
b - Byte array to convert.bpp - Denotes the number of bytes in the returned primitive type
(e.g. if bpp == 2, we should return an array of type short).fp - If set and bpp == 4 or bpp == 8, then return floats or doubles.little - Whether byte array is in little-endian order.height - The height of the output primitive array (2nd dim length).IllegalArgumentException - if input byte array does not divide
evenly into height piecespublic static short swap(short x)
x - short value to byte swapxpublic static char swap(char x)
x - char value to byte swapxpublic static int swap(int x)
x - int value to byte swapxpublic static long swap(long x)
x - long value to byte swapxpublic static float swap(float x)
x - float value to byte swapxpublic static double swap(double x)
x - double value to byte swapxpublic static String stripString(String toStrip)
toStrip - String from which to remove null bytestoStrip with all
null (0) bytes removedpublic static boolean samePrefix(String s1, String s2)
s1 - first String filename to compares2 - second String filename to comparepublic static String sanitize(String s)
s - String from which to remove unprintable characterss with tabs, newlines,
and control characters removedCharacter.isISOControl(char)public static float[] normalizeFloats(float[] data)
data - array of float values to normalizefloat values in the range
[0.0, 1.0]public static double[] normalizeDoubles(double[] data)
data - array of double values to normalizedouble values in the range
[0.0, 1.0]public static byte[] allocate(int... sizes)
throws IllegalArgumentException
sizes - list of sizes from which to allocate the arrayIllegalArgumentException - if the total size exceeds 2GB, which is
the maximum size of an array in Java; or if any size argument is
zero or negativepublic static int safeMultiply32(int... sizes)
throws IllegalArgumentException
Integer.MAX_VALUE).sizes - list of sizes from which to compute the productIllegalArgumentException - if the total size exceeds 2GiB, which is
the maximum size of an int in Java; or if any size argument is
zero or negativepublic static long safeMultiply64(long... sizes)
throws IllegalArgumentException
Long.MAX_VALUE).sizes - list of sizes from which to compute the productIllegalArgumentException - if the total size exceeds 8EiB, which is
the maximum size of a long in Java; or if any size argument is
zero or negativepublic static boolean containsValue(int[] array,
int value)
array - an array of ints to searchvalue - the int for which to searcharray contains at least one occurence of
valueindexOf(int[], int)public static int indexOf(int[] array,
int value)
array - an array of ints to searchvalue - the int for which to searchvalue in
array, or -1 if value is not foundpublic static int indexOf(Object[] array, Object value)
array - an array of Objects to searchvalue - the Object for which to searchvalue in
array, or -1 if value is not foundpublic static byte[] makeSigned(byte[] b)
public static short[] makeSigned(short[] s)
public static int[] makeSigned(int[] i)
Copyright © 2005–2020 Open Microscopy Environment. All rights reserved.