|
Instrument Neutral Distributed Interface INDI 2.2.5
|
The CCDChip class provides functionality of a CCD Chip within a CCD. More...
#include <indiccdchip.h>
Public Types | |
| enum | CCD_FRAME { LIGHT_FRAME = 0 , BIAS_FRAME , DARK_FRAME , FLAT_FRAME } |
| enum | CCD_FRAME_INDEX { FRAME_X , FRAME_Y , FRAME_W , FRAME_H } |
| enum | CCD_BIN_INDEX { BIN_W , BIN_H } |
| enum | CCD_INFO_INDEX { CCD_MAX_X , CCD_MAX_Y , CCD_PIXEL_SIZE , CCD_PIXEL_SIZE_X , CCD_PIXEL_SIZE_Y , CCD_BITSPERPIXEL } |
Public Member Functions | |
| CCDChip () | |
| ~CCDChip () | |
| bool | openFITSFile (uint32_t size, int &status) |
| openFITSFile Allocate memory buffer for internal FITS file structure and open | |
| bool | finishFITSFile (int &status) |
| Finish any pending write to fits file. | |
| void | closeFITSFile () |
| closeFITSFile Close the in-memory FITS File. | |
| int | getXRes () const |
| getXRes Get the horizontal resolution in pixels of the CCD Chip. | |
| int | getYRes () const |
| Get the vertical resolution in pixels of the CCD Chip. | |
| int | getSubX () const |
| getSubX Get the starting left coordinates (X) of the frame. | |
| int | getSubY () const |
| getSubY Get the starting top coordinates (Y) of the frame. | |
| int | getSubW () const |
| getSubW Get the width of the frame | |
| int | getSubH () const |
| getSubH Get the height of the frame | |
| int | getBinX () const |
| getBinX Get horizontal binning of the CCD chip. | |
| int | getBinY () const |
| getBinY Get vertical binning of the CCD chip. | |
| float | getPixelSizeX () const |
| getPixelSizeX Get horizontal pixel size in microns. | |
| float | getPixelSizeY () const |
| getPixelSizeY Get vertical pixel size in microns. | |
| int | getBPP () const |
| getBPP Get CCD Chip depth (bits per pixel). | |
| int | getFrameBufferSize () const |
| getFrameBufferSize Get allocated frame buffer size to hold the CCD image frame. | |
| double | getExposureLeft () const |
| getExposureLeft Get exposure time left in seconds. | |
| double | getExposureDuration () const |
| getExposureDuration Get requested exposure duration for the CCD chip in seconds. | |
| const char * | getExposureStartTime () |
| getExposureStartTime | |
| uint8_t * | getFrameBuffer () |
| getFrameBuffer Get raw frame buffer of the CCD chip. | |
| void | setFrameBuffer (uint8_t *buffer) |
| setFrameBuffer Set raw frame buffer pointer. | |
| bool | isCompressed () const |
| isCompressed | |
| CCD_FRAME | getFrameType () const |
| isInterlaced | |
| const char * | getFrameTypeName (CCD_FRAME fType) |
| getFrameTypeName returns CCD Frame type name | |
| INDI::PropertyNumber | getCCDInfo () |
| Return CCD Info Property. | |
| void | setResolution (uint32_t x, uint32_t y) |
| setResolution set CCD Chip resolution | |
| void | setFrame (uint32_t subx, uint32_t suby, uint32_t subw, uint32_t subh) |
| setFrame Set desired frame resolutoin for an exposure. | |
| void | setBin (uint8_t hor, uint8_t ver) |
| setBin Set CCD Chip binnig | |
| void | setMinMaxStep (const char *property, const char *element, double min, double max, double step, bool sendToClient=true) |
| setMinMaxStep for a number property element | |
| void | setPixelSize (double x, double y) |
| setPixelSize Set CCD Chip pixel size | |
| void | setCompressed (bool cmp) |
| setCompressed Set whether a frame is compressed after exposure? | |
| void | setFrameBufferSize (uint32_t nbuf, bool allocMem=true) |
| setFrameBufferSize Set desired frame buffer size. The function will allocate memory accordingly. The frame size depends on the desired frame resolution (Left, Top, Width, Height), depth of the CCD chip (bpp), and binning settings. You must set the frame size any time any of the prior parameters gets updated. | |
| void | setBPP (uint8_t bpp) |
| setBPP Set depth of CCD chip. | |
| void | setFrameType (CCD_FRAME type) |
| setFrameType Set desired frame type for next exposure. | |
| void | setExposureDuration (double duration) |
| setExposureDuration Set desired CCD frame exposure duration for next exposure. You must call this function immediately before starting the actual exposure as it is used to calculate the timestamp used for the FITS header. | |
| void | setExposureLeft (double duration) |
| setExposureLeft Update exposure time left. Inform the client of the new exposure time left value. | |
| void | setExposureComplete () |
| setExposureComplete Mark exposure as complete by setting ImageExposure property to IPS_OK | |
| void | setExposureFailed () |
| setExposureFailed Alert the client that the exposure failed. | |
| int | getNAxis () const |
| void | setNAxis (int value) |
| setNAxis Set FITS number of axis | |
| void | setImageExtension (const char *ext) |
| setImageExtension Set image extension | |
| char * | getImageExtension () |
| bool | isExposing () const |
| void | binFrame () |
| binFrame Perform software binning on the CCD frame. Only use this function if hardware binning is not supported. | |
| void | binBayerFrame () |
| binBayerFrame Perform software binning on a 2x2 Bayer matrix CCD frame. Only use this function if hardware binning is not supported. | |
| fitsfile ** | fitsFilePointer () |
| size_t * | fitsMemorySizePointer () |
| void ** | fitsMemoryBlockPointer () |
Friends | |
| class | CCD |
| class | StreamRecoder |
The CCDChip class provides functionality of a CCD Chip within a CCD.
Definition at line 38 of file indiccdchip.h.
| Enumerator | |
|---|---|
| BIN_W | |
| BIN_H | |
Definition at line 46 of file indiccdchip.h.
| Enumerator | |
|---|---|
| LIGHT_FRAME | |
| BIAS_FRAME | |
| DARK_FRAME | |
| FLAT_FRAME | |
Definition at line 44 of file indiccdchip.h.
| Enumerator | |
|---|---|
| FRAME_X | |
| FRAME_Y | |
| FRAME_W | |
| FRAME_H | |
Definition at line 45 of file indiccdchip.h.
| Enumerator | |
|---|---|
| CCD_MAX_X | |
| CCD_MAX_Y | |
| CCD_PIXEL_SIZE | |
| CCD_PIXEL_SIZE_X | |
| CCD_PIXEL_SIZE_Y | |
| CCD_BITSPERPIXEL | |
Definition at line 47 of file indiccdchip.h.
| INDI::CCDChip::CCDChip | ( | ) |
Definition at line 29 of file indiccdchip.cpp.
| INDI::CCDChip::~CCDChip | ( | ) |
Definition at line 34 of file indiccdchip.cpp.
| void INDI::CCDChip::binBayerFrame | ( | ) |
binBayerFrame Perform software binning on a 2x2 Bayer matrix CCD frame. Only use this function if hardware binning is not supported.
Definition at line 376 of file indiccdchip.cpp.
| void INDI::CCDChip::binFrame | ( | ) |
binFrame Perform software binning on the CCD frame. Only use this function if hardware binning is not supported.
Definition at line 283 of file indiccdchip.cpp.
| void INDI::CCDChip::closeFITSFile | ( | ) |
closeFITSFile Close the in-memory FITS File.
Definition at line 73 of file indiccdchip.cpp.
| bool INDI::CCDChip::finishFITSFile | ( | int & | status | ) |
Finish any pending write to fits file.
Definition at line 62 of file indiccdchip.cpp.
|
inline |
Definition at line 420 of file indiccdchip.h.
|
inline |
Definition at line 430 of file indiccdchip.h.
|
inline |
Definition at line 425 of file indiccdchip.h.
|
inline |
getBinX Get horizontal binning of the CCD chip.
Definition at line 135 of file indiccdchip.h.
|
inline |
getBinY Get vertical binning of the CCD chip.
Definition at line 144 of file indiccdchip.h.
|
inline |
getBPP Get CCD Chip depth (bits per pixel).
Definition at line 171 of file indiccdchip.h.
|
inline |
Definition at line 268 of file indiccdchip.h.
|
inline |
getExposureDuration Get requested exposure duration for the CCD chip in seconds.
Definition at line 198 of file indiccdchip.h.
|
inline |
getExposureLeft Get exposure time left in seconds.
Definition at line 189 of file indiccdchip.h.
| const char * INDI::CCDChip::getExposureStartTime | ( | ) |
getExposureStartTime
Definition at line 235 of file indiccdchip.cpp.
|
inline |
getFrameBuffer Get raw frame buffer of the CCD chip.
Definition at line 213 of file indiccdchip.h.
|
inline |
getFrameBufferSize Get allocated frame buffer size to hold the CCD image frame.
Definition at line 180 of file indiccdchip.h.
|
inline |
isInterlaced
getFrameType
Definition at line 253 of file indiccdchip.h.
| const char * INDI::CCDChip::getFrameTypeName | ( | CCD_FRAME | fType | ) |
getFrameTypeName returns CCD Frame type name
| fType | type of frame |
Definition at line 230 of file indiccdchip.cpp.
|
inline |
Definition at line 395 of file indiccdchip.h.
| int INDI::CCDChip::getNAxis | ( | ) | const |
Definition at line 268 of file indiccdchip.cpp.
|
inline |
getPixelSizeX Get horizontal pixel size in microns.
Definition at line 153 of file indiccdchip.h.
|
inline |
getPixelSizeY Get vertical pixel size in microns.
Definition at line 162 of file indiccdchip.h.
|
inline |
getSubH Get the height of the frame
Definition at line 126 of file indiccdchip.h.
|
inline |
getSubW Get the width of the frame
Definition at line 117 of file indiccdchip.h.
|
inline |
getSubX Get the starting left coordinates (X) of the frame.
Definition at line 99 of file indiccdchip.h.
|
inline |
getSubY Get the starting top coordinates (Y) of the frame.
Definition at line 108 of file indiccdchip.h.
|
inline |
getXRes Get the horizontal resolution in pixels of the CCD Chip.
Definition at line 81 of file indiccdchip.h.
|
inline |
Get the vertical resolution in pixels of the CCD Chip.
Definition at line 90 of file indiccdchip.h.
|
inline |
isCompressed
Definition at line 235 of file indiccdchip.h.
|
inline |
Definition at line 403 of file indiccdchip.h.
| bool INDI::CCDChip::openFITSFile | ( | uint32_t | size, |
| int & | status | ||
| ) |
openFITSFile Allocate memory buffer for internal FITS file structure and open
| FITS | error code in case an error happens. an in-memory FITS file as a Shared BLOB. |
Definition at line 41 of file indiccdchip.cpp.
| void INDI::CCDChip::setBin | ( | uint8_t | hor, |
| uint8_t | ver | ||
| ) |
setBin Set CCD Chip binnig
| hor | Horizontal binning. |
| ver | Vertical binning. |
Definition at line 128 of file indiccdchip.cpp.
| void INDI::CCDChip::setBPP | ( | uint8_t | bpp | ) |
setBPP Set depth of CCD chip.
| bpp | bits per pixel |
Definition at line 179 of file indiccdchip.cpp.
| void INDI::CCDChip::setCompressed | ( | bool | cmp | ) |
setCompressed Set whether a frame is compressed after exposure?
| cmp | If true, compress frame. |
| void INDI::CCDChip::setExposureComplete | ( | ) |
setExposureComplete Mark exposure as complete by setting ImageExposure property to IPS_OK
Definition at line 217 of file indiccdchip.cpp.
| void INDI::CCDChip::setExposureDuration | ( | double | duration | ) |
setExposureDuration Set desired CCD frame exposure duration for next exposure. You must call this function immediately before starting the actual exposure as it is used to calculate the timestamp used for the FITS header.
| duration | exposure duration in seconds. |
Definition at line 224 of file indiccdchip.cpp.
| void INDI::CCDChip::setExposureFailed | ( | ) |
setExposureFailed Alert the client that the exposure failed.
Definition at line 262 of file indiccdchip.cpp.
| void INDI::CCDChip::setExposureLeft | ( | double | duration | ) |
setExposureLeft Update exposure time left. Inform the client of the new exposure time left value.
| duration | exposure duration left in seconds. |
Definition at line 210 of file indiccdchip.cpp.
| void INDI::CCDChip::setFrame | ( | uint32_t | subx, |
| uint32_t | suby, | ||
| uint32_t | subw, | ||
| uint32_t | subh | ||
| ) |
setFrame Set desired frame resolutoin for an exposure.
| subx | Left position. |
| suby | Top position. |
| subw | unbinned width of the frame. |
| subh | unbinned height of the frame. |
Definition at line 113 of file indiccdchip.cpp.
|
inline |
setFrameBuffer Set raw frame buffer pointer.
| buffer | pointer to frame buffer /note CCD Chip allocates the frame buffer internally once SetFrameBufferSize is called with allocMem set to true which is the default behavior. If you allocated the memory yourself (i.e. allocMem is false), then you must call this function to set the pointer to the raw frame buffer. |
Definition at line 226 of file indiccdchip.h.
| void INDI::CCDChip::setFrameBufferSize | ( | uint32_t | nbuf, |
| bool | allocMem = true |
||
| ) |
setFrameBufferSize Set desired frame buffer size. The function will allocate memory accordingly. The frame size depends on the desired frame resolution (Left, Top, Width, Height), depth of the CCD chip (bpp), and binning settings. You must set the frame size any time any of the prior parameters gets updated.
| nbuf | size of buffer in bytes. |
| allocMem | if True, it will allocate memory of nbut size bytes. |
Definition at line 188 of file indiccdchip.cpp.
| void INDI::CCDChip::setFrameType | ( | CCD_FRAME | type | ) |
setFrameType Set desired frame type for next exposure.
| type | desired CCD frame type. |
Definition at line 86 of file indiccdchip.cpp.
| void INDI::CCDChip::setImageExtension | ( | const char * | ext | ) |
setImageExtension Set image extension
| ext | extension (fits, jpeg, raw..etc) |
Definition at line 278 of file indiccdchip.cpp.
| void INDI::CCDChip::setMinMaxStep | ( | const char * | property, |
| const char * | element, | ||
| double | min, | ||
| double | max, | ||
| double | step, | ||
| bool | sendToClient = true |
||
| ) |
setMinMaxStep for a number property element
| property | Property name |
| element | Element name |
| min | Minimum element value |
| max | Maximum element value |
| step | Element step value |
| sendToClient | If true (default), the element limits are updated and is sent to the client. If false, the element limits are updated without getting sent to the client. |
Definition at line 139 of file indiccdchip.cpp.
| void INDI::CCDChip::setNAxis | ( | int | value | ) |
setNAxis Set FITS number of axis
| value | number of axis |
Definition at line 273 of file indiccdchip.cpp.
| void INDI::CCDChip::setPixelSize | ( | double | x, |
| double | y | ||
| ) |
setPixelSize Set CCD Chip pixel size
| x | Horizontal pixel size in microns. |
| y | Vertical pixel size in microns. |
Definition at line 167 of file indiccdchip.cpp.
| void INDI::CCDChip::setResolution | ( | uint32_t | x, |
| uint32_t | y | ||
| ) |
setResolution set CCD Chip resolution
| x | width |
| y | height |
Definition at line 91 of file indiccdchip.cpp.
|
friend |
Definition at line 537 of file indiccdchip.h.
|
friend |
Definition at line 538 of file indiccdchip.h.