InscoperAPI/API/Base/Device/Camera.h¶
Namespaces¶
| Name |
|---|
| Inscoper Inscoper namespace. |
Classes¶
| Name | |
|---|---|
| class | Inscoper::Camera Camera class defines the interface for camera devices. |
Source code¶
#ifndef CAMERA_H
#define CAMERA_H
#include <Base/Device/AbstractSystem.h>
#include <Base/Image/Image.h>
#include <Base/Roi/RoiCrop.h>
#include <Base/Status/Status.h>
#include <Global.h>
#include <string>
#include <vector>
namespace Inscoper {
class INSCOPER_EXPORT Camera : virtual public AbstractSystem {
public:
virtual ~Camera() = default;
virtual unsigned int getImageHeight() INSCOPER_EXCEPTION = 0;
virtual unsigned int getImageWidth() INSCOPER_EXCEPTION = 0;
virtual unsigned int getImageBitDepth() INSCOPER_EXCEPTION = 0;
virtual unsigned int getBytesPerPixel() INSCOPER_EXCEPTION = 0;
virtual long getImageBufferSize() INSCOPER_EXCEPTION = 0;
virtual unsigned int getImageNumberPerTrigg() INSCOPER_EXCEPTION = 0;
virtual unsigned int getMaxNumberOfChannel() INSCOPER_EXCEPTION = 0;
// Convenient method to set/get the exposure and binning
virtual double getExposure() INSCOPER_EXCEPTION = 0;
virtual void setExposure(double d) INSCOPER_EXCEPTION = 0;
virtual std::string getBinning() INSCOPER_EXCEPTION = 0;
virtual void setBinning(const std::string &binning) INSCOPER_EXCEPTION = 0;
virtual bool isHardwareCropAvailable() INSCOPER_EXCEPTION = 0;
virtual void setHardwareCrop(const std::vector<Inscoper::RoiCrop> &crops) INSCOPER_EXCEPTION = 0;
virtual std::vector<Inscoper::RoiCrop> getHardwareCrop() INSCOPER_EXCEPTION = 0;
virtual bool isSequenceRunning() INSCOPER_EXCEPTION = 0;
virtual void prepareSequenceAcquisition() INSCOPER_EXCEPTION = 0;
virtual void startSequenceAcquisition(unsigned int nbImage) INSCOPER_EXCEPTION = 0;
virtual void startContinuousSequenceAcquisition() INSCOPER_EXCEPTION = 0;
virtual void checkSequenceStarted() INSCOPER_EXCEPTION = 0;
virtual void softwareTriggerImage() INSCOPER_EXCEPTION = 0;
virtual bool isSoftwareTriggerAvailable() INSCOPER_EXCEPTION = 0;
virtual bool isLevelTriggerAvailable() INSCOPER_EXCEPTION = 0;
virtual bool isEdgeTriggerAvailable() INSCOPER_EXCEPTION = 0;
virtual Inscoper::Status getEdgeTriggerStatus() INSCOPER_EXCEPTION = 0;
virtual Inscoper::Status getLevelTriggerStatus() INSCOPER_EXCEPTION = 0;
virtual Inscoper::Status getInternalTriggerStatus() INSCOPER_EXCEPTION = 0;
virtual Inscoper::Status getSoftwareTriggerStatus() INSCOPER_EXCEPTION = 0;
virtual double getPhysicalPixelSize() INSCOPER_EXCEPTION = 0;
virtual Inscoper::ImagePtr snapImage(unsigned int chanIdx) INSCOPER_EXCEPTION = 0;
virtual Inscoper::ImagePtr popNextImage(unsigned int chanIdx) INSCOPER_EXCEPTION = 0;
virtual Inscoper::ImagePtr popNextImageBlocking(unsigned int chanIdx) INSCOPER_EXCEPTION = 0;
virtual Inscoper::ImagePtr getLastImage(unsigned int chanIdx,
unsigned int indexBeforeLastImg = 0) INSCOPER_EXCEPTION = 0;
virtual long getRemainingImageCount(unsigned int chanIdx) INSCOPER_EXCEPTION = 0;
virtual void stopSequenceAcquisition() INSCOPER_EXCEPTION = 0;
virtual void clearBuffers() INSCOPER_EXCEPTION = 0;
};
typedef std::shared_ptr<Camera> CameraPtr;
} // namespace Inscoper
#endif // CAMERA_H
Updated on 2026-09-03 at 12:14:17 +0200