Package skyview.geometry.distorter

# Class DSS.DSSInv

java.lang.Object
skyview.geometry.Transformer
skyview.geometry.Distorter
skyview.geometry.distorter.DSS.DSSInv

All Implemented Interfaces:
  `Serializable`, `Component`

Enclosing class:
  `DSS`

public class DSS.DSSInv extends Distorter
This inner class is the inverse of the DSS Distorter and corrects the distortion generated there. For the DSS projection, this direction is described analytically using a polynomial expansion, while the 'forward' distortion must be done by inverting the polynomial using Newton's method.

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`DSSInv()`

## Method Summary

Modifier and Type
Method
Description
`String`
`getDescription()`
Get a description of this component
`String`
`getName()`
Get the name of this component
`Distorter`
`inverse()`
Get the inverse Distorter
`Distorter`
`invert()`
Get the forward distorter back
`boolean`
`isInverse(Transformer t)`
Is this the inverse of another distorter?
`double[][]`
`jacobian(double[] x)`
Get the local Jacobian for the distortion.
`void`
`transform(double[] x, double[] y)`
Transform a point

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

`applyBeforeScaling, getInputDimension, getOutputDimension`

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

`transform, transform`

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

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

## Constructor Details

### DSSInv

public DSSInv()

## Method Details

### invert

public Distorter invert()
Get the forward distorter back

### getName

public String getName()
Get the name of this component

Specified by:
  `getName` in interface `Component`
Specified by:
  `getName` in class `Distorter`

### getDescription

public String getDescription()
Get a description of this component

Specified by:
  `getDescription` in interface `Component`
Specified by:
  `getDescription` in class `Distorter`

### inverse

public Distorter inverse()
Get the inverse Distorter

Specified by:
  `inverse` in class `Distorter`

### isInverse

public boolean isInverse(Transformer t)
Is this the inverse of another distorter?

Specified by:
  `isInverse` in class `Transformer`

### transform

public void transform(double[] x, double[] y)
Transform a point

Specified by:
  `transform` in class `Transformer`
Parameters:
  `x` - The input vector.
  `y` - The output vector, it may be the same as the input vector if the dimensionalities are the same. All transformers are expected to work with aliased inputs and output.

### jacobian

public double[][] jacobian(double[] x)
Description copied from class: `Distorter`
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.

Overrides:
  `jacobian` in class `Distorter`
Parameters:
  `x` - The input position.
Returns:
  The Jabobian matrix.