stella.adapter
Class AuxiliaryGuider

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by stella.adapter.StellaGuider
                  extended by stella.adapter.AbstractStarGuider
                      extended by stella.adapter.AbstractAltAzGuider
                          extended by stella.adapter.AuxiliaryGuider
All Implemented Interfaces:
Cloneable, Guiding, Shutterless, Initializable, LocalizedSupplying, PropertySupplying, ResourceSupplying

public class AuxiliaryGuider
extends AbstractAltAzGuider
implements Shutterless

A guider that is located on an auxiliary telescope, mounted in parallel to themain, alt-az telescope. The particular nasty thing about such a setup is that there is no one-to-one translation of the main telescope field center (or to any point in the main focal plane) to a pixel on the field-of-view on the auxiliary telescope. So the getPinhole() method will retrieve subtely different Points as a function of central az,alt. In most cases, an altitude model will suffice, nevertheless an dependency on both parameters is anticipated. The VectorFunction created by KEY_POINTINGMODEL uses the guider's properties to create a function that delivers az-alt offsets from the average pixel position KEY_ROTATIONCENTER as a function of az and alt. This distance is converted into a pixel distance by rotating against the alignment angle and multiplying with the pixel scale. If an additional offset in centeroffset is set, this is added to this pointing offset, before returning the neew center in getPinhole(). If used with a fiber, this pinhold should correspond to the position of the fiber in the main telescope, if used with an imaging device, this pinhole should correspond to the derotator axis point on the CCD (not necessarrily the center of the CCD).


Nested Class Summary
 
Nested classes/interfaces inherited from class stella.adapter.AbstractStarGuider
AbstractStarGuider.Exposure, AbstractStarGuider.Magnitudes
 
Nested classes/interfaces inherited from class stella.adapter.StellaGuider
StellaGuider.Continuous, StellaGuider.Single
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Nested classes/interfaces inherited from interface stella.adapter.Guiding
Guiding.RawFrame, Guiding.RawStar
 
Field Summary
private  Vector2D centeroffset
          If an offset to the rotational center is set from the outside.
private static double DEFALIGNMENTANGLE
          Alignment angle of the guider ccd with respect to north.
private static double DEFDARKGUIDER
          The default dark/sky countrate.
private static double DEFDETECTIONLIMIT
          The default minimum instrumental magnitude to not be spurious.
private static double DEFDISTLIMIT
          The maximum degree distance from the center for guide stars.
private static double DEFELONGATIONMAX
          The default maximum elongation for round stars.
private static double DEFELONGATIONWIDTH
          The minimum fwhm for a valid star detection.
private static double DEFEPSILONMAG
          The default epsilon for the full light guider CCD.
private static float DEFFAINTLIMIT
          The minimum brightness for useful guide stars.
private static Vector2D DEFFLEXURECENTER
          The default deviation of the rotation center with cos(h).
private static double DEFGUIDERSCALE
          The image scale on the direct image.
private static double DEFKMAG
          The default k prime parameter for the full light guider CCD.
private static long DEFMAXTIMEGUIDER
          Maximum exposure time on acquire in ms.
private static double DEFREADOUTGUIDER
          The default bias level on the guider CCD.
private static Point2D DEFROTATIONCENTER
          The pinhole location on the direct image.
private static double DEFSHARPPEAK
          The default minimum sharpness for star images.
private static double DEFSHARPWIDTH
          The default maximum sharpness for star images.
private static double DEFSOURCEGUIDER
          The gain for a R=10 star.
private static double DEFSTRIPDISTANCE
          The maximum column offset of read-out stripes.
private static double DEFSTRIPESMAX
          The maximum stroke value read-out stripes may have.
private static double DEFSURESTRIPES
          Detection with a stroke below this are always stripes..
private static double DEFZETAMAG
          The default zero point for the guider CCD.
private  Vector2D dither
          If a dithering was set, this is added to ra de on center queries.
static String KEY_DISTLIMIT
          The faintness limit for useful guiding stars.
static String KEY_FAINTLIMIT
          The faintness limit for useful guiding stars.
static String KEY_POINTINGMODEL
          The rotation center deviation with cos(h).
static String KEY_ROTATIONCENTER
          The rotation center average on the auxiliary CCD.
static String KEY_SHARPLOWLIMIT
          Overexposed star may even fall below this.
static String KEY_SHARPLOWVALUE
          Then we give this for the sharpness indicator.
static String KEY_SPEAKS
          List of sharp peaks.
static String KEY_SWIDTHS
          List of sharp peaks.
private  VectorFunction pm
          The pointing model delivering the central offset az/alt.
private  Vector2D rade
          The position of the telescope after move.
 
Fields inherited from class stella.adapter.AbstractStarGuider
KEY_ALIGNMENTANGLE, KEY_ALTITUDEFLIP, KEY_DARKGUIDER, KEY_DETECTIONLIMIT, KEY_DIRECTPINHOLE, KEY_ELONGATIONMAX, KEY_ELONGATIONWIDTH, KEY_EPSILONMAG, KEY_GUIDERSCALE, KEY_KMAG, KEY_MAXTIMEGUIDER, KEY_READOUTGUIDER, KEY_SHARPPEAK, KEY_SHARPWIDTH, KEY_SOURCEGUIDER, KEY_STRIPDISTANCE, KEY_STRIPESMAX, KEY_SURESTRIPES, KEY_ZETAMAG, REFERENCEEXPOSE, REFERENCEMAG
 
Fields inherited from class stella.adapter.StellaGuider
biasfits, biastime, CLEAN, CLEANNAME, darkfits, darktime, GAUSS, GAUSSNAME, KEY_DEPTHMEDIAN, KEY_FITSDIR, KEY_GAUSSFWHM, KEY_GAUSSTRUNCATE, KEY_GUIDINGIMG, KEY_LOWPASS, KEY_MAGTRUNCATE, KEY_MATCHERVERSION, KEY_REDUCEDIR, KEY_REDUCETIME, KEY_SIZELOWPASS, KEY_SIZEMEDIAN, LOWPASS, LOWPASSNAME, maxsize, MEDIAN, MEDIANNAME, RECTANGULARMATCHER, REDUCED, REDUCEDNAME, SKYFRAME, STARREGISTER
 
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
AuxiliaryGuider(Map<String,String> prop)
          Constructs a new adapter helper, defaulting all properties.
 
Method Summary
protected  Vector2D getDitherOffset()
          Returns the dither offset in right ascension and declination currently applied.
protected  Vector2D getMeasuredOffset()
          Gets the measured offset in pixel.
protected  Point2D getPinhole()
          Returns the center of rotation.
protected  Vector2D getRaDeCenter()
          Returns a previously set center.
protected  List<StarDescription> getSuitableGuideStars()
          Returns the brightest star of the fov stars that will be within the specified CCD-rectangle on a perfectly pointing telescope.
 void init()
          On init, we try to construct the pointing model function from our properties.
protected  boolean isStar(Guiding.RawStar star)
          Returns true, if the star detected is truely belived to be a star.
 List<Guiding.RawStar> removeStripes(List<Guiding.RawStar> stars)
          Makes the underlying method available.
protected  void setDitherOffset(Vector2D rade)
          Sets a dither offset in right ascension and declination, both degrees, or resets it by issuing null here.
protected  void setMeasuredOffset(Vector2D pinhole)
          Sets a measured offset in pixel of the rotational center of the auxiliar guider.
protected  void setRaDeCenter(Vector2D pointto)
          Sets the requested pointing direction of the telescope in right ascension and declination and clears any dithering offset active.
 
Methods inherited from class stella.adapter.AbstractAltAzGuider
getCurrentAzAltRotation, getCurrentFieldRotation
 
Methods inherited from class stella.adapter.AbstractStarGuider
closestToPinhole, closestToPixel, detect, detect, estimateDataMin, estimateExposureTime, estimateGuiderMag, estimateReferenceMag, fieldOfViewOffset, fieldOfViewShift, formatWithUnique, getAltitude, getAzimuth, getCatalogPosition, getDerotator, getExpectedList, getFocus, getFov, getGuiderScale, getMaximumExposureTime, getNeighbours, getPinholeNeighbours, getRotation, getStrip, getUnique, offsetAzAltToPixel, pixelToAzAltOffset, removeSpurious, setFocus, setFov, setOrientationValues, setOrientationValues, setPinhole, setUnique, starOffset, starOffset, starShift, starShift
 
Methods inherited from class stella.adapter.StellaGuider
background, cancelContinuous, countSum, fluxInside, getCcd, getCcdSize, getContinuousList, getContinuousMinimumExpose, getCurrentExpsoureNumber, getFitsDir, getGuidingStars, getGuidingStars, getGuidingStars, isReady, match, photometry, prepareContinuous, reduceFitsFile, registerCcd, setBiasReduction, setDarkReduction, startContinuous, startContinuous, stopContinuous
 
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_ROTATIONCENTER

public static final String KEY_ROTATIONCENTER
The rotation center average on the auxiliary CCD.

See Also:
Constant Field Values

KEY_POINTINGMODEL

public static final String KEY_POINTINGMODEL
The rotation center deviation with cos(h).

See Also:
Constant Field Values

KEY_FAINTLIMIT

public static final String KEY_FAINTLIMIT
The faintness limit for useful guiding stars.

See Also:
Constant Field Values

KEY_DISTLIMIT

public static final String KEY_DISTLIMIT
The faintness limit for useful guiding stars.

See Also:
Constant Field Values

KEY_SPEAKS

public static final String KEY_SPEAKS
List of sharp peaks.

See Also:
Constant Field Values

KEY_SWIDTHS

public static final String KEY_SWIDTHS
List of sharp peaks.

See Also:
Constant Field Values

KEY_SHARPLOWLIMIT

public static final String KEY_SHARPLOWLIMIT
Overexposed star may even fall below this.

See Also:
Constant Field Values

KEY_SHARPLOWVALUE

public static final String KEY_SHARPLOWVALUE
Then we give this for the sharpness indicator.

See Also:
Constant Field Values

DEFFAINTLIMIT

private static final float DEFFAINTLIMIT
The minimum brightness for useful guide stars.

See Also:
Constant Field Values

DEFDISTLIMIT

private static final double DEFDISTLIMIT
The maximum degree distance from the center for guide stars.

See Also:
Constant Field Values

DEFREADOUTGUIDER

private static final double DEFREADOUTGUIDER
The default bias level on the guider CCD.

See Also:
Constant Field Values

DEFDARKGUIDER

private static final double DEFDARKGUIDER
The default dark/sky countrate.

See Also:
Constant Field Values

DEFSOURCEGUIDER

private static final double DEFSOURCEGUIDER
The gain for a R=10 star.

See Also:
Constant Field Values

DEFMAXTIMEGUIDER

private static final long DEFMAXTIMEGUIDER
Maximum exposure time on acquire in ms.

See Also:
Constant Field Values

DEFSHARPPEAK

private static final double DEFSHARPPEAK
The default minimum sharpness for star images.

See Also:
Constant Field Values

DEFSHARPWIDTH

private static final double DEFSHARPWIDTH
The default maximum sharpness for star images.

See Also:
Constant Field Values

DEFELONGATIONMAX

private static final double DEFELONGATIONMAX
The default maximum elongation for round stars.

See Also:
Constant Field Values

DEFELONGATIONWIDTH

private static final double DEFELONGATIONWIDTH
The minimum fwhm for a valid star detection.

See Also:
Constant Field Values

DEFDETECTIONLIMIT

private static final double DEFDETECTIONLIMIT
The default minimum instrumental magnitude to not be spurious.

See Also:
Constant Field Values

DEFSURESTRIPES

private static final double DEFSURESTRIPES
Detection with a stroke below this are always stripes..

See Also:
Constant Field Values

DEFSTRIPESMAX

private static final double DEFSTRIPESMAX
The maximum stroke value read-out stripes may have.

See Also:
Constant Field Values

DEFSTRIPDISTANCE

private static final double DEFSTRIPDISTANCE
The maximum column offset of read-out stripes.

See Also:
Constant Field Values

DEFGUIDERSCALE

private static final double DEFGUIDERSCALE
The image scale on the direct image. Pixel per radian, 1.3934"/px.

See Also:
Constant Field Values

DEFROTATIONCENTER

private static final Point2D DEFROTATIONCENTER
The pinhole location on the direct image. Calculated from mirror.


DEFFLEXURECENTER

private static final Vector2D DEFFLEXURECENTER
The default deviation of the rotation center with cos(h).


DEFALIGNMENTANGLE

private static final double DEFALIGNMENTANGLE
Alignment angle of the guider ccd with respect to north.

See Also:
Constant Field Values

DEFZETAMAG

private static final double DEFZETAMAG
The default zero point for the guider CCD.

See Also:
Constant Field Values

DEFKMAG

private static final double DEFKMAG
The default k prime parameter for the full light guider CCD.

See Also:
Constant Field Values

DEFEPSILONMAG

private static final double DEFEPSILONMAG
The default epsilon for the full light guider CCD.

See Also:
Constant Field Values

rade

private Vector2D rade
The position of the telescope after move.


dither

private Vector2D dither
If a dithering was set, this is added to ra de on center queries.


centeroffset

private Vector2D centeroffset
If an offset to the rotational center is set from the outside.


pm

private VectorFunction pm
The pointing model delivering the central offset az/alt.

Constructor Detail

AuxiliaryGuider

public AuxiliaryGuider(Map<String,String> prop)
Constructs a new adapter helper, defaulting all properties.

Method Detail

init

public void init()
On init, we try to construct the pointing model function from our properties.

Specified by:
init in interface Initializable
Overrides:
init in class PropertyResources

removeStripes

public List<Guiding.RawStar> removeStripes(List<Guiding.RawStar> stars)
Makes the underlying method available.

Specified by:
removeStripes in interface Shutterless
Overrides:
removeStripes in class AbstractStarGuider

getSuitableGuideStars

protected List<StarDescription> getSuitableGuideStars()
Returns the brightest star of the fov stars that will be within the specified CCD-rectangle on a perfectly pointing telescope.


getPinhole

protected Point2D getPinhole()
Returns the center of rotation. Calculates it according to the default center KEY_ROTATIONCENTER, the pointing model in KEY_POINTINGMODEL and the measured offset centeroffset. Uses
 xy=xy_rot+pm(az,alt).get(0,1)+centeroffset,
 
thus the pointing model should readily return pixel instead of azimuth and altitude correction, which is equivalent despite the fixed rotation of the guider CCD to the az/alt coordiante system.

Overrides:
getPinhole in class AbstractStarGuider
See Also:
setMeasuredOffset(vec_math.Vector2D)

isStar

protected boolean isStar(Guiding.RawStar star)
Returns true, if the star detected is truely belived to be a star. The auxiliary camera very likely overexposes on bright stars, which give you a sharpness around one, or a little bit higher up to the nominal peak.

Overrides:
isStar in class AbstractStarGuider

setRaDeCenter

protected void setRaDeCenter(Vector2D pointto)
Sets the requested pointing direction of the telescope in right ascension and declination and clears any dithering offset active.


getRaDeCenter

protected Vector2D getRaDeCenter()
Returns a previously set center.

Specified by:
getRaDeCenter in class AbstractStarGuider

setMeasuredOffset

protected void setMeasuredOffset(Vector2D pinhole)
Sets a measured offset in pixel of the rotational center of the auxiliar guider. This method is used if a secondary guiding unit is present. The offset set here is always added to the pixel position of the pinhole in getPinhole().

Parameters:
pinhole - pixel offset measured or null for reset.

getMeasuredOffset

protected Vector2D getMeasuredOffset()
Gets the measured offset in pixel.


setDitherOffset

protected void setDitherOffset(Vector2D rade)
Sets a dither offset in right ascension and declination, both degrees, or resets it by issuing null here. This offset is always added to the ra dec center returned by getRaDeCenter().


getDitherOffset

protected Vector2D getDitherOffset()
Returns the dither offset in right ascension and declination currently applied.