Class ALcdImageOperator

java.lang.Object
com.luciad.imaging.operator.ALcdImageOperator
Direct Known Subclasses:
TLcdBandMergeOp, TLcdBandSelectOp, TLcdBinaryOp, TLcdColorConvertOp, TLcdColorLookupOp, TLcdCompositeOp, TLcdConvolveOp, TLcdCropOp, TLcdCurvesOp, TLcdExpandOp, TLcdHistogramOp, TLcdIndexLookupOp, TLcdMedianOp, TLcdPixelReplaceOp, TLcdPixelRescaleOp, TLcdPixelTransformOp, TLcdResizeOp, TLcdSemanticsOp, TLcdSwipeOp

public abstract class ALcdImageOperator extends Object
Represents an image processing operator. An operator takes a number of input parameters and produces an ALcdImage as output. The required parameters of an operator are described by a TLcdDataType. Typically, one parameter will be the input image to be processed by the operator.

The apply(com.luciad.datamodel.ILcdDataObject) method applies the operator to a data object with the appropriate data type. It returns an image which represents the result of the operator. Applying an operator does not incur any significant processing: it is only when pixel data is read from the image that the actual processing is performed by the ALcdImagingEngine.

Operators can be combined to perform more complex image processing by using an ALcdImageOperatorChain.

Since:
2014.0
  • Field Details

    • INPUT_IMAGE_NAME

      public static final String INPUT_IMAGE_NAME
      Name of the input image data property which is used by operators that take a single image as input.
      See Also:
  • Constructor Details

    • ALcdImageOperator

      protected ALcdImageOperator(TLcdDataType aDataType)
      Constructs a new operator with the given parameter data type. The createTypeBuilder(String, String, Class) method returns a builder which is convenient for creating appropriate data types.
      Parameters:
      aDataType - the data type of the objects accepted by the apply() method
  • Method Details

    • apply

      public abstract ALcdImage apply(ILcdDataObject aParameters)
      Applies this operator to the given input parameters. The parameters are stored in a data object which must be of the type given by getParameterDataType().
      Parameters:
      aParameters - the parameters for the operator
      Returns:
      the image produced by the operator
    • getParameterDataType

      public TLcdDataType getParameterDataType()
      Returns the data type of the objects accepted by the apply(com.luciad.datamodel.ILcdDataObject) method.
      Returns:
      the parameter data type of this operator
    • createTypeBuilder

      protected static ALcdImageOperator.ImageOperatorTypeBuilder createTypeBuilder(String aVendor, String aOperator, Class aImplementationClass)
      Returns a builder that can be used to create data types for new image operators.
      Parameters:
      aVendor - vendor namespace for the operator
      aOperator - the name of the operator
      aImplementationClass - the concrete instance class of the data type to be created. Can be TLcdDataObject in most cases.
      Returns:
      a new data type builder
    • createTypeBuilder

      protected static ALcdImageOperator.ImageOperatorTypeBuilder createTypeBuilder(String aVendor, String aOperator)
      Returns a builder that can be used to create data types for new image operators. The instance class of the data type is set to TLcdDataObject.
      Parameters:
      aVendor - vendor namespace for the operator
      aOperator - the name of the operator
      Returns:
      a new data type builder
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object