Class ScalarDS
- All Implemented Interfaces:
Serializable
,DataFormat
A ScalarDS can be an image or spreadsheet data. ScalarDS defines few methods to deal with both images and spreadsheets.
ScalarDS is an abstract class. Current implementing classes are the H4SDS, H5GRImage and H5ScalarDS.
- Version:
- 1.1 9/4/2007
- Author:
- Peter X. Cao
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Object
The fill value of the dataset.protected double[]
The min-max range of image data values.protected int
The interlace mode of the stored raster image data.static final int
Indicates that each pixel component of RGB is stored as a scan line.static final int
Indicates that the pixel RGB values are contiguous.static final int
Indicates that each pixel component of RGB is stored as a plane.protected boolean
Flag to indicate if the dataset is displayed as an image with default order of dimensionsboolean
Flag to indicate if the FillValue is converted from unsigned C.protected boolean
True if this dataset is an image.protected boolean
Flag to indicate if the dataset is displayed as an imageprotected boolean
True if this dataset is ASCII text.protected boolean
True if this dataset is a true color image.protected boolean
Flag to indicate if the original C data is unsigned integer.protected byte[][]
The indexed RGB color model with 256 colors.protected boolean
Flag to indicate is the original unsigned C data is converted.Fields inherited from class ncsa.hdf.object.Dataset
chunkSize, compression, compression_gzip_txt, convertByteToString, convertedBuf, data, datatype, dimNames, dims, enumConverted, filters, isDataLoaded, maxDims, nPoints, originalBuf, rank, selectedDims, selectedIndex, selectedStride, startDims, storage
Fields inherited from class ncsa.hdf.object.HObject
fileFormat, linkTargetObjName, oid, separator
-
Constructor Summary
ConstructorsConstructorDescriptionScalarDS
(FileFormat theFile, String theName, String thePath) Constructs an instance of a ScalarDS with specific name and path.ScalarDS
(FileFormat theFile, String theName, String thePath, long[] oid) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add a value that will be filtered out in imagevoid
Clears the data buffer in memory and to force the next read() to load data from file.Converts the data values of this dataset to appropriate Java integer if they are unsigned integers.Converts Java integer data of this dataset back to unsigned C-type integer data if they are unsigned integers.final Object
Returns the fill values for the dataset.get a list of values that will be filtered out in imagedouble[]
Returns the (min, max) pair of image data range.final int
Returns the interlace mode of a true color image (RGB).abstract byte[][]
Returns the palette of this scalar dataset or null if palette does not exist.getPaletteName
(int idx) Get the name of a specific image palette from file.abstract byte[]
Returns the byte array of palette refs.final boolean
Returns true if this dataset is displayed as an image with default image order.final boolean
isImage()
Returns true if this dataset is an image.final boolean
Returns true if this dataset is displayed as an image.final boolean
isText()
Returns true if this dataset is ASCII text.final boolean
Returns true if this dataset is a true color image.final boolean
Returns true if the original C data are unsigned integers.abstract byte[][]
readPalette
(int idx) Reads a specific image palette from file.final void
setImageDataRange
(double min, double max) Sets data range for an image.final void
setIsImage
(boolean b) Sets the flag to indicate this dataset is an image.final void
setIsImageDisplay
(boolean b) Sets the flag to display the dataset as an image.final void
setPalette
(byte[][] pal) Sets the palette for this dataset.Methods inherited from class ncsa.hdf.object.Dataset
byteToString, clear, convertFromUnsignedC, convertFromUnsignedC, convertToUnsignedC, convertToUnsignedC, copy, getChunkSize, getCompression, getConvertByteToString, getData, getDatatype, getDimNames, getDims, getFilters, getHeight, getMaxDims, getOriginalClass, getRank, getSelectedDims, getSelectedIndex, getSize, getStartDims, getStorage, getStride, getWidth, init, isEnumConverted, isString, read, readBytes, setConvertByteToString, setData, setEnumConverted, stringToByte, write, write
Methods inherited from class ncsa.hdf.object.HObject
close, debug, equalsOID, getFID, getFile, getFileFormat, getFullName, getLinkTargetObjName, getName, getOID, getPath, open, setLinkTargetObjName, setName, setPath, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface ncsa.hdf.object.DataFormat
getMetadata, hasAttribute, removeMetadata, updateMetadata, writeMetadata
-
Field Details
-
INTERLACE_PIXEL
public static final int INTERLACE_PIXELIndicates that the pixel RGB values are contiguous.- See Also:
-
INTERLACE_LINE
public static final int INTERLACE_LINEIndicates that each pixel component of RGB is stored as a scan line.- See Also:
-
INTERLACE_PLANE
public static final int INTERLACE_PLANEIndicates that each pixel component of RGB is stored as a plane.- See Also:
-
interlace
protected int interlaceThe interlace mode of the stored raster image data. Valid values are INTERLACE_PIXEL, INTERLACE_LINE and INTERLACE_PLANE. -
imageDataRange
protected double[] imageDataRangeThe min-max range of image data values. For example, [0, 255] indicates the min is 0, and the max is 255. -
palette
protected byte[][] paletteThe indexed RGB color model with 256 colors.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.
-
isImage
protected boolean isImageTrue if this dataset is an image. -
isTrueColor
protected boolean isTrueColorTrue if this dataset is a true color image. -
isText
protected boolean isTextTrue if this dataset is ASCII text. -
isUnsigned
protected boolean isUnsignedFlag to indicate if the original C data is unsigned integer. -
unsignedConverted
protected boolean unsignedConvertedFlag to indicate is the original unsigned C data is converted. -
fillValue
The fill value of the dataset. -
isImageDisplay
protected boolean isImageDisplayFlag to indicate if the dataset is displayed as an image -
isDefaultImageOrder
protected boolean isDefaultImageOrderFlag to indicate if the dataset is displayed as an image with default order of dimensions -
isFillValueConverted
public boolean isFillValueConvertedFlag to indicate if the FillValue is converted from unsigned C.
-
-
Constructor Details
-
ScalarDS
Constructs an instance of a ScalarDS with specific name and path. An HDF data object must have a name. The path is the group path starting from the root.For example, in H5ScalarDS(h5file, "dset", "/arrays/"), "dset" is the name of the dataset, "/arrays" is the group path of the dataset.
- Parameters:
theFile
- the file that contains the data object.theName
- the name of the data object, e.g. "dset".thePath
- the full path of the data object, e.g. "/arrays/".
-
ScalarDS
Deprecated.Not for public use in the future.
UsingScalarDS(FileFormat, String, String)
-
-
Method Details
-
clearData
public void clearData()Description copied from class:Dataset
Clears the data buffer in memory and to force the next read() to load data from file.The function read() loads data from file into memory only if the data is not read. If data is already in memory, read() just returns the memory buffer. Sometimes we want to force read() to re-read data from file. For example, when the selection is changed, we need to re-read the data. clearData() clears the current memory buffer and force the read() to load the data from file.
-
convertFromUnsignedC
Converts the data values of this dataset to appropriate Java integer if they are unsigned integers.- Returns:
- the converted data buffer.
- See Also:
-
convertToUnsignedC
Converts Java integer data of this dataset back to unsigned C-type integer data if they are unsigned integers.- Returns:
- the converted data buffer.
- See Also:
-
getPalette
public abstract byte[][] getPalette()Returns the palette of this scalar dataset or null if palette does not exist.Scalar dataset can be displayed as spreadsheet data or image. When a scalar dataset is chosen to display as an image, the palette or color table may be needed to translate a pixel value to color components (for example, red, green, and blue). Some scalar datasets have no palette and some datasets have one or more than one palettes. If an associated palette exists but not loaded, this interface retrieves the palette from the file and returns the palette. If the palette is loaded, it returnd the palette. It returns null if there is no palette assciated with the dataset.
Current implementation only supports palette model of indexed RGB with 256 colors. Other models such as YUV", "CMY", "CMYK", "YCbCr", "HSV will be supported in the future.
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.
Sub-classes have to implement this interface. HDF4 and HDF5 images use different libraries to retrieve the associated palette.
- Returns:
- the 2D palette byte array.
-
setPalette
public final void setPalette(byte[][] pal) Sets the palette for this dataset.- Parameters:
pal
- the 2D palette byte array.
-
readPalette
public abstract byte[][] readPalette(int idx) Reads a specific image palette from file.A scalar dataset may have multiple palettes attached to it. readPalette(int idx) returns a specific palette identified by its index.
- Parameters:
idx
- the index of the palette to read.
-
getPaletteName
Get the name of a specific image palette from file.A scalar dataset may have multiple palettes attached to it. getPaletteName(int idx) returns the name of a specific palette identified by its index.
- Parameters:
idx
- the index of the palette to retrieve the name.- Returns:
- The name of the palette
-
getPaletteRefs
public abstract byte[] getPaletteRefs()Returns the byte array of palette refs.A palette reference is an object reference that points to the palette dataset.
For example, Dataset "Iceberg" has an attribute of object reference "Palette". The arrtibute "Palette" has value "2538" that is the object reference of the palette data set "Iceberg Palette".
- Returns:
- null if there is no palette attribute attached to this dataset.
-
isImage
public final boolean isImage()Returns true if this dataset is an image.For all Images, they must have an attribute called "CLASS". The value of this attribute is "IMAGE". For more details, read HDF5 Image and Palette Specification
- Returns:
- true if the dataset is an image; otherwise, returns false.
-
isImageDisplay
public final boolean isImageDisplay()Returns true if this dataset is displayed as an image.A ScalarDS can be displayed as an image or table.
- Returns:
- true if this dataset is displayed as an image; otherwise, returns false.
-
isDefaultImageOrder
public final boolean isDefaultImageOrder()Returns true if this dataset is displayed as an image with default image order.A ScalarDS can be displayed as an image with different orders of dimensions.
- Returns:
- true if this dataset is displayed as an image with default image order; otherwise, returns false.
-
setIsImageDisplay
public final void setIsImageDisplay(boolean b) Sets the flag to display the dataset as an image.- Parameters:
b
- if b is true, display the dataset as an image
-
setIsImage
public final void setIsImage(boolean b) Sets the flag to indicate this dataset is an image.- Parameters:
b
- if b is true, the dataset is an image.
-
setImageDataRange
public final void setImageDataRange(double min, double max) Sets data range for an image.- Parameters:
min
- the data range start.max
- the data range end.
-
addFilteredImageValue
Add a value that will be filtered out in image- Parameters:
x
- value to be filtered
-
getFilteredImageValues
get a list of values that will be filtered out in image -
isTrueColor
public final boolean isTrueColor()Returns true if this dataset is a true color image. -
isText
public final boolean isText()Returns true if this dataset is ASCII text.- Returns:
- true if this dataset is ASCII text.
-
getInterlace
public final int getInterlace()Returns the interlace mode of a true color image (RGB). Valid values:INTERLACE_PIXEL -- RGB components are contiguous, i.e. rgb, rgb, rgb, ... INTERLACE_LINE -- each RGB component is stored as a scan line INTERLACE_PLANE -- each RGB component is stored as a plane
- Returns:
- the interlace mode of a true color image (RGB).
-
isUnsigned
public final boolean isUnsigned()Returns true if the original C data are unsigned integers.- Returns:
- true if the original C data are unsigned integers.
-
getImageDataRange
public double[] getImageDataRange()Returns the (min, max) pair of image data range.- Returns:
- the (min, max) pair of image data range.
-
getFillValue
Returns the fill values for the dataset.- Returns:
- the fill values for the dataset.
-
Using
ScalarDS(FileFormat, String, String)