BitFlow.NET
Source code documentation of the BitFlow .NET interface.
BufferAcquisition Namespace Reference

Buffer Interface image acquisition library. More...

Classes

class  AcqTrigger
 
class  AcquisitionError
 
class  AcqusitionEngine
 
class  Board
 
class  BoardProperties
 
class  BufferedAcquisition
 Abstract base class of the Buffer Interface acquisition library. More...
 
class  BFTime
 Used to return the timestamp of an acquired buffer. More...
 
class  BufferInfo
 Used to bridge the gap between managed C++ and C# for returning the buffer info for the WaitForFrameDone methods. More...
 
class  CircularAcquisition
 This class provides the ability to capture images into a circular queue using a BitFlow interface board. More...
 
class  CirManagement
 
class  FileIO
 
class  SeqManagement
 
class  SequenceAcquisition
 This class provides the ability to acquire a sequence of images using a BitFlow interface board. More...
 
class  Version
 

Enumerations

enum class  InquireParams {
  Model = ManagedInquireParams.Model , IDReg = ManagedInquireParams.IDReg , LUT = ManagedInquireParams.LUT , XSize = ManagedInquireParams.XSize ,
  YSize = ManagedInquireParams.YSize , Format = ManagedInquireParams.Format , BitsPerPix = ManagedInquireParams.BitsPerPix , BytesPerPix = ManagedInquireParams.BytesPerPix ,
  AqTimeout = ManagedInquireParams.AqTimeout , FrameSize = ManagedInquireParams.FrameSize , DisplayFrameSize = ManagedInquireParams.DisplayFrameSize , FrameWidth = ManagedInquireParams.FrameWidth ,
  DisplayFrameWidth = ManagedInquireParams.DisplayFrameWidth , BitsPerPixDisplay = ManagedInquireParams.BitsPerPixDisplay , BytesPerPixDisplay = ManagedInquireParams.BytesPerPixDisplay , BitsPerSequence = ManagedInquireParams.BitsPerSequence ,
  BitsPerSequenceDisplay = ManagedInquireParams.BitsPerSequenceDisplay
}
 A list of the parameters for inquiry. More...
 
enum class  BoardModel : uint {
  Unknown = ManagedBoardModel.Unknown , RR11 = ManagedBoardModel.RR11 , RR12 = ManagedBoardModel.RR12 , RR13 = ManagedBoardModel.RR13 ,
  RR14 = ManagedBoardModel.RR14 , RR23 = ManagedBoardModel.RR23 , RR24 = ManagedBoardModel.RR24 , RR44 = ManagedBoardModel.RR44 ,
  RV010 = ManagedBoardModel.RV010 , RV110 = ManagedBoardModel.RV110 , RV220 = ManagedBoardModel.RV220 , RV330 = ManagedBoardModel.RV330 ,
  RV440 = ManagedBoardModel.RV440 , R64Dif = ManagedBoardModel.R64Dif , R64ClF = ManagedBoardModel.R64ClF , R64ClD = ManagedBoardModel.R64ClD ,
  R64DifB = ManagedBoardModel.R64DifB , R64ClFB = ManagedBoardModel.R64ClFB , R64ClDB = ManagedBoardModel.R64ClDB , R64DifH = ManagedBoardModel.R64DifH ,
  R64ClFH = ManagedBoardModel.R64ClFH , R64ClDH = ManagedBoardModel.R64ClDH , R64DifHB = ManagedBoardModel.R64DifHB , R64ClFHB = ManagedBoardModel.R64ClFHB ,
  R64ClDHB = ManagedBoardModel.R64ClDHB , Kbn2D = ManagedBoardModel.Kbn2D , Kbn2B = ManagedBoardModel.Kbn2B , Kbn2F = ManagedBoardModel.Kbn2F ,
  Kbn4D = ManagedBoardModel.Kbn4D , Kbn4B = ManagedBoardModel.Kbn4B , Kbn4F = ManagedBoardModel.Kbn4F , NeonB = ManagedBoardModel.NeonB ,
  NeonD = ManagedBoardModel.NeonD , NeonQ = ManagedBoardModel.NeonQ , NeonDif = ManagedBoardModel.NeonDif , Alta1 = ManagedBoardModel.Alta1 ,
  Alta2 = ManagedBoardModel.Alta2 , Alta4 = ManagedBoardModel.Alta4 , AltaCO1 = ManagedBoardModel.AltaCO1 , AltaCO2 = ManagedBoardModel.AltaCO2 ,
  AltaCO4 = ManagedBoardModel.AltaCO4 , KbnCXP1 = ManagedBoardModel.KbnCXP1 , KbnCXP2 = ManagedBoardModel.KbnCXP2 , KbnCXP4 = ManagedBoardModel.KbnCXP4 ,
  CtnCXP4 = ManagedBoardModel.CtnCXP4 , CtnCXP2 = ManagedBoardModel.CtnCXP2 , Axn1xE = ManagedBoardModel.Axn1xE , Axn2xE = ManagedBoardModel.Axn2xE ,
  Axn1xB = ManagedBoardModel.Axn1xB , Axn2xB = ManagedBoardModel.Axn2xB , Axn4xB = ManagedBoardModel.Axn4xB , AonCXP1 = ManagedBoardModel.AonCXP1 ,
  ClxCXP1 = ManagedBoardModel.ClxCXP1 , ClxCXP2 = ManagedBoardModel.ClxCXP2 , ClxCXP4 = ManagedBoardModel.ClxCXP4
}
 All the BitFlow board models. Can be one of the following. More...
 
enum class  InterfaceType {
  Analog = ManagedInterfaceType.Analog , Differential = ManagedInterfaceType.Differential , Dif = ManagedInterfaceType.Dif , CameraLink = ManagedInterfaceType.CameraLink ,
  CL = ManagedInterfaceType.CL , CoaXPress = ManagedInterfaceType.CoaXPress , CXP = ManagedInterfaceType.CXP
}
 Hardward interface type of the frame grabber. More...
 
enum class  Trait {
  R2 = ManagedTrait.R2 , Rv = ManagedTrait.Rv , R64 = ManagedTrait.R64 , R64Board = ManagedTrait.R64Board ,
  CL = ManagedTrait.CL , R3 = ManagedTrait.R3 , PMC = ManagedTrait.PMC , PLDA = ManagedTrait.PLDA ,
  StreamSyncDMA = ManagedTrait.StreamSyncDMA , Kbn = ManagedTrait.Kbn , Kbn4 = ManagedTrait.Kbn4 , Kbn2 = ManagedTrait.Kbn2 ,
  KbnBase = ManagedTrait.KbnBase , KbnFull = ManagedTrait.KbnFull , Neon = ManagedTrait.Neon , NeonBase = ManagedTrait.NeonBase ,
  NeonD = ManagedTrait.NeonD , NeonQ = ManagedTrait.NeonQ , NeonDif = ManagedTrait.NeonDif , Alta = ManagedTrait.Alta ,
  AltaAN = ManagedTrait.AltaAN , AltaCO = ManagedTrait.AltaCO , AltaYPC = ManagedTrait.AltaYPC , Alta1 = ManagedTrait.Alta1 ,
  Alta2 = ManagedTrait.Alta2 , Alta4 = ManagedTrait.Alta4 , Master = ManagedTrait.Master , Slave = ManagedTrait.Slave ,
  EncDiv = ManagedTrait.EncDiv , NTG = ManagedTrait.NTG , KbnCXP = ManagedTrait.KbnCXP , KbnCXP1 = ManagedTrait.KbnCXP1 ,
  KbnCXP2 = ManagedTrait.KbnCXP2 , KbnCXP4 = ManagedTrait.KbnCXP4 , Gn2 = ManagedTrait.Gn2 , Ctn = ManagedTrait.Ctn ,
  CXP = ManagedTrait.CXP , CtnCXP2 = ManagedTrait.CtnCXP2 , CtnCXP4 = ManagedTrait.CtnCXP4 , Axn = ManagedTrait.Axn ,
  AxnBase = ManagedTrait.AxnBase , AxnII = ManagedTrait.AxnII , CtnII = ManagedTrait.CtnII , Axn1xE = ManagedTrait.Axn1xE ,
  Axn2xE = ManagedTrait.Axn2xE , Axn1xB = ManagedTrait.Axn1xB , Axn2xB = ManagedTrait.Axn2xB , Axn4xB = ManagedTrait.Axn4xB ,
  Aon = ManagedTrait.Aon , AonII = ManagedTrait.AonII , AonCXP1 = ManagedTrait.AonCXP1 , Clx = ManagedTrait.Clx ,
  ClxCXP1 = ManagedTrait.ClxCXP1 , ClxCXP2 = ManagedTrait.ClxCXP2 , ClxCXP4 = ManagedTrait.ClxCXP4 , Synthetic = ManagedTrait.Synthetic ,
  HasSerialPort = ManagedTrait.HasSerialPort
}
 Property traits of BitFlow boards. More...
 
enum class  LutType { LUT8And12 = ManagedLutTypes.LUT8And12 , LUT16 = ManagedLutTypes.LUT16 , LUTNone = ManagedLutTypes.LUTNone }
 The Look Up Tables (LUT) avalable on boards. More...
 
enum class  SetupOptions {
  Default = 0 , AbortMissedFrame = ManagedSetupOptions.ManagedAbortMissedFrame , DisableAqErrorSig = ManagedSetupOptions.ManagedDisableAqErrorSig , InvertEvenFrames = ManagedSetupOptions.ManagedInvertEvenFrames ,
  InvertOddFrames = ManagedSetupOptions.ManagedInvertOddFrames , OnlyOddLines = ManagedSetupOptions.ManagedOnlyOddLines , OnlyEvenLines = ManagedSetupOptions.ManagedOnlyEvenLines , HighFrameRateMode = ManagedSetupOptions.ManagedHighFrameRateMode ,
  FourHorizInterleavedChunks0 = ManagedSetupOptions.ManagedFourHorizInterleavedChunks0 , FourHorizInterleavedChunks1 = ManagedSetupOptions.ManagedFourHorizInterleavedChunks1 , FourHorizInterleavedChunks2 = ManagedSetupOptions.ManagedFourHorizInterleavedChunks2 , FourHorizInterleavedChunks3 = ManagedSetupOptions.ManagedFourHorizInterleavedChunks3
}
 
enum class  AcqControlOptions { Wait = ManagedAcqControlOptions.Wait , Async = ManagedAcqControlOptions.Async }
 
enum class  SeqDoneReturns { SequenceCaptured = 0 , AcqusitionAborted = ManagedSeqDoneReturns.AcqusitionAborted , AcqusitionStopped = ManagedSeqDoneReturns.AcqusitionStopped , CleanupCalled = ManagedSeqDoneReturns.CleanupCalled }
 
enum class  OverwriteMethod { Stop = ManagedOverwriteMethod.Stop , Ignore = ManagedOverwriteMethod.Ignore }
 
enum class  WaitFrameDoneReturns { FrameAcquired = 0 , AcqusitionStopped = ManagedFrameDoneReturns.AcqusitionStopped , AcqusitionAborted = ManagedFrameDoneReturns.AcqusitionAborted , CleanupCalled = ManagedFrameDoneReturns.CleanupCalled }
 
enum class  TriggerModes {
  FreeRun = ManagedTrigModes.FreeRun , OneShot = ManagedTrigModes.OneShot , AcquisitionCommand = ManagedTrigModes.AcquisitionCommand , ContinuousData = ManagedTrigModes.ContinuousData ,
  OneShotStartStop = ManagedTrigModes.OneShotStartStop
}
 
enum class  TriggerPolarity { AssertedHigh = ManagedTrigPolarity.AssertedHigh , AssertedLow = ManagedTrigPolarity.AssertedLow }
 
enum class  OpenOptions {
  Initialize = ManagedOpenOptions.Initialize , Exclusive = ManagedOpenOptions.Exclusive , NoIntThread = ManagedOpenOptions.NoIntThread , NoCameraOpen = ManagedOpenOptions.NoCameraOpen ,
  NoAlreadyOpenMess = ManagedOpenOptions.NoAlreadyOpenMess , NoOpenErrorMess = ManagedOpenOptions.NoOpenErrorMess , SecondProcessOpen = ManagedOpenOptions.SecondProcessOpen , AllowTwoOpens = ManagedOpenOptions.AllowTwoOpens ,
  NoPoCLChange = ManagedOpenOptions.NoPoCLChange , PoCLUpOnly = ManagedOpenOptions.PoCLUpOnly , PoCLCycle = ManagedOpenOptions.PoCLCycle , SerialPortOpen = ManagedOpenOptions.SerialPortOpen ,
  NoCxpInit = ManagedOpenOptions.NoCxpInit , NoGenTLInit = ManagedOpenOptions.NoGenTLInit , NoIOReset = ManagedOpenOptions.NoIOReset
}
 
enum class  NTGTrigModes { FreeRun = ManagedNTGTrigModes.FreeRun , OneShotTrigger = ManagedNTGTrigModes.OneShotTrigger , OneShotEncoder = ManagedNTGTrigModes.OneShotEncoder }
 Trigger modes of the New Timing Generator (NTG). More...
 
enum class  NTGOutputSignal : uint {
  OutputCC1 = ManagedNTGOutputSignal.OutputCC1 , OutputCC2 = ManagedNTGOutputSignal.OutputCC2 , OutputCC3 = ManagedNTGOutputSignal.OutputCC3 , OutputCC4 = ManagedNTGOutputSignal.OutputCC4 ,
  OutputGP0 = ManagedNTGOutputSignal.OutputGP0 , OutputGP1 = ManagedNTGOutputSignal.OutputGP1 , OutputGP2 = ManagedNTGOutputSignal.OutputGP2 , OutputGP3 = ManagedNTGOutputSignal.OutputGP3 ,
  OutputGP4 = ManagedNTGOutputSignal.OutputGP4 , OutputGP5 = ManagedNTGOutputSignal.OutputGP5 , OutputGP6 = ManagedNTGOutputSignal.OutputGP6 , InputTrig = ManagedNTGOutputSignal.InputTrig ,
  InputEncA = ManagedNTGOutputSignal.InputEncA , InputEncB = ManagedNTGOutputSignal.InputEncB
}
 Flag values of the New Timing Generator (NTG) output signal. Bitwise OR these together to output the NTG waveform to any available combination. More...
 
enum class  WriteOptions {
  Default = 0 , SwapRGB = ManagedWriteOptions.ManSwapRGB , Pack32To24Bit = ManagedWriteOptions.Pack32To24Bit , BottomUp = ManagedWriteOptions.BottomUp ,
  OverwriteFile = ManagedWriteOptions.OverwriteFile , AFPDF16Files = ManagedWriteOptions.AFPDF16Files , AFPDF128Files = ManagedWriteOptions.AFPDF128Files , AFPDF1024Files = ManagedWriteOptions.AFPDF1024Files ,
  TwoXMode = ManagedWriteOptions.TwoXMode , UnpackPixels = ManagedWriteOptions.UnpackPixels , UnpackPixelsNoSwap = ManagedWriteOptions.UnpackPixelsNoSwap , Gn2_30Bit = ManagedWriteOptions.Gn2_30Bit
}
 The write options when saving an image to disk. More...
 
enum class  BufferStatus { Available = ManagedBufferStatus.Available , Hold = ManagedBufferStatus.Hold }
 
enum class  CirBufferStatus {
  Available = ManagedCirBufferStatus.Available , Fresh = ManagedCirBufferStatus.Fresh , New = ManagedCirBufferStatus.New , Hold = ManagedCirBufferStatus.Hold ,
  Queued = ManagedCirBufferStatus.Queued
}
 

Detailed Description

Buffer Interface image acquisition library.

Enumeration Type Documentation

◆ AcqControlOptions

Enumerator
Wait 
Async 

◆ BoardModel

enum BufferAcquisition.BoardModel : uint
strong

All the BitFlow board models. Can be one of the following.

Enumerator
Unknown 

Unable to determine board model.

RR11 
RR12 
RR13 
RR14 
RR23 
RR24 
RR44 
RV010 
RV110 
RV220 
RV330 
RV440 
R64Dif 
R64ClF 
R64ClD 
R64DifB 
R64ClFB 
R64ClDB 
R64DifH 
R64ClFH 
R64ClDH 
R64DifHB 
R64ClFHB 
R64ClDHB 
Kbn2D 
Kbn2B 
Kbn2F 
Kbn4D 
Kbn4B 
Kbn4F 
NeonB 
NeonD 
NeonQ 
NeonDif 
Alta1 
Alta2 
Alta4 
AltaCO1 
AltaCO2 
AltaCO4 
KbnCXP1 
KbnCXP2 
KbnCXP4 
CtnCXP4 
CtnCXP2 
Axn1xE 
Axn2xE 
Axn1xB 
Axn2xB 
Axn4xB 
AonCXP1 
ClxCXP1 
ClxCXP2 
ClxCXP4 

◆ BufferStatus

Enumerator
Available 
Hold 

◆ CirBufferStatus

Enumerator
Available 
Fresh 
New 
Hold 
Queued 

◆ InquireParams

A list of the parameters for inquiry.

Enumerator
Model 

Returns the board model.

IDReg 

Returns the current setting of the ID switch on the board.

LUT 

Returns the type of LUT on the board.

XSize 

Returns the width of the image in pixels.

YSize 

Returns the height of the image in lines.

Format 

Returns the image format.

BitsPerPix 

Returns the pixel depth in bits, as acquired to host.

BytesPerPix 

Returns the pixel depth in bytes, as acquired to host.

AqTimeout 

Returns the timeout value in the attached camera file.

FrameSize 

Returns the image size in bytes, as acquired to host.

DisplayFrameSize 

Returns the image size in bytes, as acquired to display.

FrameWidth 

Returns the width of the image in bytes, as acquired to host.

DisplayFrameWidth 

Returns the width of the image in bytes, as acquired to display.

BitsPerPixDisplay 

Returns the pixel depth in bits, as acquired to display.

BytesPerPixDisplay 

Returns the pixel depth in bytes, as acquired to display.

BitsPerSequence 
BitsPerSequenceDisplay 

◆ InterfaceType

Hardward interface type of the frame grabber.

Enumerator
Analog 
Differential 
Dif 
CameraLink 
CL 
CoaXPress 
CXP 

◆ LutType

The Look Up Tables (LUT) avalable on boards.

Enumerator
LUT8And12 

A 8 or 12 bit LUT.

LUT16 

A 16 bit LUT.

LUTNone 

No LUT on board.

◆ NTGOutputSignal

Flag values of the New Timing Generator (NTG) output signal. Bitwise OR these together to output the NTG waveform to any available combination.

Enumerator
OutputCC1 

Output to Camera Link CC1.

OutputCC2 

Output to Camera Link CC2.

OutputCC3 

Output to Camera Link CC3.

OutputCC4 

Output to Camera Link CC4.

OutputGP0 

Output to General Purpose output 0.

OutputGP1 

Output to General Purpose output 1.

OutputGP2 

Output to General Purpose output 2.

OutputGP3 

Output to General Purpose output 3.

OutputGP4 

Output to General Purpose output 4.

OutputGP5 

Output to General Purpose output 5.

OutputGP6 

Output to General Purpose output 6.

InputTrig 

BitFlow SDK > 5.60 only. Output to the frame grabber trigger input.

InputEncA 

BitFlow SDK > 5.60 only. Output to the frame grabber Encoder A input.

InputEncB 

BitFlow SDK > 5.60 only. Output to the frame grabber Encoder B input.

◆ NTGTrigModes

Trigger modes of the New Timing Generator (NTG).

Enumerator
FreeRun 

Output the NTG waveform continuously.

OneShotTrigger 

Output the NTG waveform once, when the frame grabber receives an input trigger.

OneShotEncoder 

Output the NTG waveform once, when the frame grabber's encoder input.

◆ OpenOptions

Enumerator
Initialize 

Initialize the system.

Exclusive 

If not already open, open exclusively.

NoIntThread 

Do not activate interrupt thread.

NoCameraOpen 

Do not open any camera configurations.

NoAlreadyOpenMess 

Supress already open warning message.

NoOpenErrorMess 

Supress all error popups in open function.

SecondProcessOpen 

Allow the board to be opened twice in the same process (includes some of the above modes).

AllowTwoOpens 

Allow the board to be opened twice in the same process, and initialized.

NoPoCLChange 

This flag forces the system to leave the PoCL system as is (don't change its state).

PoCLUpOnly 

This flag will power up PoCL if it is off, but won't turn it off, if it is on (this is the default).

PoCLCycle 

Power cycle the PoCL circuit.

SerialPortOpen 

Used when opening the serial port, included some of the above flags.

NoCxpInit 

Don't initialize the CXP subsystem.

NoGenTLInit 

Don't use GenTL camera control during board initialization.

NoIOReset 

Do not reset I/O outputs before setting them as per configuration file.

◆ OverwriteMethod

Enumerator
Stop 
Ignore 

◆ SeqDoneReturns

Enumerator
SequenceCaptured 

Sequence captured, all is well.

AcqusitionAborted 

Acquisition was aborted .

AcqusitionStopped 

Acquisition was stopped.

CleanupCalled 

Cleanup was called.

◆ SetupOptions

Enumerator
Default 
AbortMissedFrame 
DisableAqErrorSig 
InvertEvenFrames 
InvertOddFrames 
OnlyOddLines 
OnlyEvenLines 
HighFrameRateMode 
FourHorizInterleavedChunks0 
FourHorizInterleavedChunks1 
FourHorizInterleavedChunks2 
FourHorizInterleavedChunks3 

◆ Trait

Property traits of BitFlow boards.

Enumerator
R2 
Rv 
R64 
R64Board 
CL 
R3 
PMC 
PLDA 
StreamSyncDMA 
Kbn 
Kbn4 
Kbn2 
KbnBase 
KbnFull 
Neon 
NeonBase 
NeonD 
NeonQ 
NeonDif 
Alta 
AltaAN 
AltaCO 
AltaYPC 
Alta1 
Alta2 
Alta4 
Master 
Slave 
EncDiv 
NTG 
KbnCXP 
KbnCXP1 
KbnCXP2 
KbnCXP4 
Gn2 
Ctn 
CXP 
CtnCXP2 
CtnCXP4 
Axn 
AxnBase 
AxnII 
CtnII 
Axn1xE 
Axn2xE 
Axn1xB 
Axn2xB 
Axn4xB 
Aon 
AonII 
AonCXP1 
Clx 
ClxCXP1 
ClxCXP2 
ClxCXP4 
Synthetic 
HasSerialPort 

◆ TriggerModes

Enumerator
FreeRun 
OneShot 
AcquisitionCommand 
ContinuousData 
OneShotStartStop 

◆ TriggerPolarity

Enumerator
AssertedHigh 
AssertedLow 

◆ WaitFrameDoneReturns

Enumerator
FrameAcquired 

Frame acquired, all is well.

AcqusitionStopped 

Acquisition was stopped.

AcqusitionAborted 

Acquisition was aborted.

CleanupCalled 

Cleanup was called.

◆ WriteOptions

The write options when saving an image to disk.

Enumerator
Default 

Save image to disk as is.

SwapRGB 

Swaps the RGB color format to BGR color.

Pack32To24Bit 

Saves 32 bit color (RGBX) data to 24 bit (RGB).

BottomUp 

Saves the data to disk upside down from what is being displayed.

OverwriteFile 

Will overwrite existing files without prompting the user.

AFPDF16Files 
AFPDF128Files 
AFPDF1024Files 
TwoXMode 
UnpackPixels 

Unpack 10-bit images.

UnpackPixelsNoSwap 

Unpack 10-bit images, without performing an endianness swap.

Gn2_30Bit 

Gn2 devices use 30-bit data (3x10) stored in a 32 bit word, so only 4 bytes are copied, not 6.