|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectncsa.hdf.view.Tools
public final class Tools
The "Tools" class contains various of tools for HDF files such as jpeg to HDF converter.
| Field Summary | |
|---|---|
static java.lang.String |
FILE_TYPE_JPEG
Key for JPEG image file type. |
static java.lang.String |
FILE_TYPE_PNG
Key for PNG image file type. |
static java.lang.String |
FILE_TYPE_TIFF
Key for TIFF image file type. |
static long |
MAX_INT16
|
static long |
MAX_INT32
|
static long |
MAX_INT64
|
static long |
MAX_INT8
|
static long |
MAX_UINT16
|
static long |
MAX_UINT32
|
static long |
MAX_UINT8
|
| Constructor Summary | |
|---|---|
Tools()
|
|
| Method Summary | |
|---|---|
static java.lang.Object |
autoContrastApply(java.lang.Object data_in,
java.lang.Object data_out,
double[] params,
boolean isUnsigned)
Apply autocontrast parameters in place (destructive) |
static int |
autoContrastCompute(java.lang.Object data,
double[] params,
boolean isUnsigned)
Computes autocontrast parameters (gain equates to contrast and bias equates to brightness) for integers. |
static int |
autoContrastComputeMinMax(java.lang.Object data,
java.lang.Object minmax)
Computes autocontrast parameters by |
static int |
autoContrastComputeSliderRange(double[] params,
double[] gain,
double[] bias)
Auto-ranging of gain/bias sliders Given the results of autogaining an image, compute reasonable min and max values for gain/bias sliders. |
static int |
autoContrastConvertImageBuffer(java.lang.Object src,
byte[] dst,
boolean isUnsigned)
Converts image raw data to bytes. |
static int |
computeStatistics(java.lang.Object data,
double[] avgstd)
Computes mean and standard deviation of a data array |
static void |
convertImageToHDF(java.lang.String imgFileName,
java.lang.String hFileName,
java.lang.String fromType,
java.lang.String toType)
Converts an image file into HDF4/5 file. |
static byte[][] |
createGrayPalette()
Creates the gray palette of the indexed 256-color table. |
static byte[][] |
createGrayWavePalette()
Creates the gray wave palette of the indexed 256-color table. |
static java.awt.Image |
createIndexedImage(byte[] imageData,
byte[][] palette,
int w,
int h)
Creates a RGB indexed image of 256 colors. |
static byte[][] |
createNaturePalette()
Creates the nature palette of the indexed 256-color table. |
static byte[][] |
createRainbowPalette()
Creates the rainbow palette of the indexed 256-color table. |
static byte[][] |
createReverseGrayPalette()
Creates the reverse gray palette of the indexed 256-color table. |
static java.awt.Image |
createTrueColorImage(byte[] imageData,
boolean planeInterlace,
int w,
int h)
Creates a true color image. |
static byte[][] |
createWavePalette()
Creates the wave palette of the indexed 256-color table. |
static int |
findMinMax(java.lang.Object data,
double[] minmax)
Finds the min and max values of the data array |
static byte[] |
getBytes(java.lang.Object rawData,
double[] minmax,
byte[] byteData)
Convert an array of raw data into array of a byte data. |
static byte[] |
getBytes(java.lang.Object rawData,
double[] minmax,
int w,
int h,
boolean isTransposed,
byte[] byteData)
|
static byte[] |
getBytes(java.lang.Object rawData,
double[] minmax,
int w,
int h,
boolean isTransposed,
java.lang.Object fillValue,
byte[] byteData)
Convert an array of raw data into array of a byte data. |
static byte[] |
getBytes(java.lang.Object rawData,
double[] minmax,
java.lang.Object fillValue,
byte[] byteData)
|
static boolean |
hasAlpha(java.awt.Image image)
This method returns true if the specified image has transparent pixels. |
static java.lang.Object |
newInstance(java.lang.Class cls,
java.lang.Object[] initargs)
Create and initialize a new instance of the given class. |
static void |
saveImageAs(java.awt.image.BufferedImage image,
java.io.File file,
java.lang.String type)
Save a BufferedImage into an image file. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final long MAX_INT8
public static final long MAX_UINT8
public static final long MAX_INT16
public static final long MAX_UINT16
public static final long MAX_INT32
public static final long MAX_UINT32
public static final long MAX_INT64
public static final java.lang.String FILE_TYPE_JPEG
public static final java.lang.String FILE_TYPE_TIFF
public static final java.lang.String FILE_TYPE_PNG
| Constructor Detail |
|---|
public Tools()
| Method Detail |
|---|
public static void convertImageToHDF(java.lang.String imgFileName,
java.lang.String hFileName,
java.lang.String fromType,
java.lang.String toType)
throws java.lang.Exception
imgFileName - the input image file.hFileName - the name of the HDF4/5 file.fromType - the type of image.toType - the type of file converted to.
java.lang.Exception
public static void saveImageAs(java.awt.image.BufferedImage image,
java.io.File file,
java.lang.String type)
throws java.lang.Exception
image - the BufferedImage to save.file - the image file.type - the image type.
java.lang.Exceptionpublic static final byte[][] createGrayPalette()
The palette values are stored in a two-dimensional byte array and arrange by color components of red, green and blue. palette[][] = byte[3][256], where, palette[0][], palette[1][] and palette[2][] are the red, green and blue components respectively.
public static final byte[][] createReverseGrayPalette()
The palette values are stored in a two-dimensional byte array and arrange by color components of red, green and blue. palette[][] = byte[3][256], where, palette[0][], palette[1][] and palette[2][] are the red, green and blue components respectively.
public static final byte[][] createGrayWavePalette()
The palette values are stored in a two-dimensional byte array and arrange by color components of red, green and blue. palette[][] = byte[3][256], where, palette[0][], palette[1][] and palette[2][] are the red, green and blue components respectively.
public static final byte[][] createRainbowPalette()
The palette values are stored in a two-dimensional byte array and arrange by color components of red, green and blue. palette[][] = byte[3][256], where, palette[0][], palette[1][] and palette[2][] are the red, green and blue components respectively.
public static final byte[][] createNaturePalette()
The palette values are stored in a two-dimensional byte array and arrange by color components of red, green and blue. palette[][] = byte[3][256], where, palette[0][], palette[1][] and palette[2][] are the red, green and blue components respectively.
public static final byte[][] createWavePalette()
The palette values are stored in a two-dimensional byte array and arrange by color components of red, green and blue. palette[][] = byte[3][256], where, palette[0][], palette[1][] and palette[2][] are the red, green and blue components respectively.
public static boolean hasAlpha(java.awt.Image image)
image - the image to be check if has alpha.
public static java.awt.Image createIndexedImage(byte[] imageData,
byte[][] palette,
int w,
int h)
imageData - the byte array of the image data.palette - the color lookup table.w - the width of the image.h - the height of the image.
public static java.awt.Image createTrueColorImage(byte[] imageData,
boolean planeInterlace,
int w,
int h)
DirectColorModel is used to construct the image from raw data. The
DirectColorModel model is similar to an X11 TrueColor visual, which has
the following parameters:
Number of bits: 32
Red mask: 0x00ff0000
Green mask: 0x0000ff00
Blue mask: 0x000000ff
Alpha mask: 0xff000000
Color space: sRGB
isAlphaPremultiplied: False
Transparency: Transparency.TRANSLUCENT
transferType: DataBuffer.TYPE_INT
The data may be arranged in one of two ways: by pixel or by plane. In both cases, the dataset will have a dataspace with three dimensions, height, width, and components.
For HDF4, the interlace modes specify orders for the dimensions as:
INTERLACE_PIXEL = [width][height][pixel components]
INTERLACE_PLANE = [pixel components][width][height]
For HDF5, the interlace modes specify orders for the dimensions as:
INTERLACE_PIXEL = [height][width][pixel components]
INTERLACE_PLANE = [pixel components][height][width]
imageData - the byte array of the image data.planeInterlace - flag if the image is plane intelace.w - the width of the image.h - the height of the image.
public static byte[] getBytes(java.lang.Object rawData,
double[] minmax,
byte[] byteData)
rawData - The input raw data.minmax - the range of the raw data.
public static byte[] getBytes(java.lang.Object rawData,
double[] minmax,
int w,
int h,
boolean isTransposed,
byte[] byteData)
public static byte[] getBytes(java.lang.Object rawData,
double[] minmax,
java.lang.Object fillValue,
byte[] byteData)
public static byte[] getBytes(java.lang.Object rawData,
double[] minmax,
int w,
int h,
boolean isTransposed,
java.lang.Object fillValue,
byte[] byteData)
rawData - The input raw data.minmax - the range of the raw data.isTransposed - if the data is transposeed
public static java.lang.Object newInstance(java.lang.Class cls,
java.lang.Object[] initargs)
throws java.lang.Exception
initargs - - array of objects to be passed as arguments
java.lang.Exception
public static int autoContrastCompute(java.lang.Object data,
double[] params,
boolean isUnsigned)
The computation is based on the following scaling
int_8 [0, 127]
uint_8 [0, 255]
int_16 [0, 32767]
uint_16 [0, 65535]
int_32 [0, 2147483647]
uint_32 [0, 4294967295]
int_64 [0, 9223372036854775807]
uint_64 [0, 18446744073709551615] // Not supported.
data - the raw data array of signed/unsigned integersparams - the auto gain parameter. params[0]=gain, params[1]=biasisUnsigned - the flag to indicate if the data array is unsiged integer
public static java.lang.Object autoContrastApply(java.lang.Object data_in,
java.lang.Object data_out,
double[] params,
boolean isUnsigned)
data_in - the original data array of signed/unsigned integersdata_out - the converted data array of signed/unsigned integersparams - the auto gain parameter. params[0]=gain, params[1]=biasisUnsigned - the flag to indicate if the data array is unsiged integer
public static int autoContrastComputeSliderRange(double[] params,
double[] gain,
double[] bias)
params - the auto gain parameter: params[0]=gain, params[1]=biasgain - the range of the gain: gain[0]=min, gain[1]=masbias - the range of the bias: bias[0]=min, bias[1]=max
public static int autoContrastConvertImageBuffer(java.lang.Object src,
byte[] dst,
boolean isUnsigned)
The integer data is converted to byte data based on the following rule
uint_8 x
int_8 (x & 0x7F) << 1
uint_16 (x >> 8) & 0xFF
int_16 (x >> 7) & 0xFF
uint_32 (x >> 24) & 0xFF
int_32 (x >> 23) & 0xFF
uint_64 (x >> 56) & 0xFF
int_64 (x >> 55) & 0xFF
src - the source data array of signed integers or unsigned shortsdst - the destination data array of bytesisUnsigned - the flag to indicate if the data array is unsiged integer
public static int autoContrastComputeMinMax(java.lang.Object data,
java.lang.Object minmax)
min = mean - 3 * std.dev
max = mean + 3 * std.dev
data - the raw data arrayminmax - the min and max values.
public static int findMinMax(java.lang.Object data,
double[] minmax)
data - the raw data arrayminmax - the mmin and max values of the array.
public static int computeStatistics(java.lang.Object data,
double[] avgstd)
data - the raw data arrayavgstd - the statistics: avgstd[0]=mean and avgstd[1]=stdev.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||