|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectutil.PropertyContainer
util.PropertyResources
util.PropertyBundles
util.rmi.RmiPropertyContainer
util.rmi.AbstractRmiListener
stella.rmi.AbstractRmiCasterAndListener
stella.rmi.ReceiverTorso
stella.rmi.GenericMaster
stella.ccd.SesMaster
public final class SesMaster
The class that handles the communication of the CCD controler back with
the SCS. For core comunication to the CCD-controller, it uses the
interface layer 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.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class stella.rmi.GenericMaster |
|---|
GenericMaster.Standalone |
| Nested classes/interfaces inherited from class stella.rmi.ReceiverTorso |
|---|
ReceiverTorso.CommandHandler |
| Nested classes/interfaces inherited from class util.PropertyResources |
|---|
PropertyResources.URLResource |
| Field Summary | |
|---|---|
private Map<String,String> |
addfits
The fits header data added during operation, see FitsCcd. |
private static long |
BIASEXPOSURE
The exposure time on bias frames if driver does not support bias. |
private static String |
BIASTYPE
The imagetype value for manual bias. |
private CcdDriver |
camera
The driver object for the camera. |
private Map<String,String> |
ccdfits
CCD info fits. |
private static String |
COMMENTSEPARATOR
In fits-keys map the separator between values and comments. |
private static String |
DARKTYPE
The imagetype value for manual bias. |
static String |
DATENUMBERSEPARATOR
Separatesd the date from the running number. |
private static long |
DEFABORTEXPOSURETIME
The default abort exposure time, first part, without readout time. |
private static boolean |
DEFALWAYSZERO
Default shutter zero positiong after science exposures. |
private static File |
DEFARCHIVEPATH
The default path where the archive host stores fits files. |
private Map<String,String> |
defaultfits
The fits header data given as defaults. |
private static String |
DEFBIASFITS
The default fits-file name head for bias exposures. |
private static long |
DEFBIASTIME
The default bias time, first part, without readout time. |
private static String |
DEFBINDNAME
The default binding name for this master. |
private static String |
DEFCAMERA
The default name for the camera driver. |
private static boolean |
DEFCAMERABIAS
Default ccd driver does support bias. |
private static boolean |
DEFCAMERADARK
Default ccd driver does support dark. |
private static String |
DEFDARKFITS
The default fits-file name head for bias exposures. |
private static boolean |
DEFDELTEFITS
Default deleting of old fits files. |
private static double |
DEFEXPOSEBUFFER
The default multiplier for exposure time. |
private static String |
DEFEXPOSURETRIGGER
The default exposure-trigger name |
private static String |
DEFFITSKEYS
Default fits keys and their parameter and remark mapping. |
private static long |
DEFFITSTIME
The default fits time. |
private static String |
DEFFIXFITSKEYS
Default fixed fits keys. |
private static long |
DEFGEOMETRYTIME
The default geometry time. |
private static boolean |
DEFMANUALSHUTTER
Default operation of the shutter by the master. |
private static File |
DEFMASTERPATH
Default path where the CCDMaster host can access the ccd host file. |
private static long |
DEFMINEXPOSURE
The default minimal exposure time |
private static long |
DEFREADOUTTIME
The default multiplier for read-out time. |
private static long |
DEFSAFETYTIME
The default safety time. |
static String |
DEFSCIENCEFITS
The default fits-file name head for bias exposures. |
private static String |
DEFSHUTTER
The name of the shutter driver. |
private static String |
DEFTRANSFERTRIGGER
The default exposure-trigger name |
private static long |
DEFWRITETIME
The default write time. |
private static DateFormat |
FITSDATE
The formatter for fits dates. |
private static String |
FITSEND
The FITS key denoting the end of the header section. |
private static String |
FITSEXTENSION
Default fits extension. |
private Map<String,String> |
fixfits
The fits header data with unchangable fits entries, keys to val/rem. |
private static String |
FLATTYPE
The imagetype value for manual bias. |
private 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_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_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_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_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_MINEXPOSURE
The minimum exposure time allowed for science frames. |
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_SHUTTER
The name of the SES-shutter driver, used only for initializiation. |
static String |
KEY_TRANSFERTRIGGER
The key matching the name of the transfer-trigger. |
static String |
KEY_WRITETIME
The time for the expected fits write-time. |
private String |
lastserverfits
The last server-side file name used. |
private static String |
OBJECTTYPE
The imagetype value for manual bias. |
private static String |
THARTYPE
The imagetype value for manual bias. |
private static String |
TYPEREM
The imagetpye comment for manual operation. |
| Fields inherited from class stella.rmi.GenericMaster |
|---|
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, telescope |
| Fields inherited from class stella.rmi.ReceiverTorso |
|---|
KEY_BIND, KEY_BINDNAME, KEY_COMMANDCASTER, KEY_ERRORCOOL |
| Fields inherited from class util.rmi.AbstractRmiListener |
|---|
KEY_ALIVE, KEY_EXPORTPORT, KEY_INIT, KEY_LISTENERNAME, KEY_RETRY, KEY_RETRYSLEEP |
| 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 stella.rmi.RmiAcknowledgeCaster |
|---|
NAMING_EXTENSION |
| Fields inherited from interface stella.rmi.RmiDoneCaster |
|---|
NAMING_EXTENSION |
| Fields inherited from interface util.StepInitializable |
|---|
KEY_INITDEPTH |
| 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 | |
|---|---|
SesMaster(Map<String,String> prop)
Constructs a new CCD master. |
|
| Method Summary | |
|---|---|
boolean |
abortExposure(String writeto)
Supported only with with JanosDriver. |
protected boolean |
abortMaster()
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. |
static void |
addCCDHeaderInfo(nom.tam.fits.Header head,
Map<String,String> keep,
Map<String,?> ccd)
Adds information received from the ccd driver. |
static void |
addFitsHeaderInfo(nom.tam.fits.Header head,
Map<String,String> give,
ParameterClustering set)
Writes fits header information. |
boolean |
addFitsKey(String key,
String parametername,
String comment)
Adds a key to the fits header section. |
static void |
addFixedHeaderInfo(nom.tam.fits.Header head,
Map<String,String> fix)
Adds data from a fixed key/value/remark mapping. |
private static void |
addHeaderKeys(nom.tam.fits.Header head,
Map<String,List<Object>> javakeys)
Adds fits keys before the #END header keyword. |
private boolean |
fitsKey(String key,
String parameter,
String comment)
Adds/removes a fits header key from the customizable table. |
private String |
formatFitsName(String fill)
Formatting a fits file name from a place-holder supplied. |
private boolean |
geometry(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. |
protected long |
getCompletionTime(CommandEvent cmd,
int acknr)
Returns the individual completion times. |
boolean |
getDarkExposure(String fits,
double time)
Takes a dark exposure. |
boolean |
getFlatExposure(String fits,
double time)
Takes a flat exposure. |
boolean |
getScienceExposure(String fits,
double time)
Takes a scientific exposure. |
boolean |
getThArExposure(String fits,
double time)
Takes a ThAr exposure. |
private void |
init2()
The main initialization section. |
protected boolean |
initializeMaster()
Initializes the CCD. |
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 boolean |
parkMaster()
Parks the CCD. |
private static Class<?> |
probeForType(Object val)
If no type argument is given, we try to deduce it from the value type, using the following, sequential, rules: If the value is parsable as a Long, its type is long If the value is parsable as a Double, its type is double It type is String. |
protected boolean |
processCommand(CommandEvent cmd,
int acknr)
Process the command. |
void |
quit()
Gracefully quite the ccd master. |
protected void |
quitMaster()
Quits the master. |
private 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. |
protected boolean |
resetMaster()
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 Object |
statusMaster()
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. |
private boolean |
takeExposure(double time,
String fitsname)
Takes a normal exposure. |
private boolean |
writeFits(File fits,
boolean science)
Writes the data allocated in the CcdDriver object to a fits
file provided as an argument. |
| Methods inherited from class stella.rmi.AbstractRmiCasterAndListener |
|---|
bindToRegistry, getBindName, isValid, notifyErrorListener, removeErrorListener, removeRmiErrorListener, sendError, sendError, sendError, sendStatus, sendStatus, sendStatus, unbindFromRegistry |
| Methods inherited from class util.rmi.AbstractRmiListener |
|---|
allBound, blockBinding, blockBinding, disconnect, getIP, getListenerName, isConnected, listenerName, releaseBinding, releaseBinding, startBinding, startBinding |
| 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, init, 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, removeProperty, setObject, setProperties, setProperty, stringProperties |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface stella.rmi.ListenerControlling |
|---|
automatic, external, getStatus, initialize, manual, park, reset, setPassive |
| Methods inherited from interface util.Reloadable |
|---|
reload |
| Methods inherited from interface util.rmi.RmiCaster |
|---|
bindToRegistry, isValid, unbindFromRegistry |
| Methods inherited from interface stella.ErrorCaster |
|---|
removeErrorListener |
| Methods inherited from interface util.rmi.RmiEventListener |
|---|
getListenerName |
| Methods inherited from interface util.rmi.RmiListener |
|---|
disconnect, isConnected |
| 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 |
| Methods inherited from interface util.Initializable |
|---|
init |
| Field Detail |
|---|
public static final String DATENUMBERSEPARATOR
public static final String KEY_CAMERA
public static final String KEY_SHUTTER
public static final String KEY_MINEXPOSURE
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_DELETEFITS
public static final String KEY_ALWAYSZERO
public static final String KEY_MANUALSHUTTER
private static final String DEFCAMERA
private static final String DEFSHUTTER
private static final long DEFMINEXPOSURE
private static final String DEFEXPOSURETRIGGER
private static final String DEFTRANSFERTRIGGER
private static final String DEFFITSKEYS
private static final String DEFFIXFITSKEYS
private static final long DEFGEOMETRYTIME
private static final long DEFFITSTIME
private static final long DEFBIASTIME
private static final long DEFABORTEXPOSURETIME
private static final long DEFWRITETIME
private static final long DEFREADOUTTIME
private static final double DEFEXPOSEBUFFER
private static final long DEFSAFETYTIME
private static final boolean DEFCAMERABIAS
private static final boolean DEFCAMERADARK
private static final File DEFMASTERPATH
private static final File DEFARCHIVEPATH
private static final String DEFBIASFITS
private static final String DEFDARKFITS
public static final String DEFSCIENCEFITS
private static final boolean DEFDELTEFITS
private static final String DEFBINDNAME
private static final boolean DEFALWAYSZERO
private static final boolean DEFMANUALSHUTTER
private static final long BIASEXPOSURE
private static final String IMAGETYPE
private static final String BIASTYPE
private static final String FLATTYPE
private static final String DARKTYPE
private static final String THARTYPE
private static final String OBJECTTYPE
private static final String TYPEREM
private static final String FITSEND
private static final String FITSEXTENSION
private static final DateFormat FITSDATE
private static final String COMMENTSEPARATOR
private CcdDriver camera
private Map<String,String> defaultfits
private Map<String,String> addfits
FitsCcd.
private Map<String,String> ccdfits
private Map<String,String> fixfits
private String lastserverfits
| Constructor Detail |
|---|
public SesMaster(Map<String,String> prop)
throws RemoteException
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.
RemoteExceptionPropertyResources.init()| Method Detail |
|---|
public void initStep(int curstep)
initStep in interface StepInitializableinitStep in class GenericMastercurstep - The current initialization depth.#initSesMasterprivate 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 constructed
public double rescanned(String key,
String old,
String newval)
rescanned in interface Reloadablerescanned in class GenericMaster
public boolean accepts(CommandEvent ce)
throws RemoteException
CcdCommands.
accepts in interface RmiCommandListenerRemoteException
public boolean getBiasExposure(String fits)
throws RemoteException
SesControlling.
getBiasExposure in interface CcdControllingRemoteException
public boolean getDarkExposure(String fits,
double time)
throws RemoteException
SesControlling.
getDarkExposure in interface CcdControllingfits - The file where the fits data is writtn to.time - The exposure time in seconds.
RemoteException
public boolean getScienceExposure(String fits,
double time)
throws RemoteException
SesControlling.
getScienceExposure in interface CcdControllingtime - The exposure time in seconds.
RemoteException
public boolean getFlatExposure(String fits,
double time)
throws RemoteException
getFlatExposure in interface SesControllingtime - The exposure time in seconds.
RemoteException
public boolean getThArExposure(String fits,
double time)
throws RemoteException
getThArExposure in interface SesControllingtime - The exposure time in seconds.
RemoteException
public boolean abortExposure(String writeto)
throws RemoteException
JanosDriver.
abortExposure in interface CcdControllingRemoteException
public boolean setImageGeometry(int xoff,
int yoff,
int xsize,
int ysize,
int xbin,
int ybin)
throws RemoteException
SesControlling.
setImageGeometry in interface CcdControllingxoff - 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.
RemoteException
public boolean setFullFrame()
throws RemoteException
SesControlling.
The camera instance is always non-null.
setFullFrame in interface CcdControllingRemoteException
public boolean addFitsKey(String key,
String parametername,
String comment)
throws RemoteException
addFitsKey in interface CcdControllingkey - The fitskey.parametername - Name of the parameter whose value should be added.comment - A comment or the mepty string for no comment.
RemoteException
public boolean removeFitsKey(String key)
throws RemoteException
removeFitsKey in interface CcdControllingRemoteException
public boolean removeAllFitsKeys()
throws RemoteException
removeAllFitsKeys in interface CcdControllingRemoteException
public void quit()
throws RemoteException
quit in interface ListenerControllingquit in class GenericMasterRemoteExceptionprotected int getAcknowledgeNumber(CommandEvent cmd)
getAcknowledgeNumber in class GenericMaster
protected 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 Object statusMaster()
MainCamera#toString method.
statusMaster in class GenericMasterprotected boolean resetMaster()
resetMaster in class GenericMasterprotected boolean abortMaster()
Interruptible drivers
are supported.
abortMaster in class GenericMasterprotected boolean parkMaster()
#abortCCD method, then frees up
the native memory. The camera driver is invalidated and must be
reconstructed with #initSesMaster.
parkMaster in class GenericMasterprotected void quitMaster()
quitMaster in class GenericMasterprotected boolean initializeMaster()
initializeMaster in class GenericMasterprivate boolean abortTake()
private 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.
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.
private boolean readout(boolean shuttermoved)
shuttermoved - True if shutter was moved and may possibly be reset.
private boolean writeFits(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 static void addHeaderKeys(nom.tam.fits.Header head,
Map<String,List<Object>> javakeys)
throws nom.tam.fits.FitsException
#END header keyword. The map handed
over is in a special format. The map's keys are the fits header keys,
linked to a List. This list consists of a mximum of three entries,
the first giving the value of the keyword, the second the comment and
the third the class type of the value. Null is permitted for the comment
and the class type, if the latter is null, we try to deduce the type
of the fits value in the following, sequential, way:
FITSDATE. Any other type is ignored, i.e.
the value is inserted as a string.
nom.tam.fits.FitsExceptionprivate static Class<?> probeForType(Object val)
public static void addCCDHeaderInfo(nom.tam.fits.Header head,
Map<String,String> keep,
Map<String,?> ccd)
throws nom.tam.fits.FitsException
nom.tam.fits.FitsException
public static void addFixedHeaderInfo(nom.tam.fits.Header head,
Map<String,String> fix)
throws nom.tam.fits.FitsException
nom.tam.fits.FitsException
public static void addFitsHeaderInfo(nom.tam.fits.Header head,
Map<String,String> give,
ParameterClustering set)
throws nom.tam.fits.FitsException
Time type, we actually enter a Date formatted
with FITSDATE.
nom.tam.fits.FitsException
private boolean geometry(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)
private String formatFitsName(String fill)
If unmatched parenthesis are encountered, the input string is returned.
public static void main(String[] arg)
throws RemoteException
RemoteException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||