Class TiffRasterDataInt
Note: The getData() and getIntData() methods can return direct references to the internal arrays stored in instances of this class. Because these are not safe copies of the data, an application that modified the arrays returned by these methods will change the content of the associated instance. This approach is used for purposes of efficiency when dealing with very large TIFF images.
Data layout: The elements in the returned array are stored in row-major order. In cases where the data contains multiple samples per raster cell (pixel), the data is organized into blocks of data one sample at a time. The first block contains width*height values for the first sample for each cell, the second block contains width*height values for the second sample for each cell, etc. Thus, the array index for a particular value is computed as
index = y * width + x + iSample * width * height;
-
Field Summary
Fields inherited from class org.apache.commons.imaging.formats.tiff.TiffRasterData
height, nCells, planarOffset, samplesPerPixel, width
-
Constructor Summary
ConstructorDescriptionTiffRasterDataInt
(int width, int height) Constructs an instance allocating memory for the specified dimensions.TiffRasterDataInt
(int width, int height, int samplesPerPixel) Constructs an instance allocating memory for the specified dimensions.TiffRasterDataInt
(int width, int height, int[] data) Constructs an instance allocating memory for the specified dimensions.TiffRasterDataInt
(int width, int height, int samplesPerPixel, int[] data) Constructs an instance allocating memory for the specified dimensions. -
Method Summary
Modifier and TypeMethodDescriptionfloat[]
getData()
Returns an array of floating-point equivalents to the integer values stored in this instance.Gets the raster data type from the instance.int[]
Returns a reference to the data array stored in this instance.int
getIntValue
(int x, int y) Gets the value stored at the specified raster coordinates.int
getIntValue
(int x, int y, int i) Gets the value stored at the specified raster coordinates.Tabulates simple statistics for the raster and returns an instance containing general metadata.getSimpleStatistics
(float valueToExclude) Tabulates simple statistics for the raster excluding the specified value and returns an instance containing general metadata.float
getValue
(int x, int y) Gets the value stored at the specified raster coordinates.float
getValue
(int x, int y, int i) Gets the value stored at the specified raster coordinates.void
setIntValue
(int x, int y, int value) Sets the value stored at the specified raster coordinates.void
setIntValue
(int x, int y, int i, int value) Sets the value stored at the specified raster coordinates.void
setValue
(int x, int y, float value) Sets the value stored at the specified raster coordinates.void
setValue
(int x, int y, int i, float value) Sets the value stored at the specified raster coordinates.Methods inherited from class org.apache.commons.imaging.formats.tiff.TiffRasterData
checkCoordinatesAndComputeIndex, getHeight, getSamplesPerPixel, getWidth
-
Constructor Details
-
TiffRasterDataInt
Constructs an instance allocating memory for the specified dimensions.- Parameters:
width
- a value of 1 or greaterheight
- a value of 1 or greater
-
TiffRasterDataInt
Constructs an instance allocating memory for the specified dimensions.- Parameters:
width
- a value of 1 or greaterheight
- a value of 1 or greatersamplesPerPixel
- a value of 1 or greater
-
TiffRasterDataInt
Constructs an instance allocating memory for the specified dimensions.- Parameters:
width
- a value of 1 or greaterheight
- a value of 1 or greatersamplesPerPixel
- a value of 1 or greaterdata
- the data to be stored in the raster.
-
TiffRasterDataInt
Constructs an instance allocating memory for the specified dimensions.- Parameters:
width
- a value of 1 or greaterheight
- a value of 1 or greaterdata
- the data to be stored in the raster.
-
-
Method Details
-
getData
Returns an array of floating-point equivalents to the integer values stored in this instance. To do so, a float array is allocated and each integer value in the source data is cast to a float.- Specified by:
getData
in classTiffRasterData
- Returns:
- the floating-point equivalents of the content stored in this instance.
-
getDataType
Gets the raster data type from the instance.- Specified by:
getDataType
in classTiffRasterData
- Returns:
- a value of TiffRasterDataType.FLOAT.
-
getIntData
Returns a reference to the data array stored in this instance. Note that the array returned is not a safe copy and that modifying it directly affects the content of the instance. While this design approach carries some risk in terms of data security, it was chosen for reasons of performance and memory conservation. TIFF images that contain floating-point data are often quite large. Sizes of 100 million raster cells are common. Making a redundant copy of such a large in-memory object might exceed the resources available to a Java application.- Specified by:
getIntData
in classTiffRasterData
- Returns:
- a direct reference to the data array stored in this instance.
-
getIntValue
Gets the value stored at the specified raster coordinates.- Specified by:
getIntValue
in classTiffRasterData
- Parameters:
x
- integer coordinate in the columnar directiony
- integer coordinate in the row direction- Returns:
- the value stored at the specified location
-
getIntValue
Gets the value stored at the specified raster coordinates.- Specified by:
getIntValue
in classTiffRasterData
- Parameters:
x
- integer coordinate in the columnar directiony
- integer coordinate in the row directioni
- integer sample index (for data sets giving multiple samples per raster cell).- Returns:
- the value stored at the specified location
-
getSimpleStatistics
Tabulates simple statistics for the raster and returns an instance containing general metadata.- Specified by:
getSimpleStatistics
in classTiffRasterData
- Returns:
- a valid instance containing a safe copy of the current simple statistics for the raster.
-
getSimpleStatistics
Tabulates simple statistics for the raster excluding the specified value and returns an instance containing general metadata.- Specified by:
getSimpleStatistics
in classTiffRasterData
- Parameters:
valueToExclude
- exclude samples with this specified value.- Returns:
- a valid instance.
-
getValue
Gets the value stored at the specified raster coordinates.- Specified by:
getValue
in classTiffRasterData
- Parameters:
x
- integer coordinate in the columnar directiony
- integer coordinate in the row direction- Returns:
- the value stored at the specified location; potentially a Float.NaN.
-
getValue
Gets the value stored at the specified raster coordinates.- Specified by:
getValue
in classTiffRasterData
- Parameters:
x
- integer coordinate in the columnar directiony
- integer coordinate in the row directioni
- integer sample index (for data sets giving multiple samples per raster cell.- Returns:
- the value stored at the specified location; potentially a Float.NaN.
-
setIntValue
Sets the value stored at the specified raster coordinates.- Specified by:
setIntValue
in classTiffRasterData
- Parameters:
x
- integer coordinate in the columnar directiony
- integer coordinate in the row directionvalue
- the value to be stored at the specified location
-
setIntValue
Sets the value stored at the specified raster coordinates.- Specified by:
setIntValue
in classTiffRasterData
- Parameters:
x
- integer coordinate in the columnar directiony
- integer coordinate in the row directioni
- integer sample index (for data sets giving multiple samples per raster cell).value
- the value to be stored at the specified location
-
setValue
Sets the value stored at the specified raster coordinates.- Specified by:
setValue
in classTiffRasterData
- Parameters:
x
- integer coordinate in the columnar directiony
- integer coordinate in the row directionvalue
- the value to be stored at the specified location; potentially a Float.NaN.
-
setValue
Sets the value stored at the specified raster coordinates.- Specified by:
setValue
in classTiffRasterData
- Parameters:
x
- integer coordinate in the columnar directiony
- integer coordinate in the row directioni
- integer sample index (for data sets giving multiple samples per raster cell).value
- the value to be stored at the specified location; potentially a Float.NaN.
-