public abstract class CameraMaster extends GenericMaster implements CameraControlling, Reloadable
CcdDriver which itself is based on a C++ rpc call to thomas fechner's
controller. This controller allows no notification when readout starts (or,
when the exposure has finished). To circumvent this but still have some
handle of control, we send an acknowledge command after the exposure time
plus the value stated in #KEY_EXPOSURESAFETY which should be set
rather conservatively, i.e. to a few seconds at least.
The following commands are supported by the CCD, additionally to the four
default commands AbortCcd, ResetCcd, ParkCcd, and
StatusCcd.
GeometryCcd: Defines the active area on the CCD. Is valid for
all consecuetive CCD-readouts until the geometry is changed again with
a new GeometryCcd command.BiasCcd: Takes a bias frame. If a fits-filename is provided, the
data is writtn to the fits file, otherwise the data is deleted.DarkCcd: Takes a dark exposure. The exposure time is specified on
the second command line. If a fits-filename is provided, the data is writtn
to the fits file, otherwise the data is deleted.ScientificCcd: Takes a scientific exposure. The exposure time is
specified on the second command line. If a fits-filename is provided, the
data is writtn to the fits file, otherwise the data is deleted.ExposureAbortCcd: Aborts current read-out. If a fits-filename is
provided, the data collected so far is writtn to the fits file, otherwise the
data is deleted.FitsCcd: Adds parameters to the fits header information. As the
parameter value changes, so may the data writtn to the header.SesControlling interface.| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
CameraMaster.CardInfo |
private class |
CameraMaster.CcdWatch
This class reads from the CCD the current values of temperature and
pressure and compares them to set values.
|
private class |
CameraMaster.HeaderGather |
(package private) static class |
CameraMaster.When |
GenericMaster.StandaloneReceiverTorso.CommandHandlerPropertyResources.Load, PropertyResources.URLResource| Modifier and Type | Field and Description |
|---|---|
private Map<String,CameraMaster.CardInfo> |
addfits
The fits header data added during operation, see
FitsCcd. |
private static double |
BIASEXPOSURE
The exposure time on bias frames if driver does not support bias, ms.
|
private static String |
BIASTYPE
The imagetype value for manual bias.
|
protected CcdDriver |
camera
The driver object for the camera.
|
private Map<String,CameraMaster.CardInfo> |
ccdfits
CCD info fits.
|
private Map<String,Object> |
ccdinfo
Last info retrieved.
|
protected static String |
COMMENTSEPARATOR
In fits-keys map the separator between values and comments.
|
private static String |
DARKTYPE
The imagetype value for manual dark.
|
static String |
DATENUMBERSEPARATOR
Separatesd the date from the running number.
|
private static String |
DEFABORTFITS
The default fits-file name head for aborted exposures.
|
private Map<String,CameraMaster.CardInfo> |
defaultfits
The fits header data given as defaults.
|
private static String |
DEFBIASFITS
The default fits-file name head for bias exposures.
|
private static String |
DEFDARKFITS
The default fits-file name head for bias exposures.
|
private static double |
DEFEXPOSEBUFFER
The default multiplier for exposure time.
|
private static boolean |
DEFLOGWATCH
If true, values are logged to syslog.
|
private static long |
DEFMAXEXPOSURE
The default maximal exposure time
|
private static int |
DEFMAXQUERIES
Default property value.
|
private static long |
DEFQUERYCYCLE
Default property value.
|
private static long |
DEFSAFETYTIME
The default safety time.
|
static String |
DEFSCIENCEFITS
The default fits-file name head for bias exposures.
|
private Thread |
expose
A thread doing a single exposure.
|
private static DateFormat |
FITSDATE
The formatter for fits dates.
|
private static String |
FITSEXTENSION
Default fits extension.
|
protected Map<String,CameraMaster.CardInfo> |
fixfits
The fits header data with unchangable fits entries, keys to val/rem.
|
private CameraMaster.HeaderGather |
gather |
private Thread |
header
For efficiency, collect header info during expose.
|
protected static String |
IMAGETYPE
The special imagetype key that is set during manual bias/flat/science.
|
static String |
KEY_ABORTEXPOSURETIME
Time for the abort exposure command, first part, without readout time.
|
static String |
KEY_ABORTFITS
The key to the header for science fits on the ccd host.
|
static String |
KEY_ALWAYSZERO
If true, the shutter is set to its zero position after each exposure.
|
static String |
KEY_ARCHIVEPATH
The fits path on the archive host.
|
static String |
KEY_BIASFITS
The key to the header for bias fits on the ccd host.
|
static String |
KEY_BIASTIME
Time for the bias command, first part, without readout time.
|
static String |
KEY_CAMERA
The key matching the name of ccd driver.
|
static String |
KEY_CAMERABIAS
If true, driver supports bias frames directly.
|
static String |
KEY_CAMERADARK
If true, driver supports dark frames.
|
static String |
KEY_CCDFITSKEYS
A map of CCD-keywords to keep and additional comments.
|
static String |
KEY_CCDWATCHMAXIMUM
If this is set, we observe these CCD-info key for not being lower.
|
static String |
KEY_CCDWATCHMINIMUM
If this is set, we observe these CCD-info key for not being higher.
|
static String |
KEY_DARKFITS
The key to the header for dark fits on the ccd host.
|
static String |
KEY_DATEFORMAT
The formatter for the date.
|
static String |
KEY_DELETEFITS
If true, fits files on the ccd host are deleted after copying.
|
static String |
KEY_ENABLEWATCH
If set to any time other than zero, this is the watch intervall.
|
static String |
KEY_EXPOSEBUFFER
The multiplier for the exposure time.
|
static String |
KEY_EXPOSURETRIGGER
The key matching the name of the expose-trigger.
|
static String |
KEY_FITSKEYS
The key pointig to default Fits-header information, keys section.
|
static String |
KEY_FITSTIME
Time for the fits command.
|
static String |
KEY_FIXFITSKEYS
A map of fixed fits keywords.
|
static String |
KEY_GEOMETRYTIME
Time for the geometry command.
|
static String |
KEY_LOGWATCH
If true, values are logged to syslog.
|
static String |
KEY_MANUALSHUTTER
If true, the shutter is moved manually.
|
static String |
KEY_MASTERPATH
The fits path how the master can access the science ccd host data.
|
static String |
KEY_MAXEXPOSURE
The maximum exposure time allowed for science frames.
|
static String |
KEY_MAXQUERIES
The time interval at which the status is queried.
|
static String |
KEY_MINEXPOSURE
The minimum exposure time allowed for science frames.
|
static String |
KEY_QUERYCYCLE
The time interval at which the status is queried.
|
static String |
KEY_READOUTTIME
The multiplier for the expected read-out time.
|
static String |
KEY_SAFETYTIME
If non-null, added to the exposure time for ack(2) on exposures.
|
static String |
KEY_SCIENCEFITS
The key to the header for science fits on the ccd host.
|
static String |
KEY_TRANSFERTRIGGER
The key matching the name of the transfer-trigger.
|
static String |
KEY_WATCHMAXVALUES
The vaules below which we may not fall during watch.
|
static String |
KEY_WATCHMINVALUES
The vaules above which we may not fall during watch.
|
static String |
KEY_WRITETIME
The time for the expected fits write-time.
|
private String |
lasthead
Last type of fits, for aborted exposures.
|
private static String |
OBJECTTYPE
The imagetype value for manual science.
|
protected static String |
STRING |
protected static String |
TYPEREM
The imagetpye comment for manual operation.
|
private CameraMaster.CcdWatch |
watch
If we watch the ccd, this is non-null.
|
DEFUNIQUE, KEY_ABORTTIME, KEY_AUTOMATIC, KEY_COMMTIME, KEY_COMMUNICATOR, KEY_DRIVERS, KEY_HISTORYDB, KEY_INITTIME, KEY_NODB, KEY_OBSERVEDB, KEY_OVERRULEAUTO, KEY_PARKTIME, KEY_PERMISSIONDB, KEY_PROPOSALDB, KEY_QUITTIME, KEY_REAUTO, KEY_RESETTIME, KEY_SET, KEY_SHUTDOWNDELAY, KEY_STATUSTIME, KEY_TARGETDB, KEY_TASKDB, KEY_UNIQUE, KEY_USERDB, lastabort, lastinit, lastpark, lastreset, telescopeKEY_BIND, KEY_BINDNAME, KEY_COMMANDCASTER, KEY_ERRORCOOLKEY_ALIVE, KEY_EXPORTPORT, KEY_INIT, KEY_LISTENERNAME, KEY_RETRY, KEY_RETRYSLEEPKEY_NOINITONCREATE, POSTFIX_ALPHABET, POSTFIX_BYTES, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_MODTIME, POSTFIX_URLKEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATORNAMING_EXTENSIONNAMING_EXTENSIONKEY_INITDEPTHKEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOMECONFIG, KEY_CLASS| Modifier | Constructor and Description |
|---|---|
protected |
CameraMaster(Map<String,String> prop)
Constructs a new CCD master.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
abortExposure(String writeto)
Supported only with with
Asynchronous cameras. |
protected boolean |
abortMaster(CommandEvent cmd)
Aborts the CCD if possible.
|
private boolean |
abortTake()
Aborts the exposure.
|
boolean |
accepts(CommandEvent ce)
Checks if the command received is accepted by the ccd master.
|
boolean |
addFitsKey(String key,
String parametername,
String comment)
Adds a key to the fits header section.
|
protected abstract boolean |
closeShutter()
For cameras with a 'manual' shutter, i.e., a shutter that is not
auto-operated by the CCD controller.
|
private boolean |
ensureExposureFinished()
We wait until the camera is reading out.
|
void |
exit()
Stops the timer in this VM.
|
private boolean |
fitsKey(String key,
String parameter,
String comment)
Adds/removes a fits header key from the customizable table.
|
protected String |
formatFitsName(String fill)
Formatting a fits file name from a place-holder supplied.
|
private boolean |
geometry(CommandEvent cmd,
int xoff,
int yoff,
int xsize,
int ysize,
int xbin,
int ybin)
Sets the geometry of the next image on the ccd.
|
protected int |
getAcknowledgeNumber(CommandEvent cmd)
Returns the number of acknowledge events produced for each command.
|
boolean |
getBiasExposure(String fits)
Takes a bias image.
|
static List<MHeaderCard> |
getCcdCards(Map<String,CameraMaster.CardInfo> keep,
Map<String,?> ccd)
Adds information received from the ccd driver.
|
protected long |
getCompletionTime(CommandEvent cmd,
int acknr)
Returns the individual completion times.
|
boolean |
getDarkExposure(String fits,
double time)
Takes a dark exposure.
|
static List<MHeaderCard> |
getFixedCards(Map<String,CameraMaster.CardInfo> fix)
Returns a list of
MHeaderCards from a fixed info map. |
static List<MHeaderCard> |
getParameterCards(Map<String,CameraMaster.CardInfo> give,
GlobalGrouping set)
Writes fits header information.
|
private File |
getPermanentFile(File fits) |
boolean |
getScienceExposure(String fits,
double time)
Takes a scientific exposure.
|
protected void |
init2()
The main initialization section.
|
protected boolean |
initializeMaster(CommandEvent cmd)
Initializes the CCD.
|
protected abstract boolean |
initShutter()
If no explicit shutter action is required, simply return true here.
|
void |
initStep(int curstep)
Delay the init method of the receiver torso until we finished the
initialization of the ccd master.
|
static void |
main(String[] arg)
Starts the ccd master with the given properties or directly accesses a
running CCD master.
|
protected abstract boolean |
openShutter()
For cameras with a 'manual' shutter, i.e., a shutter that is not
auto-operated by the CCD controller.
|
protected boolean |
parkMaster(CommandEvent cmd)
Parks the CCD.
|
private Map<String,CameraMaster.CardInfo> |
parseToKey(String pk) |
private static Class<?> |
probeForType(Object val)
Deprecated.
|
protected boolean |
processCommand(CommandEvent cmd,
int acknr)
Process the command.
|
void |
quit()
Gracefully quite the ccd master.
|
protected void |
quitMaster(CommandEvent cmd)
Aborts the exposure and proceeds with the parental method (closes
drivers).
|
protected boolean |
readout(boolean shuttermoved)
Simulates the readout process.
|
boolean |
removeAllFitsKeys()
Removes all except the default fits header keys.
|
boolean |
removeFitsKey(String key)
Removes a fits header key.
|
double |
rescanned(String key,
String old,
String newval)
On reload, we can rebuild the fits tables.
|
boolean |
reset()
Zero positions all filter wheels and sets the calibration sledge to home.
|
protected boolean |
resetMaster(CommandEvent cmd)
Resets the CCD.
|
boolean |
setFullFrame()
Resets the CCD-windowing.
|
boolean |
setImageGeometry(int xoff,
int yoff,
int xsize,
int ysize,
int xbin,
int ybin)
Sets the image geometry.
|
protected String |
statusMaster(CommandEvent cmd)
Returns a status information of the camera as a string.
|
private boolean |
takeBias()
Takes a bias exposure.
|
private boolean |
takeDark(double time)
Takes a dark exposure.
|
protected boolean |
takeExposure(double time)
Takes a normal exposure.
|
private boolean |
takeExposure(double time,
String fitsname)
Takes a normal exposure.
|
protected boolean |
writeFits(CommandEvent cmd,
File fits,
boolean science)
Writes the data allocated in the
CcdDriver object to a fits file
provided as an argument. |
private boolean |
writeFits(CommandEvent cmd,
File fits,
boolean science,
boolean surestore)
Writes the data allocated in the
CcdDriver object to a fits file
provided as an argument. |
addErrorListener, addRmiErrorListener, automatic, createCommunicator, createCommunicator, external, formatWithGlobals, getAllDrivers, getDriver, getHistorySql, getObserveSql, getOffsetCaster, getParameterByKey, getParameterByName, getParameterCluster, getParameterValueByKey, getParameterValueByName, getPermissionSql, getProposalSql, getStatus, getTargetSql, getTaskSql, getUnique, getUniqueId, getUserSql, initialize, isAlive, isAuto, isManual, isPassive, manual, park, reload, resetAlarm, resetAllDrivers, restartAllDrivers, revert, rmiAddParameter, rmiCommand, rmiGet, rmiGetAllParameterNames, rmiRemoveParameter, rmiSet, setLastError, setOff, setParameterValueByKey, setParameterValueByName, setPassive, shutdown, zeroAllOmcaddRmiAcknowledgeListener, addRmiDoneListener, bindDefault, containsRemoteProperty, deregisterAtCaster, equals, getLastError, getRemoteProperties, getRemoteProperty, hashCode, notifyAcknowledgeListener, notifyDoneListener, registerAtCaster, removeRmiAcknowledgeListener, removeRmiDoneListener, sendAllPrematureDone, sendPrematureDone, setRemoteProperty, toString, unbindDefaultbindToRegistry, getBindName, isValid, notifyErrorListener, removeErrorListener, removeRmiErrorListener, sendError, sendError, sendError, sendStatus, sendStatus, sendStatus, unbindFromRegistryallBound, blockBinding, blockBinding, disconnect, getIP, getListenerName, isConnected, listenerName, releaseBinding, releaseBinding, startBinding, startBindingclone, 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, removeProperty, requires, setObject, setProperties, setProperty, stringPropertiesfinalize, getClass, notify, notifyAll, wait, wait, waitautomatic, external, getStatus, initialize, manual, park, setPassivereloadbindToRegistry, isValid, unbindFromRegistryremoveErrorListenergetListenerNamedisconnect, isConnecteddefaultBoolean, 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 DATENUMBERSEPARATOR
public static final String KEY_CAMERA
public static final String KEY_MINEXPOSURE
public static final String KEY_MAXEXPOSURE
public static final String KEY_EXPOSURETRIGGER
public static final String KEY_TRANSFERTRIGGER
public static final String KEY_FITSKEYS
public static final String KEY_CCDFITSKEYS
public static final String KEY_FIXFITSKEYS
public static final String KEY_GEOMETRYTIME
public static final String KEY_FITSTIME
public static final String KEY_BIASTIME
public static final String KEY_ABORTEXPOSURETIME
public static final String KEY_READOUTTIME
public static final String KEY_EXPOSEBUFFER
public static final String KEY_WRITETIME
public static final String KEY_SAFETYTIME
public static final String KEY_CAMERABIAS
public static final String KEY_CAMERADARK
public static final String KEY_MASTERPATH
public static final String KEY_ARCHIVEPATH
public static final String KEY_DATEFORMAT
public static final String KEY_BIASFITS
public static final String KEY_DARKFITS
public static final String KEY_SCIENCEFITS
public static final String KEY_ABORTFITS
public static final String KEY_DELETEFITS
public static final String KEY_ALWAYSZERO
public static final String KEY_MANUALSHUTTER
public static final String KEY_MAXQUERIES
public static final String KEY_QUERYCYCLE
public static final String KEY_CCDWATCHMINIMUM
public static final String KEY_WATCHMINVALUES
public static final String KEY_CCDWATCHMAXIMUM
public static final String KEY_WATCHMAXVALUES
public static final String KEY_ENABLEWATCH
public static final String KEY_LOGWATCH
private static final long DEFMAXEXPOSURE
private static final double DEFEXPOSEBUFFER
private static final long DEFSAFETYTIME
private static final String DEFBIASFITS
private static final String DEFDARKFITS
public static final String DEFSCIENCEFITS
private static final String DEFABORTFITS
private static final int DEFMAXQUERIES
private static final long DEFQUERYCYCLE
private static final boolean DEFLOGWATCH
private static final double BIASEXPOSURE
protected static final String IMAGETYPE
private static final String BIASTYPE
private static final String DARKTYPE
private static final String OBJECTTYPE
protected static final String TYPEREM
private static final String FITSEXTENSION
private static final DateFormat FITSDATE
protected static final String COMMENTSEPARATOR
protected static final String STRING
protected CcdDriver camera
private Thread expose
private Thread header
private Map<String,CameraMaster.CardInfo> defaultfits
private Map<String,CameraMaster.CardInfo> addfits
FitsCcd.private Map<String,CameraMaster.CardInfo> ccdfits
protected Map<String,CameraMaster.CardInfo> fixfits
private CameraMaster.CcdWatch watch
private String lasthead
private CameraMaster.HeaderGather gather
protected CameraMaster(Map<String,String> prop)
KEY_CAMERA key is missing or the camera driver could not be
contructed out of the given property, construction fails with an
exception, see #initSesMaster. The keys GenericMaster.KEY_SET,
KEY_FITSKEYS, #KEY_FITSPARAMETERS, and
#KEY_FITSCOMMENTS are optional keys. #initpublic void initStep(int curstep)
throws InitException
initStep in interface StepInitializableinitStep in class GenericMasterInitException#initSesMasterprotected void init2()
GenericMaster.KEY_SET is present, a parameter cluster is constructed and the
camera driver is passed to the set. Additionally, the default fits header
table is constructed and loaded with values pointed to by the appropriate
keys. Whenever the construction of the camera driver is successful, the
fits tables are at least constructed, though maybe empty.IllegalArgumentException - If the camera was not constructedpublic void exit()
exit in interface ExitCleaningexit in class GenericMasterpublic double rescanned(String key, String old, String newval)
rescanned in interface Reloadablerescanned in class GenericMasterprivate Map<String,CameraMaster.CardInfo> parseToKey(String pk)
public boolean accepts(CommandEvent ce) throws RemoteException
CcdCommands.accepts in interface RmiCommandListenerRemoteExceptionpublic boolean getBiasExposure(String fits) throws RemoteException
SesControlling.getBiasExposure in interface CameraControllingRemoteExceptionpublic boolean getDarkExposure(String fits, double time) throws RemoteException
SesControlling.getDarkExposure in interface CameraControllingfits - The file where the fits data is writtn to.time - The exposure time in seconds.RemoteExceptionpublic boolean getScienceExposure(String fits, double time) throws RemoteException
SesControlling.getScienceExposure in interface CameraControllingtime - The exposure time in seconds.RemoteExceptionpublic boolean abortExposure(String writeto) throws RemoteException
Asynchronous cameras.abortExposure in interface CameraControllingRemoteExceptionpublic boolean setImageGeometry(int xoff,
int yoff,
int xsize,
int ysize,
int xbin,
int ybin)
throws RemoteException
SesControlling.setImageGeometry in interface CameraControllingxoff - The offset on the CCD in x-direction, in pixel.yoff - The offset on the CCD in y-direction, in pixel.xsize - The size of the subframe in x-direction, in pixel.ysize - The size of the subframe in y-direction, in pixel.xbin - The binning factor in x-direction.ybin - The binning factor in y-direction.RemoteExceptionpublic boolean setFullFrame()
throws RemoteException
SesControlling. The camera
instance is always non-null.setFullFrame in interface CameraControllingRemoteExceptionpublic boolean addFitsKey(String key, String parametername, String comment) throws RemoteException
addFitsKey in interface CameraControllingkey - The fitskey.parametername - Name of the parameter whose value should be added.comment - A comment or the mepty string for no comment.RemoteExceptionpublic boolean removeFitsKey(String key) throws RemoteException
removeFitsKey in interface CameraControllingRemoteExceptionpublic boolean removeAllFitsKeys()
throws RemoteException
removeAllFitsKeys in interface CameraControllingRemoteExceptionpublic void quit()
throws RemoteException
quit in interface ListenerControllingquit in class GenericMasterRemoteExceptionpublic boolean reset()
throws RemoteException
reset in interface ListenerControllingreset in class GenericMasterRemoteExceptionprotected int getAcknowledgeNumber(CommandEvent cmd)
getAcknowledgeNumber in class GenericMasterprotected long getCompletionTime(CommandEvent cmd, int acknr)
getCompletionTime in class GenericMastercmd - The command to process.acknr - The number of the acknowledge that will be sent back.protected boolean processCommand(CommandEvent cmd, int acknr)
processCommand in class GenericMasterprotected String statusMaster(CommandEvent cmd)
statusMaster in class GenericMastercmd - Non-null in automatic mode.protected boolean resetMaster(CommandEvent cmd)
resetMaster in class GenericMastercmd - Non-null in automatic mode.protected boolean abortMaster(CommandEvent cmd)
abortMaster in class GenericMastercmd - Non-null in automatic mode.protected boolean parkMaster(CommandEvent cmd)
abortMaster(stella.CommandEvent) method.parkMaster in class GenericMastercmd - Non-null in automatic mode.protected void quitMaster(CommandEvent cmd)
quitMaster in class GenericMastercmd - Non-null in automatic mode, ignored in this implementationprotected abstract boolean initShutter()
protected boolean initializeMaster(CommandEvent cmd)
initializeMaster in class GenericMastercmd - Non-null in automatic mode.private boolean abortTake()
private boolean ensureExposureFinished()
throws IOException
IOExceptionprivate boolean takeBias()
MainCamera#takeBiasExposure in the MainCamera object of
the CameraDriver. For the moment, synchronization is done by
checking the MainCamera#isBiasExposureDone on regular intervalls,
using a wait on the main camera, but notification is not yet impelmented.private boolean takeDark(double time)
MainCamera#takeDarkExposure in the MainCamera object of
the CameraDriver. For the moment, synchronization is done by
checking the MainCamera#isDarkExposureDone on regular intervalls,
using a wait on the main camera, but notification is not yet impelmented.protected boolean takeExposure(double time)
MainCamera#takeExposure in the MainCamera object of the
CameraDriver. For the moment, synchronization is done by checking
the MainCamera#isExposureDone on regular intervalls, using a wait
on the main camera, but notification is not yet impelmented.private boolean takeExposure(double time,
String fitsname)
MainCamera#takeExposure in the MainCamera object of the
CameraDriver. For the moment, synchronization is done by checking
the MainCamera#isExposureDone on regular intervalls, using a wait
on the main camera, but notification is not yet impelmented.protected abstract boolean closeShutter()
protected abstract boolean openShutter()
protected boolean readout(boolean shuttermoved)
shuttermoved - True if shutter was moved and may possibly be reset.protected boolean writeFits(CommandEvent cmd, File fits, boolean science)
CcdDriver object to a fits file
provided as an argument. If the argument is null this method returns
immediately without writing the file. This method opens the fits file the
ccd has written to and adds header information to it. It is saved to a
probably different path, where intermediate storage is possible (RAID).
If the copying process is successful, we delete the old file.private boolean writeFits(CommandEvent cmd, File fits, boolean science, boolean surestore)
CcdDriver object to a fits file
provided as an argument. If the argument is null this method returns
immediately without writing the file. This method opens the fits file the
ccd has written to and adds header information to it. It is saved to a
probably different path, where intermediate storage is possible (RAID).
If the copying process is successful, we delete the old file.@Deprecated private static Class<?> probeForType(Object val)
public static List<MHeaderCard> getCcdCards(Map<String,CameraMaster.CardInfo> keep, Map<String,?> ccd)
public static List<MHeaderCard> getFixedCards(Map<String,CameraMaster.CardInfo> fix)
MHeaderCards from a fixed info map.public static List<MHeaderCard> getParameterCards(Map<String,CameraMaster.CardInfo> give, GlobalGrouping set)
CurrentTime type, we actually enter a Date formatted with
FITSDATE.private boolean geometry(CommandEvent cmd, int xoff, int yoff, int xsize, int ysize, int xbin, int ybin)
MainCamera related to the size/origin/binning of the image.private boolean fitsKey(String key, String parameter, String comment)
protected String formatFitsName(String fill)
If unmatched parenthesis are encountered, the input string is returned.
public static void main(String[] arg) throws RemoteException
RemoteException