public class LinearPrimeFocus extends MomentsFocussing implements DriverDepending
AbstractFocussingUnit.MethodPropertyResources.Load, PropertyResources.URLResource| Modifier and Type | Field and Description |
|---|---|
private static double |
DEFA4ERROR
Default A4 error (2011-10-14).
|
private static double |
DEFA4SLOPE
Default A4 slope (2011-10-14).
|
private static double |
DEFALTSHIFT
Shift the image by 60 pixel to avoid obsuration by the pinhole.
|
private static String |
DEFALTTARGET
Default focus temperature parameter name.
|
private static double |
DEFAZSHIFT
Shift the image by 60 pixel to avoid obsuration by the pinhole.
|
private static Rectangle |
DEFBLOBFRAME
The default blob frame.
|
private static boolean |
DEFDOSAVE
If true we save the indivdual images during focus.
|
private static double |
DEFERRORCRUDE
Default temperature focusing error in steps.
|
private static double |
DEFEXPOSEFOCUS
The default S/N on acquire.
|
private static String |
DEFFOCUSAXIS
Default name of the linear dirver.
|
private static Dimension |
DEFFOCUSBINNING
The default binning on acquire.
|
private static double |
DEFFOCUSOFFSET
Default focusoffset fine.
|
private static int |
DEFFOCUSORDER
The moment during fine focus.
|
private static String |
DEFFOCUSTEMP
Default focus temperature parameter name.
|
private static String |
DEFFOCUSVALUE
Default focus temperature parameter name.
|
private static Dimension |
DEFFWHMBLOB
The default blob size.
|
private static Dimension |
DEFFWHMSIZE
The default size around the bright spot.
|
private static double |
DEFHIGHSKYSIGMA
Per default we do not do ADU rejection, thus this is zero.
|
private static String |
DEFLINEARDRIVER
Default name of the linear dirver.
|
private static double |
DEFLOWSKYSIGMA
Per default we do not do ADU rejection, thus this is zero.
|
private static boolean |
DEFMEDIANSKY
Default we use median for sky-level determination.
|
private static double |
DEFSEARCHOFFSET
Default focusoffset on step, where we search a coarse focus.
|
private static int |
DEFSEARCHORDER
The moment during coarse focus.
|
private static int |
DEFSEARCHSTEPS
Default half-number of search steps.
|
private static int |
DEFSKYFRAME
The defautl sky frame size.
|
private static double |
DEFSTEP0
Default step0 (March 2013)
|
private static double |
DEFSTEPSINALT
Default steptemp (March 2013)
|
private static double |
DEFSTEPTEMP
Default steptemp (March 2013)
|
private static double |
DEFSTEPTEMPSQ
Default steptemp (March 2013)
|
private static double |
DEFTEMP0
Default temp0
|
private static Dimension |
DEFZERNIKEBLOB
The default blob size.
|
private static Dimension |
DEFZERNIKESIZE
The default size around the bright spot.
|
private static double |
DEFZERNIKESTEP
Default no extra Zernike images.
|
private static double |
DEFZEXPOSE
Default no extra increase in exposure time on Zernikes.
|
private Value |
focus
The focus position updated by me.
|
private Value |
focusmodel
We have a focus model.
|
private Value |
height
The height of the target/telescope.
|
static String |
KEY_ALTSHIFT
Points to the offset to apply to altitude before focusing.
|
static String |
KEY_ALTTARGET
The name of the temperature sensor to use.
|
static String |
KEY_AZSHIFT
Points to the offset to apply to azimuth before focusing.
|
static String |
KEY_FOCUSAXIS
The name of the focus axis on the linear stage.
|
static String |
KEY_FOCUSMODEL
The temperature focus model from adapter master.
|
static String |
KEY_FOCUSTEMP
The name of the temperature sensor to use.
|
static String |
KEY_FOCUSVALUE
The name of the parameter that holds the focus.
|
static String |
KEY_LINEARDRIVER
The name of the driver in the master that holds the linear stage.
|
static String |
KEY_SHIFT
The name of the ADC focus shift parameter.
|
static String |
KEY_STEP0
The step position for focus temperature T0.
|
static String |
KEY_STEPSINALT
Per sinus height, we add this number of steps.
|
static String |
KEY_STEPTEMP
Per degree difference to T0, we add this number of steps.
|
static String |
KEY_STEPTEMPSQ
Per degree difference to T0, we add this number of steps.
|
static String |
KEY_TEMP0
At this temperature, optimal focus is at step0.
|
static String |
KEY_TEMPMIN
If this is set, we do not do a focus search in colder temps.
|
private MultiAxes |
linear
The Multi-axis driver used for linear positioning.
|
static String |
LINEARTYPE
The type of this unit as a string.
|
private int |
maxsteps
The focus axis can assume values from zero to this.
|
private Value |
shift
The external focus offset, e.g.
|
private Value |
temp
The temperature value.
|
EXTRAFOCAL, INTRAFOCAL, KEY_A4ERROR, KEY_A4SLOPE, KEY_BLOBFRAME, KEY_DOSAVE, KEY_ERRORCRUDE, KEY_EXPOSEFOCUS, KEY_FINEFOCUSCHAR, KEY_FOCUSBINNING, KEY_FOCUSFRAME, KEY_FOCUSOFFSET, KEY_FOCUSORDER, KEY_FWHMBLOB, KEY_FWHMMEASURE, KEY_FWHMSIZE, KEY_HIGHSKYSIGMA, KEY_LOWSKYSIGMA, KEY_MAXFOCUSEXPOSE, KEY_MEDIANSKY, KEY_MOMENTS, KEY_MOMENTSFRAME, KEY_SEARCHOFFSET, KEY_SEARCHORDER, KEY_SEARCHSTEPS, KEY_SKYFRAME, KEY_ZERNIKEBINNING, KEY_ZERNIKEBLOB, KEY_ZERNIKEFRAME, KEY_ZERNIKESIZE, KEY_ZERNIKESTEP, KEY_ZEXPOSEKEY_FITSDIR, KEY_XTENSIONKEY_UNITTYPEKEY_NOINITONCREATE, POSTFIX_ALPHABET, POSTFIX_BYTES, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_MODTIME, POSTFIX_URLKEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATORKEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOMECONFIG, KEY_CLASS| Constructor and Description |
|---|
LinearPrimeFocus(Map<String,String> prop)
Constructs a new focussing unit.
|
| Modifier and Type | Method and Description |
|---|---|
void |
configureUnit() |
Vector2D |
crudeFocus()
We calculate a focus position from the temperature and telescope
pointing.
|
protected boolean |
finished()
After a successful focus set
|
double |
getMaximumFocus()
Returns the maximum focus step this unit can reach, which is step 31400
something.
|
double |
getMinimumFocus()
Returns the minimum focus step this unit can reach, which is step 0.
|
String |
getUnitType()
This is the linear stage in the prime focus of stella one, used for
focusing.
|
protected boolean |
isValid()
We are valid only if we have the linear drive and the moments.
|
protected boolean |
prepare()
Prepare for a focus sequence.
|
boolean |
registerDriver(Driver ls)
Registers a
Driver object to this object. |
void |
registerGlobals(GlobalGrouping set)
We scan the parameter set for the windspeed, seeing, a counter for
spurious guiding losses and target losses.
|
boolean |
setFocus(double step)
We set the focus of the linear stage to the specified value.
|
boolean |
setFocusOffset(double step)
We set the offset of the linear stage to the specified value.
|
coarseFocus, fineFocus, getFwhm, scanFocus, setAbortbinningAndWindow, getAcquisitionExtension, getFitsDirectory, getOneExposure, isManual, reducedFloat, save, save, setManualdefaultGuidingStar, getMaster, init, isValid, setMasterclone, createFrom, createFrom, createFrom, createInstance, getApplet, getAsResources, getLocate, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, hasLocalURLs, initProperties, keyCreate, keyCreate, reload, setAppletaugment, augment, 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, parseObject, reload, removeProperty, requires, rescanned, setObject, setProperties, setProperty, stringProperties, toStringequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitdefaultBoolean, 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, stringPropertiespublic static final String LINEARTYPE
public static final String KEY_LINEARDRIVER
public static final String KEY_FOCUSAXIS
public static final String KEY_STEP0
public static final String KEY_TEMP0
public static final String KEY_STEPTEMP
public static final String KEY_STEPTEMPSQ
public static final String KEY_STEPSINALT
public static final String KEY_FOCUSMODEL
public static final String KEY_SHIFT
public static final String KEY_FOCUSTEMP
public static final String KEY_ALTTARGET
public static final String KEY_FOCUSVALUE
public static final String KEY_AZSHIFT
public static final String KEY_ALTSHIFT
public static final String KEY_TEMPMIN
private static final String DEFLINEARDRIVER
private static final String DEFFOCUSAXIS
private static final String DEFFOCUSVALUE
private static final String DEFFOCUSTEMP
private static final String DEFALTTARGET
private static final double DEFSTEP0
private static final double DEFTEMP0
private static final double DEFSTEPTEMP
private static final double DEFSTEPTEMPSQ
private static final double DEFSTEPSINALT
private static final double DEFFOCUSOFFSET
private static final double DEFSEARCHOFFSET
private static final double DEFALTSHIFT
private static final double DEFAZSHIFT
private static final int DEFSEARCHSTEPS
private static final boolean DEFDOSAVE
private static final double DEFEXPOSEFOCUS
private static final int DEFSEARCHORDER
private static final int DEFFOCUSORDER
private static final Dimension DEFFOCUSBINNING
private static final double DEFZERNIKESTEP
private static final double DEFZEXPOSE
private static final double DEFA4SLOPE
private static final double DEFA4ERROR
private static final Rectangle DEFBLOBFRAME
private static final Dimension DEFZERNIKEBLOB
private static final Dimension DEFFWHMBLOB
private static final Dimension DEFZERNIKESIZE
private static final Dimension DEFFWHMSIZE
private static final int DEFSKYFRAME
private static final boolean DEFMEDIANSKY
private static final double DEFLOWSKYSIGMA
private static final double DEFHIGHSKYSIGMA
private static final double DEFERRORCRUDE
private MultiAxes linear
private int maxsteps
private Value focusmodel
private Value temp
private Value height
private Value shift
private Value focus
public double getMinimumFocus()
getMinimumFocus in class MomentsFocussingpublic double getMaximumFocus()
getMaximumFocus in class MomentsFocussingpublic boolean registerDriver(Driver ls)
DriverDependingDriver object to this object. If the driver
handed over is not of the appropriate type or registering to the
driver fails for any other reson, this method should return false.RS485Server and its subclasses.registerDriver in interface DriverDependingpublic void registerGlobals(GlobalGrouping set)
registerGlobals in interface GlobalDependingregisterGlobals in class MomentsFocussingpublic void configureUnit()
throws ConfigurationException
configureUnit in class AncillaryCameraUnitConfigurationExceptionprotected boolean isValid()
isValid in class MomentsFocussingprotected boolean prepare()
AbstractFocussingUnitprepare in class AbstractFocussingUnitprotected boolean finished()
AbstractFocussingUnitfinished in class AbstractFocussingUnitpublic Vector2D crudeFocus()
KEY_SHIFT
parameter.
The stage is *not* moved.
crudeFocus in interface Focussingpublic String getUnitType()
getUnitType in class GenericUnitpublic boolean setFocus(double step)
throws FocussingException
setFocus in interface FocussingFocussingExceptionpublic boolean setFocusOffset(double step)
throws FocussingException
setFocusOffset in interface FocussingFocussingException