astro.fits
Class Arithmetics

java.lang.Object
  extended by astro.fits.Arithmetics

public class Arithmetics
extends Object

Collection of image arithmetics.


Nested Class Summary
static class Arithmetics.Op
           
static class Arithmetics.Sum
          Adds all fits that bucket into the first wildcard.
 
Constructor Summary
Arithmetics()
           
 
Method Summary
static nom.tam.fits.ImageData add(nom.tam.fits.ImageHDU a1, nom.tam.fits.ImageHDU a2)
          We add to image data of the same size.
private static nom.tam.fits.ImageData arithmetic(nom.tam.fits.ImageHDU a1, nom.tam.fits.ImageHDU a2, Arithmetics.Op op)
          Takes two ImageHDU and performs one of the four arithmetric operation on it.
static nom.tam.fits.ImageData between(nom.tam.fits.ImageHDU a1, nom.tam.fits.ImageHDU a2, double w)
          Returns balanced data in between two Image HDU such that the weight factor is applied two the first data and (1-weight) is applied to the second data and the sum is returned.
static nom.tam.fits.ImageData divide(nom.tam.fits.ImageHDU a1, nom.tam.fits.ImageHDU a2)
          We divide image data of the same size.
static nom.tam.fits.ImageData multiply(nom.tam.fits.ImageHDU a1, nom.tam.fits.ImageHDU a2)
          We mulitply image data of the same size.
static nom.tam.fits.ImageHDU scalarAdd(nom.tam.fits.ImageHDU a1, double val)
          We add to an image hdu a scalar, retaining all header entries possible.
private static nom.tam.fits.ImageHDU scalarArithmetic(nom.tam.fits.ImageHDU a1, double val, Arithmetics.Op op)
          Takes an ImageHDU and performs one of the four arithmetric operation on it.
static nom.tam.fits.ImageHDU scalarDivide(nom.tam.fits.ImageHDU a1, double val)
          We multiply an image hdu with a scalar, retaining all header entries possible.
static nom.tam.fits.ImageHDU scalarMultiply(nom.tam.fits.ImageHDU a1, double val)
          We multiply an image hdu with a scalar, retaining all header entries possible.
static nom.tam.fits.ImageHDU scalarSubtract(nom.tam.fits.ImageHDU a1, double val)
          We subtract from an image hdu a scalar, retaining all header entries possible.
static nom.tam.fits.ImageData subtract(nom.tam.fits.ImageHDU a1, nom.tam.fits.ImageHDU a2)
          We subtract image data of the same size.
static nom.tam.fits.ImageHDU sum(List<nom.tam.fits.ImageHDU> all)
          Average a list of hdus.
static nom.tam.fits.Fits sumUpFits(List<nom.tam.fits.Fits> fits, int ext)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Arithmetics

public Arithmetics()
Method Detail

sum

public static nom.tam.fits.ImageHDU sum(List<nom.tam.fits.ImageHDU> all)
                                 throws nom.tam.fits.FitsException
Average a list of hdus.

Throws:
nom.tam.fits.FitsException

between

public static final nom.tam.fits.ImageData between(nom.tam.fits.ImageHDU a1,
                                                   nom.tam.fits.ImageHDU a2,
                                                   double w)
                                            throws nom.tam.fits.FitsException
Returns balanced data in between two Image HDU such that the weight factor is applied two the first data and (1-weight) is applied to the second data and the sum is returned. Useful for estimating calibration data from dusk and dawn to the center of the night. Return data is always float.

Throws:
nom.tam.fits.FitsException

scalarAdd

public static final nom.tam.fits.ImageHDU scalarAdd(nom.tam.fits.ImageHDU a1,
                                                    double val)
                                             throws nom.tam.fits.FitsException
We add to an image hdu a scalar, retaining all header entries possible.

Throws:
nom.tam.fits.FitsException

scalarSubtract

public static final nom.tam.fits.ImageHDU scalarSubtract(nom.tam.fits.ImageHDU a1,
                                                         double val)
                                                  throws nom.tam.fits.FitsException
We subtract from an image hdu a scalar, retaining all header entries possible.

Throws:
nom.tam.fits.FitsException

scalarMultiply

public static final nom.tam.fits.ImageHDU scalarMultiply(nom.tam.fits.ImageHDU a1,
                                                         double val)
                                                  throws nom.tam.fits.FitsException
We multiply an image hdu with a scalar, retaining all header entries possible.

Throws:
nom.tam.fits.FitsException

scalarDivide

public static final nom.tam.fits.ImageHDU scalarDivide(nom.tam.fits.ImageHDU a1,
                                                       double val)
                                                throws nom.tam.fits.FitsException
We multiply an image hdu with a scalar, retaining all header entries possible.

Throws:
nom.tam.fits.FitsException

add

public static final nom.tam.fits.ImageData add(nom.tam.fits.ImageHDU a1,
                                               nom.tam.fits.ImageHDU a2)
                                        throws nom.tam.fits.FitsException
We add to image data of the same size. The result is always a float.

Throws:
nom.tam.fits.FitsException

subtract

public static final nom.tam.fits.ImageData subtract(nom.tam.fits.ImageHDU a1,
                                                    nom.tam.fits.ImageHDU a2)
                                             throws nom.tam.fits.FitsException
We subtract image data of the same size. The result is always a float.

Throws:
nom.tam.fits.FitsException

multiply

public static final nom.tam.fits.ImageData multiply(nom.tam.fits.ImageHDU a1,
                                                    nom.tam.fits.ImageHDU a2)
                                             throws nom.tam.fits.FitsException
We mulitply image data of the same size. The result is always a float.

Throws:
nom.tam.fits.FitsException

divide

public static final nom.tam.fits.ImageData divide(nom.tam.fits.ImageHDU a1,
                                                  nom.tam.fits.ImageHDU a2)
                                           throws nom.tam.fits.FitsException
We divide image data of the same size. The result is always a float.

Throws:
nom.tam.fits.FitsException

arithmetic

private static final nom.tam.fits.ImageData arithmetic(nom.tam.fits.ImageHDU a1,
                                                       nom.tam.fits.ImageHDU a2,
                                                       Arithmetics.Op op)
                                                throws nom.tam.fits.FitsException
Takes two ImageHDU and performs one of the four arithmetric operation on it. Order is important for #SUB and #DIV. The returned image data is always float.

Throws:
nom.tam.fits.FitsException

scalarArithmetic

private static final nom.tam.fits.ImageHDU scalarArithmetic(nom.tam.fits.ImageHDU a1,
                                                            double val,
                                                            Arithmetics.Op op)
                                                     throws nom.tam.fits.FitsException
Takes an ImageHDU and performs one of the four arithmetric operation on it. The returned image data is always float. All header cards, except the data type description, are retained from the old image hdu

Throws:
nom.tam.fits.FitsException

sumUpFits

public static nom.tam.fits.Fits sumUpFits(List<nom.tam.fits.Fits> fits,
                                          int ext)
                                   throws nom.tam.fits.FitsException,
                                          IOException
Throws:
nom.tam.fits.FitsException
IOException