Package skyview.geometry.projecter

# Class Ait

java.lang.Object
skyview.geometry.Transformer
skyview.geometry.Projecter
skyview.geometry.projecter.Ait

All Implemented Interfaces:
  `Serializable`, `Component`

public class Ait extends Projecter
This class implements the AIT (Hammer-Aitov) projection. This version uses only the Math.sqrt function without any calls to trigonometric functions.

See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`Ait.AitDeproj`

## Constructor Summary

Constructors
Constructor
Description
`Ait()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`forwardTransform(double[] sphere, double[] plane)`
`String`
`getDescription()`
A description of the component
`String`
`getName()`
The name of the Component
`Deprojecter`
`inverse()`
Get the associated deprojecter
`boolean`
`isInverse(Transformer trans)`
Is this the inverse of another transformation?
`static void`
`main(String[] args)`
`static void`
`reverseTransform(double[] plane, double[] sphere)`
`double[]`
`shadowPoint(double x, double y)`
Find the shadow point for the given element.
`boolean`
`straddle(double[][] pnts)`
Does this figure straddle the boundary.
`boolean`
`straddleable()`
Is it possible for a pixel to straddle the valid region.
`double[][][]`
`straddleComponents(double[][] input)`
Get the straddle regions from a given set.
`final void`
`transform(double[] sphere, double[] plane)`
Convert a single point where the output vector is supplied.
`boolean`
`validPosition(double[] plane)`
Is this a valid position in the projection plane for this image.

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

`allValid, getInputDimension, getOutputDimension, getXTiling, getYTiling, tissot`

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

### Ait

public Ait()

## Method Details

### getName

public String getName()
The name of the Component

### getDescription

public String getDescription()
A description of the component

### inverse

public Deprojecter inverse()
Get the associated deprojecter

Specified by:
  `inverse` in class `Projecter`

### isInverse

public boolean isInverse(Transformer trans)
Is this the inverse of another transformation?

Specified by:
  `isInverse` in class `Transformer`

### transform

public final void transform(double[] sphere, double[] plane)
Description copied from class: `Transformer`
Convert a single point where the output vector is supplied.

Specified by:
  `transform` in class `Transformer`
Parameters:
  `sphere` - The input vector.
  `plane` - 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.

### forwardTransform

public static void forwardTransform(double[] sphere, double[] plane)

### reverseTransform

public static void reverseTransform(double[] plane, double[] sphere)

### validPosition

public boolean validPosition(double[] plane)
Description copied from class: `Projecter`
Is this a valid position in the projection plane for this image. This default is appropriate for all projections where the projection plane is infinite.

Overrides:
  `validPosition` in class `Projecter`

### straddleable

public boolean straddleable()
Description copied from class: `Projecter`
Is it possible for a pixel to straddle the valid region.

Overrides:
  `straddleable` in class `Projecter`

### straddle

public boolean straddle(double[][] pnts)
Does this figure straddle the boundary.

Overrides:
  `straddle` in class `Projecter`

### shadowPoint

public double[] shadowPoint(double x, double y)
Find the shadow point for the given element.

Overrides:
  `shadowPoint` in class `Projecter`

### straddleComponents

public double[][][] straddleComponents(double[][] input)
Get the straddle regions from a given set. We don't truncate the at the boundaries of the ellipse. We can probably calulate this (i.e., by looking to see if each component crosses the ellipse boundary) but invalid pixels should be handled by the validPosition check. It seems unlikely that anyone is handling this boundary perfectly...

Overrides:
  `straddleComponents` in class `Projecter`

### main

public static void main(String[] args)