org.minetti.astrodevice.common.object
Interface CameraCapabilities


public interface CameraCapabilities

Object representing all capabilities of a camera.

Author:
Jean-Philippe MINETTI

Method Summary
 boolean canAbortExposure()
          Returns TRUE if the camera can abort exposures; FALSE if not.
 boolean canAsymmetricBin()
          Returns TRUE if the camera supports asymmetric binning.
 boolean canFastReadout()
          Returns TRUE if the camera has a fast readout mode.
 boolean canGetCoolerPower()
          Returns TRUE if the camera's cooler power setting can be read.
 boolean canPulseGuide()
          Returns TRUE if the camera supports pulse guiding.
 boolean canSetCcdTemperature()
          Returns TRUE the camera supports setting the CCD temperature.
 boolean canStopExposure()
          Returns TRUE if the camera can stop an exposure that is in progress.
 double getExposureMax()
          Returns the maximum exposure time supported by CameraOrbProcess.startExposure(long, double, boolean).
 double getExposureMin()
          Returns the minimum exposure time supported by CameraOrbProcess.startExposure(long, double, boolean).
 double getExposureResolution()
          Returns the smallest increment in exposure time supported by CameraOrbProcess.startExposure(long, double, boolean).
 CameraGainCapabilities getGain()
          Returns the gains supported by the camera.
 short getMaxBinX()
          Returns the maximum allowed binning for the X camera axis.
 short getMaxBinY()
          Returns the maximum allowed binning for the Y camera axis.
 List<String> getReadoutModes()
          Returns a list of available readout modes.
 boolean hasShutter()
          Returns TRUE if the camera has a mechanical shutter.
 

Method Detail

getGain

CameraGainCapabilities getGain()
Returns the gains supported by the camera.

Returns:
Gains supported by the camera.

canAsymmetricBin

boolean canAsymmetricBin()
Returns TRUE if the camera supports asymmetric binning.

If TRUE, the camera can have different binning on the X and Y axes, as determined by CameraOrbProcess.getBinX(long) and CameraOrbProcess.getBinY(long). If FALSE, the binning must be equal on the X and Y axes.

Returns:
TRUE if the camera supports asymmetric binning.
Throws:
NotConnectedException - Must throw exception if the value is not known (n.b. normally only occurs if no connection established and camera must be queried).

getMaxBinX

short getMaxBinX()
Returns the maximum allowed binning for the X camera axis.

If canAsymmetricBin() = FALSE, returns the maximum allowed binning factor. If canAsymmetricBin() = TRUE, returns the maximum allowed binning factor for the X axis.

Returns:
Maximum allowed binning for the X camera axis.
Throws:
NotConnectedException - Must throw exception if data unavailable.

getMaxBinY

short getMaxBinY()
Returns the maximum allowed binning for the Y camera axis.

If canAsymmetricBin() = FALSE, equals getMaxBinX(). If canAsymmetricBin() = TRUE, returns the maximum allowed binning factor for the Y axis.

Returns:
Maximum allowed binning for the Y camera axis.
Throws:
NotConnectedException - Must throw exception if data unavailable.

canFastReadout

boolean canFastReadout()
Returns TRUE if the camera has a fast readout mode.

It is recommended that this function be called only after a connection is established with the camera hardware, to ensure that the driver is aware of the capabilities of the specific camera model.

Returns:
TRUE if the camera has a fast readout mode.
Throws:
NotConnectedException - Must throw an exception if the information is not available (Some drivers may require an active connection in order to retrieve necessary information from the camera).

getReadoutModes

List<String> getReadoutModes()
Returns a list of available readout modes.

This method return an array of strings, each of which describes an available readout mode of the camera. At least two strings must be present in the list. The user interface of a control application will typically present to the user a drop-list of modes. The choice of available modes made available is entirely at the discretion of the driver author. Please note that if the camera has many different modes of operation, then the most commonly adjusted settings should be in getReadoutModes(); additional settings may be provided using SetupDialog.

To select a mode, the application will call setReadoutMode() to the index of the desired mode. The index is zero-based.

This method should only be call while a connection to the camera is actually established. Drivers often support multiple cameras with different capabilities, which are not known until the connection is made. If the available readout modes are not known because no connection has been established, this property shall throw an exception.

Please note that the default mode setting is 0. It is strongly recommended, but not required, that driver authors use the 0-index mode for standard imaging operations, since it is the default.

This feature may be used in parallel with CameraOrbProcess.setFastReadout(long, boolean); however, care should be taken to ensure that the two features work together consistently. If there are modes that are inconsistent having a separate fast/normal switch, then it may be better to simply list Fast as one of the getReadoutModes.

It is recommended that this function be called only after a connection is established with the camera hardware, to ensure that the driver is aware of the capabilities of the specific camera model.

Returns:
List of available readout modes.
Throws:
PropertyNotImplementedException - Must throw an exception if gainmin is not supported.
NotConnectedException - Must throw an exception if the information is not available (Some drivers may require an active connection in order to retrieve necessary information from the camera).

getExposureMin

double getExposureMin()
Returns the minimum exposure time supported by CameraOrbProcess.startExposure(long, double, boolean).

This must be a non-zero number representing the shortest possible exposure time supported by the camera model.

Please note that for bias frame acquisition an even shorter exposure may be possible; please see startExposure(long, double, boolean) for more information.

It is recommended that this function be called only after a connection is established with the camera hardware, to ensure that the driver is aware of the capabilities of the specific camera model.

Returns:
Minimum exposure time, in seconds (s), that the camera supports.
Throws:
NotConnectedException - Must throw an exception if the information is not available (Some drivers may require an active connection in order to retrieve necessary information from the camera).
InvalidValueException - Must throw an exception if not valid.

getExposureMax

double getExposureMax()
Returns the maximum exposure time supported by CameraOrbProcess.startExposure(long, double, boolean).

It is recommended that this function be called only after a connection is established with the camera hardware, to ensure that the driver is aware of the capabilities of the specific camera model.

Returns:
Maximum exposure time, in seconds (s), that the camera supports.
Throws:
NotConnectedException - Must throw an exception if the information is not available (Some drivers may require an active connection in order to retrieve necessary information from the camera).
InvalidValueException - Must throw an exception if not valid.

getExposureResolution

double getExposureResolution()
Returns the smallest increment in exposure time supported by CameraOrbProcess.startExposure(long, double, boolean).

This can be used, for example, to specify the resolution of a user interface "spin control" used to dial in the exposure time.

Please note that the duration provided to startExposure(long, double, boolean) does not have to be an exact multiple of this number; the driver should choose the closest available value. Also in some cases the resolution may not be constant over the full range of exposure times; in this case the smallest increment would be appropriate.

It is recommended that this function be called only after a connection is established with the camera hardware, to ensure that the driver is aware of the capabilities of the specific camera model.

Returns:
Exposure resolution in seconds (s).
Throws:
NotConnectedException - Must throw an exception if the information is not available (Some drivers may require an active connection in order to retrieve necessary information from the camera).
InvalidValueException - Must throw an exception if not valid.

hasShutter

boolean hasShutter()
Returns TRUE if the camera has a mechanical shutter.

If TRUE, the camera has a mechanical shutter. If FALSE, the camera does not have a shutter. If there is no shutter, the CameraOrbProcess.startExposure(long, double, boolean) command will ignore the light parameter.

Returns:
TRUE if the camera has a mechanical shutter.
Throws:
NotConnectedException - Thrown if the driver is not connected.

canStopExposure

boolean canStopExposure()
Returns TRUE if the camera can stop an exposure that is in progress.

Some cameras support CameraOrbProcess.stopExposure(long), which allows the exposure to be terminated before the exposure timer completes, but will still read out the image. Returns TRUE if CameraOrbProcess.stopExposure(long) is available, FALSE if not.

Returns:
TRUE if the camera can stop the exposure; otherwise, FALSE.
Throws:
PropertyNotImplementedException - Not supported.
NotConnectedException - An error condition such as connection failure is present.

canAbortExposure

boolean canAbortExposure()
Returns TRUE if the camera can abort exposures; FALSE if not.

Returns:
TRUE if the camera can abort exposures; FALSE if not.
Throws:
NotConnectedException - Thrown if the driver is not connected.

canPulseGuide

boolean canPulseGuide()
Returns TRUE if the camera supports pulse guiding.

Returns TRUE if the camera can send autoguider pulses to the telescope mount; FALSE if not.

Note: this does not provide any indication of whether the autoguider cable is actually connected.

Returns:
TRUE if the camera supports pulse guiding.
Throws:
NotConnectedException - Thrown if the driver is not connected.

canGetCoolerPower

boolean canGetCoolerPower()
Returns TRUE if the camera's cooler power setting can be read.

Returns:
TRUE if the camera's cooler power setting can be read.
Throws:
NotConnectedException - Thrown if the driver is not connected.

canSetCcdTemperature

boolean canSetCcdTemperature()
Returns TRUE the camera supports setting the CCD temperature.

If TRUE, the camera's cooler setpoint can be adjusted. If FALSE, the camera either uses open-loop cooling or does not have the ability to adjust temperature from software, and calling the CameraOrbProcess.setSetCcdTemperature(long, double) method has no effect.

Returns:
TRUE the camera supports setting the CCD temperature.
Throws:
NotConnectedException - Thrown if the driver is not connected.


Copyright © 2012 astroDevice. All Rights Reserved.