Class ALcdBandSemantics

java.lang.Object
com.luciad.imaging.ALcdBandSemantics
Direct Known Subclasses:
ALcdBandColorSemantics, ALcdBandMeasurementSemantics

public abstract class ALcdBandSemantics extends Object
Represents the semantics of a band in an ALcdBasicImage.

This class cannot be implemented by the user. The following implementations are available:

You can find more details about the image processing model here.

Since:
2014.0
  • Method Details

    • getDataType

      public abstract ALcdBandSemantics.DataType getDataType()
      Returns the data type of a band.
      Returns:
      the data type, never null
    • getNumSignificantBits

      public abstract int getNumSignificantBits()
      Returns the number of significant bits in the data type.

      The number of significant bits is always in [1, getDataType(aBandIdx).getSizeInBits()]. The effect on the range of the values depends on the data type:

      • unsigned integer types: [0,(2^bits)-1]
      • signed integer types: [-2^(bits-1),(2^(bits-1)-1]
      • floating point types: not applicable, for floating point types all bits are significant
      Returns:
      the number of significant bits
    • getNoDataValue

      public abstract Number getNoDataValue()
      The no data value for a band.

      A pixel is considered to represent 'no data' if any of its values is equal to their 'no data' value.

      The 'no data' value is null if there is no 'no data' value.

      Returns:
      the no data value or null
    • getMinValue

      public abstract Number getMinValue()
      Returns the minimum allowed value of a band.
      Returns:
      the minimum value, can be null if not specified.
    • getMaxValue

      public abstract Number getMaxValue()
      Returns the maximum allowed value of a band.
      Returns:
      the maximum value, can be null if not specified.
    • isNormalized

      public abstract boolean isNormalized()
      Returns whether the data values are normalized or not.

      For unnormalized bands the data range, taking into account the data type and number of significant bits, is mapped to the normalized range.

      Returns:
      true if the data values are normalized
      See Also:
    • getNormalizedRangeMinValue

      public abstract Number getNormalizedRangeMinValue()
      Returns the minimum value of the normalized range of a band.

      For floating point data types the special values (ex. Infinity, NaN, etc.) are not considered for normalization. All regular values are normalized according to the normalized range. So for example for an unnormalized band with type DataType.FLOAT, a normalized range of [-Float.MAX_VALUE, Float.MAX_VALUE] indicates that all the float values should not be affected by normalization. You can find more details about the image processing model here.

      Returns:
      the minimum value of the normalized range, never null
      See Also:
    • getNormalizedRangeMaxValue

      public abstract Number getNormalizedRangeMaxValue()
      Returns the maximum value of the normalized range of a band.

      For floating point data types the special values (ex. Infinity, NaN, etc.) are not considered for normalization. All regular values are normalized according to the normalized range. So for example for an unnormalized band with type DataType.FLOAT, a normalized range of [-Float.MAX_VALUE, Float.MAX_VALUE] indicates that all the float values should not be affected by normalization. You can find more details about the image processing model here.

      Returns:
      the maximum value of the normalized range, never null
      See Also: