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 Link icon

    • INPUT_IMAGE_NAME Link icon

      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 Link icon

    • ALcdImageOperator Link icon

      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 Link icon

    • apply Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

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

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

      public String toString()
      Overrides:
      toString in class Object