Copmatible Devices
- Tested with FLIR Blackfly S PGE-13Y3C-C
- Other FLIR Spinnaker compatible cameras should be supported. If you discover issue with your hardware please provide a bug report on the PlusLib GitHub issue tracker. If you have feedback or would like a feature added, please create a discussion on the PlusLib GitHub discussion forum.
Supported platforms
Spinnaker SDK Tested Versions
Please build PLUS Point Grey Spinnaker support against the following Spinnaker SDK versions. Other versions may work, but are not regularly tested by the PLUS developer team.
- Windows: 1.20.0.15
- Ubuntu 16.04 Xenial: 1.13.0.31
- Ubuntu 18.04 Bionic: 1.20.0.14
Building the SpinnakerVideo PLUS support
- To build the software, please download Point Grey's Spinnaker SDK from the FLIR downloads portal. Alternatively, confirmed working files needed to build the support for Spinnaker compatible cameras on Windows & Linux are available in the PLTools repository.
Device configuration settings
Please check your device's technical specifications (available from the FLIR downloads portal) for the appropriate min & max values of these parameters for your hardware.
-
Type =
"SpinnakerVideo"
-
CameraNumber Camera number to connect to.
Default = "0"
-
PixelEncoding
Default = "RGB24"
RGB24
Standard RGB 24-bit pixel encoding.
MONO8
8-bit monochrome pixel encoding.
-
FrameSize Size of the image frame (width x height)
Default = "640x480"
-
FrameRate Number of frames acquired per second.
Default = "30"
-
ExposureMode Enable manual / automatic control of the camera's exposure.
Default = "AUTO_CONTINUOUS"
TIMED
Manual control, the ExposureMicroSec attribute must be provided to use this option.
AUTO_ONCE
Automatically set the exposure once on camera start.
AUTO_CONTINUOUS
Continuously adjust the exposure of the camera during the acquisition.
-
ExposureMicroSec Exposure time as a float in micro seconds.
-
GainMode Enable manual / automatic control of the camera's gain.
Default = "AUTO_CONTINUOUS"
MANUAL
Manual control, the GainDB attribute must be provided to use this option.
AUTO_ONCE
Automatically set the gain once on camera start.
AUTO_CONTINUOUS
Continuously adjust the gain of the camera during the acquisition.
-
GainDB Gain as a float in decibels.
-
WhiteBalanceMode Enable manual / automatic control of the camera's white balance.
Default = "AUTO_CONTINUOUS"
MANUAL
Manual control, the WhiteBalanceRed & WhiteBalanceBlue attributes must be provided to use this option.
AUTO_ONCE
Automatically set the white balance once on camera start.
AUTO_CONTINUOUS
Continuously adjust the white balance of the camera during the acquisition.
-
WhiteBalanceRed White balance red value as a float.
-
WhiteBalanceBlue White balance blue value as a float.
Minimal config File
<PlusConfiguration version="2.7">
<DataCollection StartupDelaySec="1.0" >
<DeviceSet
Name="PlusServer: Point Grey Spinnaker API Video Acquisition."
Description="Broadcasting acquired video through OpenIGTLink"
/>
<Device
Id="VideoDevice"
Type="SpinnakerVideo"
>
<DataSources>
<DataSource Type="Video" Id="Video" PortUsImageOrientation="MF" />
</DataSources>
<OutputChannels>
<OutputChannel Id="VideoStream" VideoDataSourceId="Video" />
</OutputChannels>
</Device>
<Device
Id="CaptureDevice"
Type="VirtualCapture"
BaseFilename="RecordingTest.igs.mha"
EnableCapturingOnStart="FALSE" >
<InputChannels>
<InputChannel Id="VideoStream" />
</InputChannels>
</Device>
</DataCollection>
<PlusOpenIGTLinkServer
MaxNumberOfIgtlMessagesToSend="1"
MaxTimeSpentWithProcessingMs="50"
ListeningPort="18944"
SendValidTransformsOnly="true"
OutputChannelId="VideoStream" >
<DefaultClientInfo>
<MessageTypes>
<Message Type="IMAGE" />
</MessageTypes>
<ImageNames>
<Image Name="Image" EmbeddedTransformToFrame="Image" />
</ImageNames>
</DefaultClientInfo>
</PlusOpenIGTLinkServer>
</PlusConfiguration>
Config file demonstrating some manual controls
<PlusConfiguration version="2.7">
<DataCollection StartupDelaySec="1.0" >
<DeviceSet
Name="PlusServer: Point Grey Spinnaker API Video Acquisition with parameters"
Description="Broadcasting acquired video through OpenIGTLink"
/>
<Device
Id="VideoDevice"
Type="SpinnakerVideo"
CameraNumber="0"
PixelEncoding="RGB24"
FrameSize="800 600"
FrameRate="20"
ExposureMode="TIMED"
ExposureMicroSec="20"
GainMode="MANUAL"
GainDB="5"
WhiteBalanceMode="AUTO_CONTINUOUS"
>
<DataSources>
<DataSource Type="Video" Id="Video" PortUsImageOrientation="MF" />
</DataSources>
<OutputChannels>
<OutputChannel Id="VideoStream" VideoDataSourceId="Video" />
</OutputChannels>
</Device>
<Device
Id="CaptureDevice"
Type="VirtualCapture"
BaseFilename="RecordingTest.igs.mha"
EnableCapturingOnStart="FALSE" >
<InputChannels>
<InputChannel Id="VideoStream" />
</InputChannels>
</Device>
</DataCollection>
<PlusOpenIGTLinkServer
MaxNumberOfIgtlMessagesToSend="1"
MaxTimeSpentWithProcessingMs="50"
ListeningPort="18944"
SendValidTransformsOnly="true"
OutputChannelId="VideoStream" >
<DefaultClientInfo>
<MessageTypes>
<Message Type="IMAGE" />
</MessageTypes>
<ImageNames>
<Image Name="Image" EmbeddedTransformToFrame="Image" />
</ImageNames>
</DefaultClientInfo>
</PlusOpenIGTLinkServer>
</PlusConfiguration>