stella.adapter
Class ModelDrift

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by stella.adapter.AbstractPinholeShift
                  extended by stella.adapter.AbstractPinholeModel
                      extended by stella.adapter.ModelDrift
All Implemented Interfaces:
Cloneable, PinholeShift, Initializable, LocalizedSupplying, PropertySupplying, ResourceSupplying

public class ModelDrift
extends AbstractPinholeModel

Class that determines the pixel shift between pinhole and star plus the pinhole drift to the zero position, all by modelling the star plus pinhole. The star is a proportional to the Moffat function,

   psf(r)=(β-1)/πα²[1+(r/α)²],
   
where FWHM = 2α√(21/β-1).
Subtracted from that is a pinhole, which is modeled with an arctan according to
   ph(r)=1+(atan(k*(x-FWHM/2))-atan(k*(x+FWHM/2)))/π,
   
where bigger k's mean steeper slope. Additionally to the shift of the pinhole, we also get a hold on the seeing and total flux of the star.

This class is similar to ModelShift, but it goes a step further and also models pinhole movements. This can only be used on very high S/N date.


Nested Class Summary
static class ModelDrift.PinholeDrift
          A pinhole model is the model of a star with fitted intensity and FWHM close to the fixed pinhole position at the given coordinates.
static class ModelDrift.Test
          Test class.
 
Nested classes/interfaces inherited from class stella.adapter.AbstractPinholeModel
AbstractPinholeModel.PinholeModel
 
Nested classes/interfaces inherited from class stella.adapter.AbstractPinholeShift
AbstractPinholeShift.Background, AbstractPinholeShift.Evaluate, AbstractPinholeShift.Reconstruct
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private static double DEFMOFFATBETA
          The moffat-beta, 4.765 is literature value.
private static double DEFPINHOLEDEEP
          Broad-band anti-reflective coating, typically.
private static double DEFPINHOLESIZE
          Default size (FWHM) of pinhole, pixel.
private static double DEFPINHOLESTEEP
          Pinhole model steepness.
private static boolean DEFUSESIMPLEX
          Default we are not using simplex.
static String KEY_MOFFATBETA
          The moffat-beta, 4.765 is literature value.
static String KEY_PINHOLEDEEP
          The pinhole model minimum transmission .
static String KEY_PINHOLESIZE
          The pinhole diameter.
static String KEY_PINHOLESTEEP
          The pinhole model steepness .
static String KEY_USESIMPLEX
          If false, we use Levenberg-Marquardt algorithm, otherwise Simplex.
 
Fields inherited from class stella.adapter.AbstractPinholeModel
fit, KEY_MU, KEY_PIXELSCALE
 
Fields inherited from class stella.adapter.AbstractPinholeShift
KEY_ADNOISE, KEY_APPLICABLE, KEY_GAIN, KEY_PINHOLE, KEY_SIGMACLIP, KEY_SKYTHICK
 
Fields inherited from class util.PropertyBundles
KEY_LOCALECOUNTRY, KEY_LOCALELANGUAGE, KEY_RESOURCEBUNDLES
 
Fields inherited from class util.PropertyResources
KEY_NOINITONCREATE, localurl, locate, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_URL, urlset
 
Fields inherited from class util.PropertyContainer
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATOR
 
Fields inherited from interface util.ResourceSupplying
KEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME
 
Fields inherited from interface util.PropertySupplying
CONFIG, KEY_CLASS
 
Constructor Summary
ModelDrift(Map<String,String> prop)
          Constructs a model-shift.
 
Method Summary
protected  AbstractPinholeModel.PinholeModel generatePinholeModel(nom.tam.fits.ImageHDU hdu, Rectangle frame, double back, double backerr, Point2D pinhole)
          This method intializes the pinhole model used in the fitting process during AbstractPinholeModel.initFiberView(nom.tam.fits.Fits).
 Vector2D getBackground(nom.tam.fits.ImageHDU hdu)
          This method calculates the background as the median of a frame at the outer edge of the applicable window.
 double getFlux()
          Returns the total flux from the last solution, if possible.
 double getFwhm()
          Returns the fwhm from the last solution, if possible.
 Point2D getPinholePosition()
          Returns the pinhole position.
 Point2D getStarPosition()
          Returns the star position.
 Point2D initFiberView(nom.tam.fits.Fits ccd)
          Returns the center of gravity shift of the image from the pinhole position.
 
Methods inherited from class stella.adapter.AbstractPinholeModel
getGnuPlotLines, getMeasures, getModel, getModel, getRelativeStarModel, getRemainingFlux, getResiduals, getRms, getSolution, getStarModel, sumup
 
Methods inherited from class stella.adapter.AbstractPinholeShift
backgroundFrameMean, backgroundFrameMedian, backgroundMean, backgroundMedian, getAduSignal, getApplicableWindow, getSignalToNoise, init
 
Methods inherited from class util.PropertyBundles
clone, getLocalized, getLocalized, getLocalizedString, getLocalizedString, loadResource
 
Methods inherited from class util.PropertyResources
createFrom, createFrom, createFrom, getApplet, getAsResources, getLocalClassLoader, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, keyCreate, keyCreate, reload, setApplet
 
Methods inherited from class util.PropertyContainer
augment, augment, augment, defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsEnums, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, isNew, parseObject, reload, removeProperty, rescanned, setObject, setProperties, setProperty, stringProperties, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface util.ResourceSupplying
getResource, getResourceAsStream, getResources
 
Methods inherited from interface util.PropertySupplying
defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, parseObject, removeProperty, setObject, setProperty, stringProperties
 

Field Detail

KEY_MOFFATBETA

public static final String KEY_MOFFATBETA
The moffat-beta, 4.765 is literature value.

See Also:
Constant Field Values

KEY_PINHOLESIZE

public static final String KEY_PINHOLESIZE
The pinhole diameter.

See Also:
Constant Field Values

KEY_PINHOLESTEEP

public static final String KEY_PINHOLESTEEP
The pinhole model steepness .

See Also:
Constant Field Values

KEY_PINHOLEDEEP

public static final String KEY_PINHOLEDEEP
The pinhole model minimum transmission .

See Also:
Constant Field Values

KEY_USESIMPLEX

public static final String KEY_USESIMPLEX
If false, we use Levenberg-Marquardt algorithm, otherwise Simplex.

See Also:
Constant Field Values

DEFMOFFATBETA

private static final double DEFMOFFATBETA
The moffat-beta, 4.765 is literature value.

See Also:
Constant Field Values

DEFPINHOLESIZE

private static final double DEFPINHOLESIZE
Default size (FWHM) of pinhole, pixel.

See Also:
Constant Field Values

DEFPINHOLESTEEP

private static final double DEFPINHOLESTEEP
Pinhole model steepness.

See Also:
Constant Field Values

DEFPINHOLEDEEP

private static final double DEFPINHOLEDEEP
Broad-band anti-reflective coating, typically.

See Also:
Constant Field Values

DEFUSESIMPLEX

private static final boolean DEFUSESIMPLEX
Default we are not using simplex.

See Also:
Constant Field Values
Constructor Detail

ModelDrift

public ModelDrift(Map<String,String> prop)
Constructs a model-shift.

Method Detail

getBackground

public Vector2D getBackground(nom.tam.fits.ImageHDU hdu)
This method calculates the background as the median of a frame at the outer edge of the applicable window.

Returns:
The background ADU in x and its ADU-sigma in y.

generatePinholeModel

protected AbstractPinholeModel.PinholeModel generatePinholeModel(nom.tam.fits.ImageHDU hdu,
                                                                 Rectangle frame,
                                                                 double back,
                                                                 double backerr,
                                                                 Point2D pinhole)
                                                          throws nom.tam.fits.FitsException
Description copied from class: AbstractPinholeModel
This method intializes the pinhole model used in the fitting process during AbstractPinholeModel.initFiberView(nom.tam.fits.Fits). We supply the image data, the applicable image rectangle, the background estimate plus its error and the zero-order pinhole position.

Specified by:
generatePinholeModel in class AbstractPinholeModel
Throws:
nom.tam.fits.FitsException

initFiberView

public Point2D initFiberView(nom.tam.fits.Fits ccd)
Returns the center of gravity shift of the image from the pinhole position. The true center of gravity is scaled with two functions to return true shifts.

Specified by:
initFiberView in interface PinholeShift
Overrides:
initFiberView in class AbstractPinholeModel
Parameters:
ccd - The image of the pinhole entrance
Returns:
The pixel shift from the pinhole center to the star.

getPinholePosition

public Point2D getPinholePosition()
Returns the pinhole position.

Specified by:
getPinholePosition in interface PinholeShift
Overrides:
getPinholePosition in class AbstractPinholeShift

getStarPosition

public Point2D getStarPosition()
Returns the star position.

Specified by:
getStarPosition in class AbstractPinholeModel

getFlux

public double getFlux()
Returns the total flux from the last solution, if possible.

Specified by:
getFlux in interface PinholeShift
Overrides:
getFlux in class AbstractPinholeShift

getFwhm

public double getFwhm()
Returns the fwhm from the last solution, if possible.

Specified by:
getFwhm in interface PinholeShift
Overrides:
getFwhm in class AbstractPinholeShift