|
virtual DeviceType | GetType () const |
|
virtual int | SnapImage ()=0 |
|
virtual const unsigned char * | GetImageBuffer ()=0 |
|
virtual const unsigned char * | GetImageBuffer (unsigned channelNr)=0 |
|
virtual const unsigned int * | GetImageBufferAsRGB32 ()=0 |
|
virtual unsigned | GetNumberOfComponents () const =0 |
|
virtual int | GetComponentName (unsigned component, char *name)=0 |
|
virtual int unsigned | GetNumberOfChannels () const =0 |
|
virtual int | GetChannelName (unsigned channel, char *name)=0 |
|
virtual long | GetImageBufferSize () const =0 |
|
virtual unsigned | GetImageWidth () const =0 |
|
virtual unsigned | GetImageHeight () const =0 |
|
virtual unsigned | GetImageBytesPerPixel () const =0 |
|
virtual unsigned | GetBitDepth () const =0 |
|
virtual double | GetPixelSizeUm () const =0 |
|
virtual int | GetBinning () const =0 |
|
virtual int | SetBinning (int binSize)=0 |
|
virtual void | SetExposure (double exp_ms)=0 |
|
virtual double | GetExposure () const =0 |
|
virtual int | SetROI (unsigned x, unsigned y, unsigned xSize, unsigned ySize)=0 |
|
virtual int | GetROI (unsigned &x, unsigned &y, unsigned &xSize, unsigned &ySize)=0 |
|
virtual int | ClearROI ()=0 |
|
virtual bool | SupportsMultiROI ()=0 |
|
virtual bool | IsMultiROISet ()=0 |
|
virtual int | GetMultiROICount (unsigned &count)=0 |
|
virtual int | SetMultiROI (const unsigned *xs, const unsigned *ys, const unsigned *widths, const unsigned *heights, unsigned numROIs)=0 |
|
virtual int | GetMultiROI (unsigned *xs, unsigned *ys, unsigned *widths, unsigned *heights, unsigned *length)=0 |
|
virtual int | StartSequenceAcquisition (long numImages, double interval_ms, bool stopOnOverflow)=0 |
|
virtual int | StartSequenceAcquisition (double interval_ms)=0 |
|
virtual int | StopSequenceAcquisition ()=0 |
|
virtual int | PrepareSequenceAcqusition ()=0 |
|
virtual bool | IsCapturing ()=0 |
|
virtual void | GetTags (char *serializedMetadata)=0 |
|
virtual void | AddTag (const char *key, const char *deviceLabel, const char *value)=0 |
|
virtual void | RemoveTag (const char *key)=0 |
|
virtual int | IsExposureSequenceable (bool &isSequenceable) const =0 |
|
virtual int | GetExposureSequenceMaxLength (long &nrEvents) const =0 |
|
virtual int | StartExposureSequence ()=0 |
|
virtual int | StopExposureSequence ()=0 |
|
virtual int | ClearExposureSequence ()=0 |
|
virtual int | AddToExposureSequence (double exposureTime_ms)=0 |
|
virtual int | SendExposureSequence () const =0 |
|
virtual unsigned | GetNumberOfProperties () const =0 |
|
virtual int | GetProperty (const char *name, char *value) const =0 |
|
virtual int | SetProperty (const char *name, const char *value)=0 |
|
virtual bool | HasProperty (const char *name) const =0 |
|
virtual bool | GetPropertyName (unsigned idx, char *name) const =0 |
|
virtual int | GetPropertyReadOnly (const char *name, bool &readOnly) const =0 |
|
virtual int | GetPropertyInitStatus (const char *name, bool &preInit) const =0 |
|
virtual int | HasPropertyLimits (const char *name, bool &hasLimits) const =0 |
|
virtual int | GetPropertyLowerLimit (const char *name, double &lowLimit) const =0 |
|
virtual int | GetPropertyUpperLimit (const char *name, double &hiLimit) const =0 |
|
virtual int | GetPropertyType (const char *name, MM::PropertyType &pt) const =0 |
|
virtual unsigned | GetNumberOfPropertyValues (const char *propertyName) const =0 |
|
virtual bool | GetPropertyValueAt (const char *propertyName, unsigned index, char *value) const =0 |
|
virtual int | IsPropertySequenceable (const char *name, bool &isSequenceable) const =0 |
|
virtual int | GetPropertySequenceMaxLength (const char *propertyName, long &nrEvents) const =0 |
|
virtual int | StartPropertySequence (const char *propertyName)=0 |
|
virtual int | StopPropertySequence (const char *propertyName)=0 |
|
virtual int | ClearPropertySequence (const char *propertyName)=0 |
|
virtual int | AddToPropertySequence (const char *propertyName, const char *value)=0 |
|
virtual int | SendPropertySequence (const char *propertyName)=0 |
|
virtual bool | GetErrorText (int errorCode, char *errMessage) const =0 |
|
virtual bool | Busy ()=0 |
|
virtual double | GetDelayMs () const =0 |
|
virtual void | SetDelayMs (double delay)=0 |
|
virtual bool | UsesDelay ()=0 |
|
| MM_DEPRECATED (virtual HDEVMODULE GetModuleHandle() const)=0 |
|
| MM_DEPRECATED (virtual void SetModuleHandle(HDEVMODULE hLibraryHandle))=0 |
|
virtual void | SetLabel (const char *label)=0 |
|
virtual void | GetLabel (char *name) const =0 |
|
virtual void | SetModuleName (const char *moduleName)=0 |
|
virtual void | GetModuleName (char *moduleName) const =0 |
|
virtual void | SetDescription (const char *description)=0 |
|
virtual void | GetDescription (char *description) const =0 |
|
virtual int | Initialize ()=0 |
|
virtual int | Shutdown ()=0 |
|
virtual void | GetName (char *name) const =0 |
|
virtual void | SetCallback (Core *callback)=0 |
|
virtual bool | SupportsDeviceDetection (void)=0 |
|
virtual MM::DeviceDetectionStatus | DetectDevice (void)=0 |
|
virtual void | SetParentID (const char *parentId)=0 |
|
virtual void | GetParentID (char *parentID) const =0 |
|
virtual const unsigned char* MM::Camera::GetImageBuffer |
( |
| ) |
|
|
pure virtual |
Returns pixel data. Required by the MM::Camera API. GetImageBuffer will be called shortly after SnapImage returns. Use it to wait for camera read-out and transfer of data into memory Return a pointer to a buffer containing the image data The calling program will assume the size of the buffer based on the values obtained from GetImageBufferSize(), which in turn should be consistent with values returned by GetImageWidth(), GetImageHeight(), GetImageBytesPerPixel(), and getNumberOfComponents(). The calling program also assumes that camera never changes the size of the pixel buffer on its own. In other words, the buffer can change only if appropriate properties are set (such as binning, pixel type, etc.) Multi-Channel cameras should return the content of the first channel in this call.
Supported data types are byte (8 bits per pixel, 1 component), short (16 bits per pixel, 1 component), float (32 bits per pixel, 1 component, not supported by the UI yet), RGB_32 (8 bits per component, 4 components), RGB_64 (16 bits per component, 4 components, not supported by UI yet).
RGB buffers are expected to be in big endian ARGB format (ARGB8888), which means that on little endian format (currently most/all? code is compiled for little endian architecture), the format is BGRA888 (see: https://en.wikipedia.org/wiki/RGBA_color_model).
Implemented in CCameraBase< U >.