Skip to content

Inscoper::Camera

Camera class defines the interface for camera devices. More...

#include <Camera.h>

Inherits from Inscoper::AbstractSystem

Public Functions

Name
virtual ~Camera() =default
Destructor.
virtual unsigned int getImageHeight() =0
Get the image height.
virtual unsigned int getImageWidth() =0
Get the image width.
virtual unsigned int getImageBitDepth() =0
Get the image bit depth.
virtual unsigned int getBytesPerPixel() =0
Get the number of bytes per pixel.
virtual long getImageBufferSize() =0
Get the image buffer size.
virtual unsigned int getImageNumberPerTrigg() =0
Get the number of acquired images per trigger.
virtual unsigned int getMaxNumberOfChannel() =0
Get the maximum number of channels.
virtual double getExposure() =0
Get the exposure time.
virtual void setExposure(double d) =0
Set the exposure time.
virtual std::string getBinning() =0
Get the binning mode.
virtual void setBinning(const std::string & binning) =0
Set the binning mode.
virtual bool isHardwareCropAvailable() =0
Check if hardware ROI cropping is available.
virtual void setHardwareCrop(const std::vector< Inscoper::RoiCrop > & crops) =0
Set the hardware ROI crops.
virtual std::vector< Inscoper::RoiCrop > getHardwareCrop() =0
Get the hardware ROI crops.
virtual bool isSequenceRunning() =0
Check if a sequence is running.
virtual void prepareSequenceAcquisition() =0
Prepare for sequence acquisition.
virtual void startSequenceAcquisition(unsigned int nbImage) =0
Start a sequence acquisition.
virtual void startContinuousSequenceAcquisition() =0
Start a continuous sequence acquisition.
virtual void checkSequenceStarted() =0
Wait until the sequence starts.
virtual void softwareTriggerImage() =0
Trigger an image acquisition bypassing the device controller (software trigger).
virtual bool isSoftwareTriggerAvailable() =0
Check if software trigger is available.
virtual Inscoper::ImagePtr snapImage(unsigned int chanIdx) =0
Captures a single frame from the specified channel.
virtual Inscoper::ImagePtr popNextImage(unsigned int chanIdx) =0
Pop the next acquired image.
virtual Inscoper::ImagePtr popNextImageBlocking(unsigned int chanIdx) =0
Wait and pop the next acquired image.
virtual Inscoper::ImagePtr getLastImage(unsigned int chanIdx, unsigned int indexBeforeLastImg =0) =0
Get the last acquired image.
virtual long getRemainingImageCount(unsigned int chanIdx) =0
Get the number of images remaining in the buffer.
virtual void stopSequenceAcquisition() =0
Stop the sequence acquisition.
virtual void clearBuffers() =0
Clear internal buffers.

Additional inherited members

Public Functions inherited from Inscoper::AbstractSystem

Name
virtual ~AbstractSystem() =default
Destructor.
virtual Inscoper::EDeviceType getDeviceType() =0
Get the type of the device.
virtual std::string getLastError() =0
Get the last error message.
virtual std::vector< std::string > getProperties() =0
Get the list of available properties.
virtual std::vector< Inscoper::SubDeviceId > getModifiedProperties() =0
Get the list of modified properties.
virtual std::string getProperty(const std::string & name) =0
Get the value of a property.
virtual void setProperty(const std::string & name, const std::string & value) =0
Set the value of a property.
virtual void checkProperty(const std::string & name) =0
Check if a property value is valid.
virtual bool isReadOnly(const std::string & propName) =0
Check if a property is read-only.
virtual Inscoper::EParamType getType(const std::string & propName) =0
Get the data type of a property.
virtual std::string getMin(const std::string & propName) =0
Get the minimum value of a property.
virtual std::string getMax(const std::string & propName) =0
Get the maximum value of a property.
virtual std::string getStep(const std::string & propName) =0
Get the step size of a property.
virtual std::vector< std::string > getValueList(const std::string & propName) =0
Get the list of allowed values for a property.
virtual bool isAccessibleInSequence(const std::string & propName) =0
Check if a property is accessible during sequence execution.

Detailed Description

class Inscoper::Camera;

Camera class defines the interface for camera devices.

This class extends AbstractSystem to provide image acquisition capabilities, controlling parameters such as exposure, binning, and ROIs, and managing acquisition sequences.

Public Functions Documentation

function ~Camera

virtual ~Camera() =default

Destructor.

function getImageHeight

virtual unsigned int getImageHeight() =0

Get the image height.

Return: The image height

Retrieves the height of the acquired images in pixels.

function getImageWidth

virtual unsigned int getImageWidth() =0

Get the image width.

Return: The image width

Retrieves the width of the acquired images in pixels.

function getImageBitDepth

virtual unsigned int getImageBitDepth() =0

Get the image bit depth.

Return: The image bit depth

Retrieves the bit depth of the acquired images (e.g., 8, 12, 16 bits).

function getBytesPerPixel

virtual unsigned int getBytesPerPixel() =0

Get the number of bytes per pixel.

Return: The bytes per pixel

Retrieves the number of bytes used to store a single pixel in the acquired images.

function getImageBufferSize

virtual long getImageBufferSize() =0

Get the image buffer size.

Return: The image buffer size

Retrieves the total size of the image buffer in bytes.

function getImageNumberPerTrigg

virtual unsigned int getImageNumberPerTrigg() =0

Get the number of acquired images per trigger.

Return: The number of acquired images per trigger

Retrieves the number of frames acquired for each trigger event.

function getMaxNumberOfChannel

virtual unsigned int getMaxNumberOfChannel() =0

Get the maximum number of channels.

Return: The maximum number of channels

Retrieves the maximum number of channels supported by the camera.

function getExposure

virtual double getExposure() =0

Get the exposure time.

Return: The exposure time

Retrieves the current exposure time setting in micro seconds.

function setExposure

virtual void setExposure(
    double d
) =0

Set the exposure time.

Parameters:

  • d : The exposure time to set

Sets the exposure time for image acquisition, in micro seconds.

function getBinning

virtual std::string getBinning() =0

Get the binning mode.

Return: The binning mode

Retrieves the current binning configuration (e.g., "1x1", "2x2").

function setBinning

virtual void setBinning(
    const std::string & binning
) =0

Set the binning mode.

Parameters:

  • binning : The binning mode to set

Sets the binning configuration for image acquisition.

function isHardwareCropAvailable

virtual bool isHardwareCropAvailable() =0

Check if hardware ROI cropping is available.

Return: True if hardware ROI cropping is available, false otherwise

Determines if the camera supports Region Of Interest (ROI) cropping in hardware.

function setHardwareCrop

virtual void setHardwareCrop(
    const std::vector< Inscoper::RoiCrop > & crops
) =0

Set the hardware ROI crops.

Parameters:

  • crops : A list of hardware ROI crops

Configures the hardware regions of interest for acquisition.

function getHardwareCrop

virtual std::vector< Inscoper::RoiCrop > getHardwareCrop() =0

Get the hardware ROI crops.

Return: A list of hardware ROI crops

Retrieves the currently configured hardware regions of interest.

function isSequenceRunning

virtual bool isSequenceRunning() =0

Check if a sequence is running.

Return: True if a sequence is running, false otherwise

Determines if an image acquisition sequence is currently in progress.

function prepareSequenceAcquisition

virtual void prepareSequenceAcquisition() =0

Prepare for sequence acquisition.

Performs necessary setup steps before starting an acquisition sequence.

function startSequenceAcquisition

virtual void startSequenceAcquisition(
    unsigned int nbImage
) =0

Start a sequence acquisition.

Parameters:

  • nbImage : The number of images to acquire

Begins capturing a specified number of images. -1, is an infinite number of images.

function startContinuousSequenceAcquisition

virtual void startContinuousSequenceAcquisition() =0

Start a continuous sequence acquisition.

Begins capturing images continuously until stopped.

function checkSequenceStarted

virtual void checkSequenceStarted() =0

Wait until the sequence starts.

Wait until the acquisition sequence initiates.

function softwareTriggerImage

virtual void softwareTriggerImage() =0

Trigger an image acquisition bypassing the device controller (software trigger).

Sends a direct software command to capture an image, without the device controller.

function isSoftwareTriggerAvailable

virtual bool isSoftwareTriggerAvailable() =0

Check if software trigger is available.

Return: True if software trigger is available, false otherwise

Determines if the camera supports direct triggering via software commands.

function snapImage

virtual Inscoper::ImagePtr snapImage(
    unsigned int chanIdx
) =0

Captures a single frame from the specified channel.

Parameters:

  • chanIdx : The index of the acquisition channel (0 for single-channel devices)

Return: The image

Initiates an image acquisition and retrieves the data from the requested channel index.

function popNextImage

virtual Inscoper::ImagePtr popNextImage(
    unsigned int chanIdx
) =0

Pop the next acquired image.

Parameters:

  • chanIdx : The index of the acquisition channel (0 for single-channel devices)

Return: The image

Acquired images are stored in an internal buffer. Retrieves the next available image from this buffer, for the requested channel index.

function popNextImageBlocking

virtual Inscoper::ImagePtr popNextImageBlocking(
    unsigned int chanIdx
) =0

Wait and pop the next acquired image.

Parameters:

  • chanIdx : The index of the acquisition channel (0 for single-channel devices)

Return: The image

Acquired images are stored in an internal buffer. Retrieves the next available image from this buffer, waiting if necessary until one becomes available, for the requested channel index.

function getLastImage

virtual Inscoper::ImagePtr getLastImage(
    unsigned int chanIdx,
    unsigned int indexBeforeLastImg =0
) =0

Get the last acquired image.

Parameters:

  • chanIdx : The index of the acquisition channel (0 for single-channel devices)
  • indexBeforeLastImg : Offset from the last image (0 for the very last)

Return: The image

Acquired images are stored in an internal buffer. Retrieves an image from this buffer based on its chronological order for the requested channel index.

function getRemainingImageCount

virtual long getRemainingImageCount(
    unsigned int chanIdx
) =0

Get the number of images remaining in the buffer.

Parameters:

  • chanIdx : The index of the acquisition channel (0 for single-channel devices)

Return: The number of remaining images in the buffer

Retrieves the number of images currently waiting in the buffer.

function stopSequenceAcquisition

virtual void stopSequenceAcquisition() =0

Stop the sequence acquisition.

Stops the current image acquisition sequence.

function clearBuffers

virtual void clearBuffers() =0

Clear internal buffers.

Clears all images stored in the internal buffers.


Updated on 2026-04-02 at 10:55:35 +0200