|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectutil.PropertyContainer
util.PropertyResources
util.PropertyBundles
io.AbstractDriver
ccd.AbstractCcdDriver<T>
ccd.SynchronousCcdDriver<nom.tam.fits.Fits>
stella.firecam.FireDriverWish
public class FireDriverWish
The interface to the STELLA API to allow the firewire-CCD camera be used as
a standard CCD using the CcdDriver interface. The firwire camera
itself is mainly used in adapter as a main guider or a fiber viewing unit.
The camera itself only supports full-frame transfer, so sub-frames and binning is done in the java part.
Additionally, a setFramesToAdd(int) method is present that allows
the user to specify up to 16 frames that should be co-added on the server
side. This circumvents the 12-bit weakness of the camera somehow. A unique
feature is also the possibility to change the gain from zero to 723, which
corresponds to 25dB. Combining that with measured gains (what astronomers
see as it), this 0-723g translates to a gain of
gain=2.8*10^(-2.0082e-3*g)This also means that the gain of the camera is adjustable between 2.8 and 0.1 (0 and 723, respectively).
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class ccd.SynchronousCcdDriver |
|---|
SynchronousCcdDriver.ExposureThread |
| Nested classes/interfaces inherited from class ccd.AbstractCcdDriver |
|---|
AbstractCcdDriver.Endurance, AbstractCcdDriver.Exposure, AbstractCcdDriver.Shot |
| Nested classes/interfaces inherited from class util.PropertyResources |
|---|
PropertyResources.URLResource |
| Field Summary | |
|---|---|
private nom.tam.fits.Fits |
async
The data buffer for asynchroneous retrieval. |
static String |
DATE
Estimated start of exposure. |
static String |
DATEREM
|
static String |
DBGAIN
Raw gain in 25/723 dB. |
static String |
DBGREM
|
static int |
DC1394_SUCCESS
The constant that indicates success in core library. |
private static double |
DEFAREAREADOUT
Always zero. |
static String |
DEFDRIVERNAME
Default name of the fechner ccd driver. |
private static double |
DEFFIXEDREADOUT
Always read the full frame. |
private static long |
DEFMAXEXPOSE
Default exposure time 65 sec. |
private static int |
DEFRPCTIMEOUT
Default property value. |
private static String |
DEFSERVERNAME
Default property value. |
private static int |
DEFXCHIPSIZE
Default size. |
private static int |
DEFYCHIPSIZE
Default size. |
static String |
EXPOSE
Exposure time in ms. |
static String |
EXPREM
|
private static FirecamClient |
fire
RPC client instance. |
static String |
KEY_MAXEXPOSE
The maximum exposure time allowed in millisec. |
static String |
KEY_RPCTIMEOUT
The RPC time-out in millisecond. |
static String |
KEY_SERVERNAME
FCDN of the host where the fircam rpc server is running. |
private int |
nframe
Number of frames to co-add, 1 to 16. |
static String |
NFRAME
Numbers of frame added on server side. |
static String |
NREM
|
private Rectangle |
window
Active window on chip. |
private int |
xbin
Current binning in x. |
static String |
XBIN
Binning used in x. |
static String |
XBINREM
|
static String |
XORGREM
Comment for entering x-pregap info to header. |
static String |
XORIGIN
All FITS header is manufactured by us, this is the unbinned x pregap. |
static String |
XSIZE
Fits key for entering chip total size in x. |
static String |
XSIZEREM
|
private int |
ybin
Current binning in x. |
static String |
YBIN
Binning used in y. |
static String |
YBINREM
|
static String |
YORGREM
Comment for entering y-pregap info to header. |
static String |
YORIGIN
Fits key for entering y-pregap info to header. |
static String |
YSIZE
Fits key for entering chip total size in y. |
static String |
YSIZEREM
|
| Fields inherited from class ccd.AbstractCcdDriver |
|---|
KEY_AMPLIFIERS, KEY_AREAREADOUT, KEY_COLUMNPOST, KEY_COLUMNPRIOR, KEY_COLUMNREADOUT, KEY_FIXEDREADOUT, KEY_INITSIZE, KEY_ROWPOST, KEY_ROWPRIOR, KEY_ROWREADOUT, KEY_XBINNING, KEY_XCHIPSIZE, KEY_XORIGIN, KEY_XSIZE, KEY_YBINNING, KEY_YCHIPSIZE, KEY_YORIGIN, KEY_YSIZE |
| Fields inherited from class io.AbstractDriver |
|---|
KEY_DRIVERNAME |
| 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 ccd.CcdDriver |
|---|
FITSEXTENSION |
| 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 | |
|---|---|
FireDriverWish(Map<String,String> info)
Constructor. |
|
| Method Summary | |
|---|---|
boolean |
close()
Close the RPC communication. |
private boolean |
doExposure()
Does an exposure. |
int |
expose()
Make an exposure. |
int |
exposeBias()
Not supported. |
int |
exposeDark()
Not supported. |
Dimension |
getBinning()
Get the binning values in x (columns) and y (rows). |
Class<nom.tam.fits.Fits> |
getBufferType()
We work directly on a fits object. |
Map |
getCcdInfo()
This ccd does not provide any additional info. |
nom.tam.fits.Fits |
getDataBuffer()
Returns the output buffer. |
long |
getExposureTime()
Set the current exposure time in milliseconds. |
int |
getFramesToAdd()
Returns the current active number of co-added frames. |
int |
getGainDecibel()
Returns the gain setting in the camera, which is a setting in decibel. |
long |
getReadoutTime(Rectangle area)
Always read out the whole frame, multiply this with internal number of frames. |
Rectangle |
getWindow()
Get the current image origin (pre-gap) in x (columns) and y (rows) and the size |
void |
init()
Clear any leftovers. |
boolean |
isOpen()
We consider the driver to be open if the ccdclient is initialized. |
private short[][] |
manufacture(short[] yx,
Rectangle to,
int xb,
int yb)
Manufactures a binned and sliced image array out from the full frame. |
protected boolean |
openController()
Initializes the fechner driver. |
boolean |
setBinning(int xb,
int yb)
Set the binning values in x (columns) and y (rows). |
boolean |
setDataBuffer(nom.tam.fits.Fits file)
Sets the output buffer. |
boolean |
setExposureTime(long exptime)
Set the current exposure time in milliseconds. |
boolean |
setFramesToAdd(int n)
Sets the number of frames that should be co-added on the server side. |
boolean |
setGainDecibel(int db)
Allows to change the gain setting in the camera, which is a setting in decibel. |
boolean |
setWindow(Rectangle w)
Set the current image window. |
| Methods inherited from class ccd.SynchronousCcdDriver |
|---|
ensureReady, isExposing, threadedDarkExpose, threadedExpose |
| Methods inherited from class ccd.AbstractCcdDriver |
|---|
getChipSize, open |
| Methods inherited from class io.AbstractDriver |
|---|
createDriver, equals, getDriverName, hashCode |
| 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 |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface io.Driver |
|---|
getDriverName |
| 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 |
|---|
public static final String XORIGIN
public static final String XORGREM
public static final String YORIGIN
public static final String YORGREM
public static final String XSIZE
public static final String XSIZEREM
public static final String YSIZE
public static final String YSIZEREM
public static final String XBIN
public static final String XBINREM
public static final String YBIN
public static final String YBINREM
public static final String EXPOSE
public static final String EXPREM
public static final String DATE
public static final String DATEREM
public static final String NFRAME
public static final String NREM
public static final String DBGAIN
public static final String DBGREM
public static final int DC1394_SUCCESS
public static final String KEY_SERVERNAME
public static final String KEY_RPCTIMEOUT
public static final String KEY_MAXEXPOSE
public static final String DEFDRIVERNAME
private static final String DEFSERVERNAME
private static final int DEFXCHIPSIZE
private static final int DEFYCHIPSIZE
private static final double DEFAREAREADOUT
private static final double DEFFIXEDREADOUT
private static final int DEFRPCTIMEOUT
private static final long DEFMAXEXPOSE
private static FirecamClient fire
private nom.tam.fits.Fits async
private int nframe
private int xbin
private int ybin
private Rectangle window
| Constructor Detail |
|---|
public FireDriverWish(Map<String,String> info)
openController().
| Method Detail |
|---|
public void init()
openController().
init in interface Initializableinit in class AbstractCcdDriver<nom.tam.fits.Fits>public long getReadoutTime(Rectangle area)
getReadoutTime in interface CcdDriver<nom.tam.fits.Fits>getReadoutTime in class AbstractCcdDriver<nom.tam.fits.Fits>
protected boolean openController()
throws IOException
openController in class AbstractCcdDriver<nom.tam.fits.Fits>IOException - If controller connection fails.public boolean isOpen()
public boolean close()
throws IOException
IOException
public boolean setBinning(int xb,
int yb)
xbin - binning factor in x-direction (1 <= binning factor <= 255)ybin - binning factor in y-direction (1 <= binning factor <= 255)
public Dimension getBinning()
public boolean setWindow(Rectangle w)
window - The origin being the upper left corner of the rectangle.
public Rectangle getWindow()
throws IOException
IOException - Any subclass of IOException.
public boolean setExposureTime(long exptime)
throws IOException
expTime - exposure time in milliseconds. (0 <= expTime < 65000 ms)
IOException - Any subclass of IOException.
public long getExposureTime()
throws IOException
expTime - exposure time in milliseconds. (0 <= expTime < 65000 ms)
IOException - Any subclass of IOException.public Class<nom.tam.fits.Fits> getBufferType()
public boolean setDataBuffer(nom.tam.fits.Fits file)
throws IOException
file - Any sort of buffer the driver knows to store CCD-data in.
IOException - Any subclass of IOException.
public nom.tam.fits.Fits getDataBuffer()
throws IOException
setDataBuffer(nom.tam.fits.Fits), or null if not set and no exposure
has been taken. If an exposure has finished and the buffer has not
been explicedly set, a new fits object has been allocated, which will
be returned here.
IOException - Any subclass of IOException.public Map getCcdInfo()
public boolean setFramesToAdd(int n)
public int getFramesToAdd()
public boolean setGainDecibel(int db)
throws IOException
IOException
public int getGainDecibel()
throws IOException
IOExceptionpublic int exposeBias()
public int exposeDark()
public int expose()
throws IOException
setFramesToAdd(int).
IOException - Any subclass of IOException.startExpose
private boolean doExposure()
throws IOException
FirecamClient.START_TRANSMISSION_1() to start a grab,
FirecamClient.GRAB_IMAGES_1(int) to sum up the requested number of
images on the server, FirecamClient.GET_IMAGE_1() to transfer the
image data as a short array to this client and ends the grab with
a call to FirecamClient.STOP_TRANSMISSION_1(). Currently,
frame grabbing of multiple frames is only supported, if the exposure
time of a single frame is below 0.54sec. Single grabs may extend up to
65 sec.Binning and slicing of the image is done at the client, if different from full-frame and 1x1.
IOException
private final short[][] manufacture(short[] yx,
Rectangle to,
int xb,
int yb)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||