Package skyview.geometry

# Class Distorter

java.lang.Object
skyview.geometry.Transformer
skyview.geometry.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:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`Distorter()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`applyBeforeScaling()`
`abstract String`
`getDescription()`
What does this object do?
`protected int`
`getInputDimension()`
What is the input dimensionality of a Distorter?
`abstract String`
`getName()`
A name for this object
`protected int`
`getOutputDimension()`
What is the output dimensionality of a Distorter?
`abstract Distorter`
`inverse()`
Get the inverse of the transformation.
`double[][]`
`jacobian(double[] pix)`
Get the local Jacobian for the distortion.

### Methods inherited from class skyview.geometry.Transformer

`isInverse, transform, transform, transform`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## 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()