public abstract class AbstractCcdDriver extends AbstractDriver implements CcdDriver, Initializable
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractCcdDriver.Endurance
Class to take a ccd driver as the first command line argument, open it
and makes an endurance test by randomizing the exposure times between the
two optional values that follow the driver definition.
|
static class |
AbstractCcdDriver.Exposure
Enumeration of possible exposure types.
|
static class |
AbstractCcdDriver.Shot
Class to take a ccd driver as the first command line argument, open it
and make a science exposure.
|
| Modifier and Type | Field and Description |
|---|---|
private static int |
DEFAMPLIFIERS
Default property value.
|
private static double |
DEFCOLUMNPOST
Default property value.
|
private static double |
DEFCOLUMNPRIOR
Default property value.
|
private static double |
DEFCOLUMNREADOUT
Default property value.
|
private static boolean |
DEFINITSIZE
Per default, we do not init the size on boot.
|
private static double |
DEFROWPOST
Default property value.
|
private static double |
DEFROWPRIOR
Default property value.
|
private static double |
DEFROWREADOUT
Default property value.
|
private static int |
DEFXBINNING
Default property value.
|
private static int |
DEFYBINNING
Default property value.
|
static String |
KEY_AMPLIFIERS
The number of amplifiers.
|
static String |
KEY_AREAREADOUT
The read-out time per square pixel.
|
static String |
KEY_COLUMNPOST
The read-out time per column-pixel dumped.
|
static String |
KEY_COLUMNPRIOR
The read-out time per column-pixel dumped.
|
static String |
KEY_COLUMNREADOUT
The read-out time per column.
|
static String |
KEY_FIXEDREADOUT
The read-out time for clearing the ccd.
|
static String |
KEY_INITSIZE
Set default window on init.
|
static String |
KEY_MAXTIME
The maximum exposure time in milliseconds.
|
static String |
KEY_MINTIME
The minimum exposure time in milliseconds.
|
static String |
KEY_ROWPOST
The read-out time per row-pixel dumped.
|
static String |
KEY_ROWPRIOR
The read-out time per row-pixel dumped.
|
static String |
KEY_ROWREADOUT
The read-out time per row.
|
static String |
KEY_XBINNING
Binning for x (columns) (can be overridden by
CcdDriver.setBinning(int, int). |
static String |
KEY_XCHIPSIZE
Maximum pixel values for x (columns).
|
static String |
KEY_XDETECTORSIZE
Maximum pixel values for x (columns).
|
static String |
KEY_XORIGIN
Image origin for x (columns)at init.
|
static String |
KEY_XSIZE
Image size for x (columns) at init.
|
static String |
KEY_YBINNING
Binning for y (rows) (can be overridden by
CcdDriver.setBinning(int, int). |
static String |
KEY_YCHIPSIZE
Maximum pixel values for y (rows) .
|
static String |
KEY_YDETECTORSIZE
Maximum pixel values for y (rows) .
|
static String |
KEY_YORIGIN
Image origin for y (rows) at init.
|
static String |
KEY_YSIZE
Image size for y (rows) at init.
|
KEY_DRIVERNAMEKEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATORFITSEXTENSIONCONFIG, KEY_CLASS| Modifier | Constructor and Description |
|---|---|
protected |
AbstractCcdDriver(Map<String,String> prop)
Defaults binning and the row/column readout times.
|
| Modifier and Type | Method and Description |
|---|---|
Dimension |
getDetectorSize()
Returns the detector size.
|
double |
getMaximumExposureTime()
Maximum allowed exposure time in milliseconds.
|
double |
getMinimumExposureTime()
Minimum allowed exposure time in milliseconds.
|
Dimension |
getReadoutMaximum()
Queries for the chip size in the ccd.
|
long |
getReadoutTime(Rectangle area)
Queries for the readout time of the given window in ms.
|
void |
init()
Initializing means checking if the chip size and readout-times are set,
otherwise we fail here before opening.
|
boolean |
open()
To open a CCD, first the
openController() method is called. |
protected abstract boolean |
openController()
This method opens the connection to the ccd controller.
|
createDriver, equals, getDriverName, hashCodeaugment, augment, augment, augment, augment, clone, 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, initProperties, isNew, parseObject, parseObject, reload, reload, removeProperty, requires, rescanned, setObject, setProperties, setProperty, stringProperties, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitensureReady, expose, exposeBias, exposeDark, getBinning, getCcdInfo, getData, getExposureTime, getWindow, isExposing, isReadingOut, setBinning, setExposureTime, setWindow, threadedBiasExpose, threadedDarkExpose, threadedExposeclose, getDriverName, isOpenpublic static final String KEY_MINTIME
public static final String KEY_MAXTIME
public static final String KEY_XCHIPSIZE
public static final String KEY_XDETECTORSIZE
public static final String KEY_YCHIPSIZE
public static final String KEY_YDETECTORSIZE
public static final String KEY_AMPLIFIERS
public static final String KEY_AREAREADOUT
public static final String KEY_ROWREADOUT
public static final String KEY_ROWPRIOR
public static final String KEY_ROWPOST
public static final String KEY_COLUMNREADOUT
public static final String KEY_COLUMNPRIOR
public static final String KEY_COLUMNPOST
public static final String KEY_FIXEDREADOUT
public static final String KEY_XBINNING
CcdDriver.setBinning(int, int).public static final String KEY_YBINNING
CcdDriver.setBinning(int, int).public static final String KEY_XORIGIN
public static final String KEY_YORIGIN
public static final String KEY_XSIZE
public static final String KEY_YSIZE
public static final String KEY_INITSIZE
private static final int DEFAMPLIFIERS
private static final int DEFXBINNING
private static final int DEFYBINNING
private static final double DEFROWREADOUT
private static final double DEFROWPRIOR
private static final double DEFROWPOST
private static final double DEFCOLUMNREADOUT
private static final double DEFCOLUMNPRIOR
private static final double DEFCOLUMNPOST
private static final boolean DEFINITSIZE
public void init()
throws InitException
init in interface InitializableInitExceptionpublic boolean open()
throws IOException
openController() method is called. If
that returns true, the binning is set according to KEY_XBINNING
and KEY_YBINNING. If all of the KEY_XORIGIN,
KEY_YORIGIN, KEY_XSIZE, and KEY_YSIZE
parameters are set, an initial window is also defined.open in interface DriverIOExceptionpublic double getMaximumExposureTime()
CcdDrivergetMaximumExposureTime in interface CcdDriverpublic double getMinimumExposureTime()
CcdDrivergetMinimumExposureTime in interface CcdDriverprotected abstract boolean openController()
throws IOException
IOException - If controller connection fails.public Dimension getReadoutMaximum()
getReadoutMaximum in interface CcdDriverpublic Dimension getDetectorSize()
CcdDrivergetDetectorSize in interface CcdDriverpublic long getReadoutTime(Rectangle area)
t = d+(k*A+rr*y+cr*x+rprior*x0+rpost*xs+cprior*y0+cpots*ys)/N, d ... fixed readout time k ... read-out time per pixel^2 rr ... read-out time per row (if shifted up/down) cr ... read-out time per column (if shifted left/right) rprior ... time per pixel that are before the amplifier in x-dir. rpost ... time per pixel that are after the amplifier in x-dir. cprior ... time per pixel that are before the amplifier in y-dir. cpost ... time per pixel that are after the amplifier in y-dir. N ... Number of amplifiers.All times here are in micro-second! The amplifier are spaced at equal distances, starting at zero. Depending on the read-out direction one of rr/cr will be zero. Only in very elaborated systems it makes sense to also define the extra time that is used to shift the charges without actually digitizing them (rprior etc.). In the lastter case, rr and cr will be zero.
getReadoutTime in interface CcdDriver