Class Distorter

All Implemented Interfaces:
Serializable, Component
Direct Known Subclasses:
DSS, DSS.DSSInv, Neat, Neat.NeatInv, SIP, SIP.SIPinverse

public abstract class Distorter extends Transformer implements Component
This class defines a non-linear distortion in the image plane. Normally the forward distortion converts from a fiducial projection plane to some distorted coordinates. The reverse distortion transforms from the distorted coordinates back to the fiducial coordinates.
See Also:
  • Constructor Details

    • Distorter

      public Distorter()
  • Method Details

    • getName

      public abstract String getName()
      A name for this object
      Specified by:
      getName in interface Component
    • getDescription

      public abstract String getDescription()
      What does this object do?
      Specified by:
      getDescription in interface Component
    • inverse

      public abstract Distorter inverse()
      Description copied from class: Transformer
      Get the inverse of the transformation. If the order matters, then the inverse is to be applied after the original transformation. This is primarily an issue with Converters.
      Specified by:
      inverse in class Transformer
    • getOutputDimension

      protected int getOutputDimension()
      What is the output dimensionality of a Distorter?
      Specified by:
      getOutputDimension in class Transformer
    • getInputDimension

      protected int getInputDimension()
      What is the input dimensionality of a Distorter?
      Specified by:
      getInputDimension in class Transformer
    • jacobian

      public double[][] jacobian(double[] pix)
      Get the local Jacobian for the distortion. This implementation defers the calculation to the inverse distorter. Clearly this will need to be overriden in either the forward or backward distorter.
      Parameters:
      pix - The input position.
      Returns:
      The Jabobian matrix.
    • applyBeforeScaling

      public boolean applyBeforeScaling()