diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/README.md
diff --git a/TIASshot.sln b/TIASshot.sln
new file mode 100644
index 0000000..d654b48
--- /dev/null
+++ b/TIASshot.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.12.35527.113 d17.12
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TIASshot", "TIASshot\TIASshot.csproj", "{1D3B69FE-D6B4-42B9-BBCC-B8CB9CF3DE4F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1D3B69FE-D6B4-42B9-BBCC-B8CB9CF3DE4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1D3B69FE-D6B4-42B9-BBCC-B8CB9CF3DE4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1D3B69FE-D6B4-42B9-BBCC-B8CB9CF3DE4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1D3B69FE-D6B4-42B9-BBCC-B8CB9CF3DE4F}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/TIASshot/App.config b/TIASshot/App.config
new file mode 100644
index 0000000..91126fc
--- /dev/null
+++ b/TIASshot/App.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TIASshot/Form1.Designer.cs b/TIASshot/Form1.Designer.cs
new file mode 100644
index 0000000..f9252c3
--- /dev/null
+++ b/TIASshot/Form1.Designer.cs
@@ -0,0 +1,136 @@
+namespace TIASshot {
+ partial class Form1 {
+ ///
+ /// 必要なデザイナー変数です。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 使用中のリソースをすべてクリーンアップします。
+ ///
+ /// マネージド リソースを破棄する場合は true を指定し、その他の場合は false を指定します。
+ protected override void Dispose(bool disposing) {
+ if (disposing && (components != null)) {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows フォーム デザイナーで生成されたコード
+
+ ///
+ /// デザイナー サポートに必要なメソッドです。このメソッドの内容を
+ /// コード エディターで変更しないでください。
+ ///
+ private void InitializeComponent() {
+ this.button1 = new System.Windows.Forms.Button();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtDeviceName = new System.Windows.Forms.TextBox();
+ this.txtSerialNo = new System.Windows.Forms.TextBox();
+ this.picPreview = new System.Windows.Forms.PictureBox();
+ this.picDisplay = new System.Windows.Forms.PictureBox();
+ ((System.ComponentModel.ISupportInitialize)(this.picPreview)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.picDisplay)).BeginInit();
+ this.SuspendLayout();
+ //
+ // button1
+ //
+ this.button1.Location = new System.Drawing.Point(12, 76);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(110, 37);
+ this.button1.TabIndex = 0;
+ this.button1.Text = "button1";
+ this.button1.UseVisualStyleBackColor = true;
+ this.button1.Click += new System.EventHandler(this.button1_Click);
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(12, 9);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(44, 12);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "Camera";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(12, 37);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(26, 12);
+ this.label2.TabIndex = 1;
+ this.label2.Text = "S/N";
+ //
+ // txtDeviceName
+ //
+ this.txtDeviceName.Location = new System.Drawing.Point(62, 6);
+ this.txtDeviceName.Name = "txtDeviceName";
+ this.txtDeviceName.ReadOnly = true;
+ this.txtDeviceName.Size = new System.Drawing.Size(61, 19);
+ this.txtDeviceName.TabIndex = 2;
+ //
+ // txtSerialNo
+ //
+ this.txtSerialNo.Location = new System.Drawing.Point(51, 34);
+ this.txtSerialNo.Name = "txtSerialNo";
+ this.txtSerialNo.ReadOnly = true;
+ this.txtSerialNo.Size = new System.Drawing.Size(72, 19);
+ this.txtSerialNo.TabIndex = 3;
+ //
+ // picPreview
+ //
+ this.picPreview.Location = new System.Drawing.Point(14, 129);
+ this.picPreview.Name = "picPreview";
+ this.picPreview.Size = new System.Drawing.Size(115, 85);
+ this.picPreview.TabIndex = 4;
+ this.picPreview.TabStop = false;
+ this.picPreview.Visible = false;
+ //
+ // picDisplay
+ //
+ this.picDisplay.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.picDisplay.Location = new System.Drawing.Point(144, 6);
+ this.picDisplay.Name = "picDisplay";
+ this.picDisplay.Size = new System.Drawing.Size(488, 353);
+ this.picDisplay.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.picDisplay.TabIndex = 5;
+ this.picDisplay.TabStop = false;
+ //
+ // Form1
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(644, 377);
+ this.Controls.Add(this.picDisplay);
+ this.Controls.Add(this.picPreview);
+ this.Controls.Add(this.txtSerialNo);
+ this.Controls.Add(this.txtDeviceName);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.button1);
+ this.Name = "Form1";
+ this.Text = "Form1";
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
+ this.Load += new System.EventHandler(this.Form1_Load);
+ ((System.ComponentModel.ISupportInitialize)(this.picPreview)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.picDisplay)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtDeviceName;
+ private System.Windows.Forms.TextBox txtSerialNo;
+ private System.Windows.Forms.PictureBox picPreview;
+ private System.Windows.Forms.PictureBox picDisplay;
+ }
+}
+
diff --git a/TIASshot/Form1.cs b/TIASshot/Form1.cs
new file mode 100644
index 0000000..da7b418
--- /dev/null
+++ b/TIASshot/Form1.cs
@@ -0,0 +1,62 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace TIASshot {
+ public partial class Form1 : Form {
+
+ const string APP_NAME = "TIAS Shot";
+ Lucam _lucam;
+
+ ///
+ /// コンストラクタ
+ ///
+ public Form1() {
+ InitializeComponent();
+
+ _lucam = new Lucam(picPreview, picDisplay);
+
+ var version = Assembly.GetExecutingAssembly().GetName().Version;
+ Text = $"{APP_NAME} ver.{version.Major}.{version.Minor}";
+#if DEBUG
+ Text += " [DEBUG]";
+#endif
+ }
+
+ private void button1_Click(object sender, EventArgs e) {
+
+ }
+
+ ///
+ /// フォームロード
+ ///
+ ///
+ ///
+ private void Form1_Load(object sender, EventArgs e) {
+ if (!_lucam.Connect()) {
+ MessageBox.Show("カメラが見つかりません.\r\n終了します.", APP_NAME,
+ MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ Close();
+ }
+ txtDeviceName.Text = _lucam.DeviceName;
+ txtSerialNo.Text = _lucam.SerialNumber;
+ _lucam.StartStopPreview();
+ }
+
+ ///
+ /// フォームクローズ
+ ///
+ ///
+ ///
+ private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
+ _lucam.Disconnect();
+ }
+ }
+}
diff --git a/TIASshot/Form1.resx b/TIASshot/Form1.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/TIASshot/Form1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/TIASshot/Lucam.cs b/TIASshot/Lucam.cs
new file mode 100644
index 0000000..f5aafac
--- /dev/null
+++ b/TIASshot/Lucam.cs
@@ -0,0 +1,139 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using Lumenera.USB;
+using OpenCvSharp;
+using OpenCvSharp.Extensions;
+using System.Drawing;
+using System.Windows.Interop;
+
+namespace TIASshot {
+
+ ///
+ /// Lumeneraカメラクラス
+ ///
+ internal class Lucam {
+
+ public string DeviceName { get; private set; } = "Unknown";
+ public string SerialNumber { get; private set; }
+
+ private IntPtr _hCam = IntPtr.Zero;
+ private PictureBox _picPreview, _picDisplay;
+ private bool _isPreview = false;
+ private dll.LucamRgbPreviewCallback _callbackHandler;
+ private int _callbackId;
+ private int _count = 0;
+ private Bitmap[] _bmps = new Bitmap[2];
+ private int _bmpIndex = 0;
+
+ ///
+ /// コンストラクタ
+ ///
+ ///
+ ///
+ public Lucam(PictureBox preview, PictureBox display) {
+ _picPreview = preview;
+ _picDisplay = display;
+ }
+
+ ///
+ /// カメラ接続
+ ///
+ ///
+ public bool Connect() {
+ var numCam = dll.LucamNumCameras();
+ if ( numCam < 1 ) {
+ return false;
+ }
+
+ var lumVersion = new dll.LucamVersion[numCam];
+ lumVersion = api.EnumCameras();
+ var id = 0;
+ if (lumVersion[id].CameraId == 0x49f) DeviceName = "Lw110";
+ SerialNumber = lumVersion[id].SerialNumber.ToString();
+
+ _hCam = api.CameraOpen(1);
+ if (_hCam == IntPtr.Zero) {
+ return false;
+ }
+
+ _callbackHandler = new dll.LucamRgbPreviewCallback(PreviewCallback);
+ _callbackId = dll.LucamAddRgbPreviewCallback(_hCam, _callbackHandler, IntPtr.Zero, dll.LucamPixelFormat.PF_24);
+ if (_callbackId == -1) {
+ MessageBox.Show("Cannot add rgb preview callback, fail to start preview");
+ return false;
+ }
+
+ return true;
+ }
+
+ ///
+ /// プレビュー開始・停止
+ ///
+ ///
+ public bool StartStopPreview() {
+ if (_isPreview) {
+ var ret = dll.LucamStreamVideoControl(_hCam, dll.LucamStreamMode.STOP_STREAMING, _picPreview.Handle.ToInt32());
+ if (!ret) {
+ return false;
+ }
+ _isPreview = false;
+ return true;
+ } else {
+ var ret = dll.LucamStreamVideoControl(_hCam, dll.LucamStreamMode.START_DISPLAY, _picPreview.Handle.ToInt32());
+ if (!ret) {
+ return false;
+ }
+ _isPreview = true;
+ return true;
+ }
+ }
+
+ ///
+ /// 画像表示(スレッドセーフ)
+ ///
+ void SafeDisplay() {
+ if (_picDisplay.InvokeRequired) {
+ _picDisplay.Invoke((MethodInvoker)delegate { SafeDisplay(); });
+ return;
+ }
+ _picDisplay.Image = _bmps[_bmpIndex];
+ }
+
+ ///
+ /// プレビューコールバック
+ ///
+ ///
+ /// データポインタ
+ /// データサイズ
+ ///
+ void PreviewCallback(IntPtr pContext, IntPtr pData, int n, uint unused) {
+ //Debug.WriteLine(n);
+ using (Mat img = Mat.FromPixelData(1024, 1280, MatType.CV_8UC3, pData)) {
+ using (Mat imgt = img.T()) {
+ _bmps[_bmpIndex] = imgt.ToBitmap();
+ }
+ }
+ SafeDisplay();
+ //_picDisplay.Image = _bmps[_bmpIndex];
+ _bmpIndex = (_bmpIndex + 1) % 2;
+ if (_bmps[_bmpIndex] != null) _bmps[_bmpIndex].Dispose();
+ }
+
+ ///
+ /// カメラ切断
+ ///
+ public void Disconnect() {
+ if (_isPreview) {
+ StartStopPreview();
+ }
+ Debug.WriteLine("カメラ切断");
+ api.CameraClose(_hCam);
+ _hCam = IntPtr.Zero;
+ }
+ }
+}
diff --git a/TIASshot/Program.cs b/TIASshot/Program.cs
new file mode 100644
index 0000000..874ccf0
--- /dev/null
+++ b/TIASshot/Program.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace TIASshot {
+ internal static class Program {
+ ///
+ /// アプリケーションのメイン エントリ ポイントです。
+ ///
+ [STAThread]
+ static void Main() {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Form1());
+ }
+ }
+}
diff --git a/TIASshot/Properties/AssemblyInfo.cs b/TIASshot/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..1e015bb
--- /dev/null
+++ b/TIASshot/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// アセンブリに関する一般的な情報は、次の方法で制御されます
+// 制御されます。アセンブリに関連付けられている情報を変更するには、
+// これらの属性値を変更します。
+[assembly: AssemblyTitle("TIASshot")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("TIASshot")]
+[assembly: AssemblyCopyright("Copyright © 2025")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントから
+// 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、
+// その型の ComVisible 属性を true に設定してください。
+[assembly: ComVisible(false)]
+
+// このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
+[assembly: Guid("1d3b69fe-d6b4-42b9-bbcc-b8cb9cf3de4f")]
+
+// アセンブリのバージョン情報は、以下の 4 つの値で構成されています:
+//
+// メジャー バージョン
+// マイナー バージョン
+// ビルド番号
+// リビジョン
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/TIASshot/Properties/Resources.Designer.cs b/TIASshot/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..2e71bd2
--- /dev/null
+++ b/TIASshot/Properties/Resources.Designer.cs
@@ -0,0 +1,62 @@
+//------------------------------------------------------------------------------
+//
+// このコードはツールによって生成されました。
+// ランタイム バージョン:4.0.30319.42000
+//
+// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
+// コードが再生成されるときに損失したりします
+//
+//------------------------------------------------------------------------------
+
+namespace TIASshot.Properties {
+
+
+ ///
+ /// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
+ ///
+ // このクラスは StronglyTypedResourceBuilder クラスが ResGen
+ // または Visual Studio のようなツールを使用して自動生成されました。
+ // メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
+ // ResGen を実行し直すか、または VS プロジェクトをリビルドします。
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// このクラスで使用されるキャッシュされた ResourceManager インスタンスを返します。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if ((resourceMan == null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TIASshot.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします
+ /// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/TIASshot/Properties/Resources.resx b/TIASshot/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/TIASshot/Properties/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/TIASshot/Properties/Settings.Designer.cs b/TIASshot/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..3f74969
--- /dev/null
+++ b/TIASshot/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace TIASshot.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/TIASshot/Properties/Settings.settings b/TIASshot/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/TIASshot/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/TIASshot/TIASshot.csproj b/TIASshot/TIASshot.csproj
new file mode 100644
index 0000000..29971ff
--- /dev/null
+++ b/TIASshot/TIASshot.csproj
@@ -0,0 +1,131 @@
+
+
+
+
+
+ Debug
+ AnyCPU
+ {1D3B69FE-D6B4-42B9-BBCC-B8CB9CF3DE4F}
+ WinExe
+ TIASshot
+ TIASshot
+ v4.8
+ 512
+ true
+ true
+
+
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ .\lumenera.api.dll
+
+
+ ..\packages\OpenCvSharp4.4.10.0.20241108\lib\net48\OpenCvSharp.dll
+
+
+ ..\packages\OpenCvSharp4.Extensions.4.10.0.20241108\lib\net48\OpenCvSharp.Extensions.dll
+
+
+ ..\packages\OpenCvSharp4.WpfExtensions.4.10.0.20241108\lib\net48\OpenCvSharp.WpfExtensions.dll
+
+
+
+
+
+ ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll
+
+
+
+ ..\packages\System.Drawing.Common.8.0.0\lib\net462\System.Drawing.Common.dll
+
+
+ ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll
+
+
+
+ ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
+
+
+ ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll
+
+
+
+ ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ Form1.cs
+
+
+
+
+
+ Form1.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+
+ このプロジェクトは、このコンピューター上にない NuGet パッケージを参照しています。それらのパッケージをダウンロードするには、[NuGet パッケージの復元] を使用します。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105 を参照してください。見つからないファイルは {0} です。
+
+
+
+
\ No newline at end of file
diff --git a/TIASshot/lumenera.api.xml b/TIASshot/lumenera.api.xml
new file mode 100644
index 0000000..c11527e
--- /dev/null
+++ b/TIASshot/lumenera.api.xml
@@ -0,0 +1,6280 @@
+
+
+
+ lumenera.api
+
+
+
+
+ Defines a point in 2d Euclidean geometry.
+
+
+
+
+ Base type for all Lumenera.Geometry objects.
+
+
+
+
+ Calculate the geometric center of the shape.
+
+
+
+
+ Zero argument constructor.
+
+
+
+
+ Create a point with given x, y coordinates.
+
+
+
+
+
+
+ Create a point with given x, y coordinates, rounded to nearest integer.
+
+
+
+
+
+
+ Clone a point.
+
+
+
+
+
+ Create a Point from a System.Drawing.Point.
+
+
+
+
+
+ Add an offset to this point.
+
+
+
+
+
+
+ Subtract an offset from this point.
+
+
+
+
+
+
+ Add an offset to this point.
+
+
+
+
+
+
+ Subtract an offset from this point.
+
+
+
+
+
+
+ Add an offset to this point.
+
+
+
+
+
+
+ Subtract an offset from this point.
+
+
+
+
+
+
+ Add an offset to this point.
+
+
+
+
+
+
+ Subtract an offset from this point.
+
+
+
+
+
+
+ Add an offset to a point.
+
+
+
+
+
+
+
+ Subtract an offset from a point.
+
+
+
+
+
+
+
+ Add an offset (System.Drawing.Size) to a point.
+
+
+
+
+
+
+
+ Subtract an offset (System.Drawing.Size) from a point.
+
+
+
+
+
+
+
+ Add two points.
+
+
+
+ A new Point.
+
+
+
+ Subtract two points.
+
+
+
+ A new Point.
+
+
+
+ Add a System.Drawing.Point to a Point.
+
+
+
+ A new Point.
+
+ Note that the object on the left hand side determines the type of the result. If the left hand side is
+ a System.Drawing.Point, the System.Drawing.Point + operator will be used and the result will be a System.Drawing.Point.
+
+
+
+
+ Subtract a System.Drawing.Point from a Point.
+
+
+
+ A new Point.
+
+ Note that the object on the left hand side determines the type of the result. If the left hand side is
+ a System.Drawing.Point, the System.Drawing.Point + operator will be used and the result will be a System.Drawing.Point.
+
+
+
+
+ Add a Point to a System.Drawing.Point.
+
+
+
+ A new Point.
+
+ Note that the object on the left hand side determines the type of the result. If the left hand side is
+ a System.Drawing.Point, the System.Drawing.Point + operator will be used and the result will be a System.Drawing.Point.
+
+
+
+
+ Subtract a Point from a System.Drawing.Point.
+
+
+
+ A new Point.
+
+ Note that the object on the left hand side determines the type of the result. If the left hand side is
+ a System.Drawing.Point, the System.Drawing.Point + operator will be used and the result will be a System.Drawing.Point.
+
+
+
+
+ Unary point negation.
+
+
+
+
+
+
+ Scale a point by a multiplier.
+
+
+
+ A new Point.
+
+
+
+ Scale a point by a multiplier.
+
+
+
+ A new Point.
+
+
+
+ Scale a point by a divisor.
+
+
+
+ A new Point.
+
+
+
+ Compare two objects, as if by value.
+
+
+
+
+
+
+
+ Compare two objects, as if by value.
+
+
+
+
+
+
+
+ Implicitly convert a Size to a Point so it can be used in a context where a Point is required.
+
+
+
+
+
+
+ Implicitly convert a Point to a System.Drawing.Point so it can be passed transparently to System.Drawing functions.
+
+
+
+
+
+
+ Format a user readable string.
+
+
+
+
+
+ Compare this object with another.
+
+
+
+
+
+
+ Calculate a hash value for this object.
+
+
+
+
+
+ For use with comparision delegates (e.g. List<>.Sort().
+
+
+
+
+
+
+
+ Default comparison for this type is by coordinates.
+
+ Implements IComparable in a way that also satisfies IComparable<> requirement of System.Collections.Generic functions like Sort().
+
+
+
+
+
+ Calculate the distance between two points.
+
+
+
+
+
+
+ A typical origin for a Rectangle.
+
+
+
+
+ The x coodinate of the top left corner.
+
+
+
+
+ The y coordinate of the top left corner.
+
+
+
+
+ Calculate the geometric center of the shape.
+
+
+
+
+ The color of a source pixel in a raw bayer pattern image
+
+
+ An XML serializable color object (System.Drawing.Color wouldn't serialize).
+
+
+
+
+ Monochrome image (not a Bayer pattern image).
+
+
+
+
+ Red.
+
+
+
+
+ Blue.
+
+
+
+
+ Green (either one of the two greens).
+
+
+
+
+ Green on the same line Red.
+
+
+
+
+ Green on the same line as Blue.
+
+
+
+
+ Unknown is not 0 so uninitilized properties must be explicitly initialized.
+
+ Note: values are compatible with USB API.
+
+
+
+ Unknown.
+
+
+
+
+ Monochrom (not a Bayer pattern image).
+
+
+
+
+ RGGB (top left, top right, bottom left, bottom right).
+
+
+
+
+ GRBG(top left, top right, bottom left, bottom right).
+
+
+
+
+ GBRG(top left, top right, bottom left, bottom right).
+
+
+
+
+ BGGR(top left, top right, bottom left, bottom right).
+
+
+
+
+ Orientation of image data.
+
+
+
+
+ First byte is top left corner of displayed image.
+
+
+
+
+ First byte is the bottom left corner of displayed image.
+
+
+
+
+ Type to store the span (range) of a set of values.
+ This is a value type (struct) because it is small and because it makes it easy for us to compare ranges.
+ Note that all ranges are inclusive of their endpoints.
+
+
+
+
+
+ Minimum of range.
+
+
+
+
+ Maximum of range.
+
+
+
+
+ An unspecified range (a range of [0,0]).
+
+
+
+
+ Create a range with the specified minimum and maximum values.
+
+ Minimum value.
+ Maximum value.
+
+
+
+ A degenerate case where the range collapses to an exact value.
+
+
+
+
+
+ Format the range as a string.
+ Note that the range is inclusive so the textual representation of the range uses square brackets (per https://en.wikipedia.org/wiki/ISO_31-11).
+
+ The formatted string.
+
+
+
+ Format the range as a string.
+
+ A format specifier valid for the numerical type. Intended for floating point types to control the number of decimal places printed.
+ The formatted string.
+
+
+
+ Defines the margin/border relative to rectangular objects.
+
+
+
+
+ Zero argument constructor.
+
+
+
+
+ Create a Margin object intializing all 4 fields explicitly.
+
+
+
+
+
+
+
+
+ Create a Margin object initialized all 4 fields with the same value.
+
+
+
+
+
+ Create a Margin object from a Windows Padding object.
+
+ Windows Padding object.
+
+
+
+ Compare two objects by value.
+
+
+
+
+
+
+
+ Compare two objects by value.
+
+
+
+
+
+
+
+ Compare this object with another.
+
+
+
+
+
+
+ Calculate a hash value for this object.
+
+
+
+
+
+ The left margin.
+
+
+
+
+ The top margin.
+
+
+
+
+ The right margin.
+
+
+
+
+ The bottom margin.
+
+
+
+
+ The total horizontal margin (left and right).
+
+
+
+
+ The total vertical margin (top and bottom).
+
+
+
+
+ The total margin.
+
+
+
+
+ lucamapi.dll interface class.
+
+
+
+
+ Can't use sizeof() on LucamImageFormat in C# so use this constant instead to initialize LucamImageFormat.size.
+ Also, a struct can't have a parameterless constructor that just initializes the size and there are too many fields for a do-all constructor.
+
+
+
+
+ Open a camera.
+
+
+ For LucamExternalInterface.USB2, it forces a reenumeration.
+ So, in that case, it isn't possible to reliably open a specific camera by index.
+ Instead, use LucamExternalInterface.USB3 which will also enumerate USB2 devices.
+
+ The camera number. This is a number from 1 to the number of connected cameras.
+ Camera handle to be used in subsequent API calls that perform operations on this specific camera.
+
+
+
+ Enumerate the list of connected cameras.
+
+
+ Returns the device enumeration determined by (). If LucamNumCameras() hasn't been called,
+ it will be called internally.
+
+ An array of structures, one for each connected camera. The caller must allocate
+ the array of sufficient dimensions to accommodate the number of connected cameras. This means in practice that the caller must
+ determine the number of cameras first.
+ The number of entries available in 'v'.
+
+ The number of connected cameras.
+
+
+ A typical C# usage is:
+
+
+
+
+
+ Query the error code for the last API error (not camera specific - for camera specific error, see ().
+
+
+ The error code.
+
+ Camera specific error function - important if your application connects to more than one camera at a time.
+
+
+
+ Query the number of connected cameras.
+
+ Performs the actual device enumeration.
+ The number of cameras.
+
+
+
+ Select which physical interface API will operate on.
+
+ USB1, USB2 and USB3 all enumerate all version of USB devices.
+ Interface to use
+ False if there is an error.
+
+
+
+ Register an RGB frame event callback.
+ The callback will be called for each frame received from the camera.
+ If called after the stream is started the pixel format must match LucamQueryRgbPreviewPixelFormat().
+ If called before then it can be any format that is valid for the current pixel depth of the camera.
+ If the requested pixel format is not the default value there may be a data copy (minor performance cost).
+ Note that the image buffer is upside down and that the color values are in BGR order.
+
+ Camera handle.
+ Callback function.
+ Unique identifier passed to the callback function.
+ Pixel format.
+ Callback ID (for later removal of the callback - see LucamRemoveRgbPreviewCallback()). On error returns -1.
+
+
+
+ Register a raw snapshot frame event callback.
+
+ Camera handle.
+ Callback function.
+ Unique identifier passed to the callback function.
+ Callback ID (for later removal of the callback - see LucamRemoveSnapshotCallback()). On error returns -1.
+
+
+
+ Register a raw stream video frame event callback.
+ The callback will be called for each frame received from the camera.
+
+ Camera handle.
+ Callback function.
+ Unique identifier passed to the callback function.
+ Callback ID (for later removal of the callback - see LucamRemoveRgbPreviewCallback()). On error returns -1.
+
+
+
+ Adjust the display window created by LucamCreateDisplayWindow().
+
+ Camera handle.
+ Window title.
+ x offset (pan) of leftmost displayed pixel.
+ y offset (pan) of topmost displayed pixel.
+ Number of pixels to display in the window (zoom).
+ Number of pixels to display in the window (zoom).
+ False if there is an error.
+
+
+
+ Adjust color gains based on a captured image and specified parameters.
+
+ Camera handle.
+ Snapshot (still) image settings.
+ Image buffer.
+ Whitebalance red ratio.
+ Whitebalance blue ratio.
+ Region of interest for whitebalance calculation.
+ Region of interest for whitebalance calculation.
+ Region of interest for whitebalance calculation.
+ Region of interest for whitebalance calculation.
+ False if there is an error.
+
+
+
+ Start an auto focus operation for an ROI.
+
+ Camera handle.
+ ROI x offset
+ ROI y offset
+ ROI width
+ ROI height
+
+
+
+ Callback function to receive progress updates.
+ Unique identifier passed to the callback function.
+ False if there is an error.
+
+
+
+ Wait for the auto focus operation to finish.
+
+ Camera handle.
+ How long to wait.
+ False if there is an error.
+
+
+
+ Stop an auto focus operation.
+
+ Camera handle.
+ False if there is an error.
+
+
+
+ Query the progress of an auto focus operation.
+
+ Camera handle.
+
+ False if there is an error.
+
+
+
+ Build a high resolution RGB image.
+
+ Camera handle.
+ A frame format structure as returned by LucamGetFormat().
+ Image buffer (output). This buffer must be big enough for the high res image (24bpp).
+ Converion mode. Note that this determines the output image resolution.
+
+
+
+
+
+ Build a high resolution RGB image.
+
+ Camera handle.
+ A frame format structure as returned by LucamGetFormat().
+ Image buffer (output). This buffer must be big enough for the high res image (24bpp).
+ Converion mode. Note that this determines the output image resolution.
+
+
+
+
+
+ Close the specified camera.
+
+ Camera handle.
+ False if there is an error.
+
+
+
+ Reset the specified camera to power up configuration.
+
+ Camera handle.
+ False if there is an error (or if the camera needs to be unplugged to full reset).
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+ The first pixel in the output will be the bottom left pixel in the image.
+ The color values are in BGR order.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+ The first pixel in the output will be the bottom left pixel in the image.
+ The color values are in BGR order.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data ushort array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+ The first pixel in the output will be the bottom left pixel in the image.
+ The color values are in BGR order.
+
+ Camera handle.
+ RGB data buffer IntPtr. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data buffer IntPtr. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+ The first pixel in the output will be the bottom left pixel in the image.
+ The color values are in BGR order.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+ The first pixel in the output will be the bottom left pixel in the image.
+ The color values are in BGR order.
+
+ Camera handle.
+ RGB data buffer IntPtr. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data buffer IntPtr. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+ The first pixel in the output will be the bottom left pixel in the image.
+ The color values are in BGR order.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+ The first pixel in the output will be the bottom left pixel in the image.
+ The color values are in BGR order.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data ushort array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+ The first pixel in the output will be the bottom left pixel in the image.
+ The color values are in BGR order.
+
+ Camera handle.
+ RGB data buffer IntPtr. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data buffer IntPtr. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+ The first pixel in the output will be the bottom left pixel in the image.
+ The color values are in BGR order.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+ The first pixel in the output will be the bottom left pixel in the image.
+ The color values are in BGR order.
+
+ Camera handle.
+ RGB data buffer IntPtr. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data buffer IntPtr. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a 16-bit raw frame to RGB format.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 48 image (width * height * 6).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a 16-bit raw frame to RGB format.
+
+ Camera handle.
+ RGB data buffer IntPtr. Must be big enough to store the RGB 48 image (width * height * 6).
+ Raw data buffer IntPtr. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a 16-bit raw frame to RGB format.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 48 image (width * height * 6).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a 16-bit raw frame to RGB format.
+
+ Camera handle.
+ RGB data buffer IntPtr. Must be big enough to store the RGB 48 image (width * height * 6).
+ Raw data buffer IntPtr. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ The first pixel in the output will be the top left pixel in the image
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 8-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ The first pixel in the output will be the top left pixel in the image
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 8-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ The first pixel in the output will be the top left pixel in the image
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 8-bit image (width * height).
+ Raw data source for the specified pixel format.
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ The first pixel in the output will be the top left pixel in the image
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 8-bit image (width * height).
+ Raw data source for the specified pixel format.
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+ False if there is an error.
+
+
+
+ Convert an AVI file to another format.
+
+ Camera Handle
+ Output file.
+ Input file.
+ Type to convert to.
+ False if there is an error.
+
+
+
+ Create a display window.
+ The window is managed by the API.
+ It can be destroyed by calling LucamDestroyDisplayWindow().
+
+ Camera handle.
+ Window title.
+ Window style.
+ x offset (pan) of leftmost displayed pixel.
+ y offset (pan) of topmost displayed pixel.
+ Number of pixels to display in the window (zoom).
+ Number of pixels to display in the window (zoom).
+ Parent window ID.
+ Child menu ID.
+ False if there is an error.
+
+
+
+ Destroys the display window created by LucamCreateDisplayWindow().
+
+ Camera handle.
+ False if there is an error.
+
+
+
+ Perform whitebalance with digital gains.
+
+ Camera handle.
+ x offset of region of interest
+ y offset of region of interest
+ width of region of interest
+ height of region of interest
+ False if there is an error.
+
+
+
+ Perform whitebalance with digital gains.
+
+ Camera handle.
+ The red/green color ratio to target.
+ The blue/green color ration to target.
+ x offset of region of interest
+ y offset of region of interest
+ width of region of interest
+ height of region of interest
+ False if there is an error.
+
+
+
+ Take the camera out of snapshot mode.
+
+ Camera handle.
+ False if there is an error.
+
+
+
+ Display DirectX Property page
+
+ Camera handle.
+ Window handle of parent window.
+
+
+
+
+ Display DirectX Video Format page
+
+ Camera handle.
+ Window handle of parent window.
+
+
+
+
+ Put the camera in snapshot mode.
+
+ Camera handle.
+ Snapshot (still) image settings.
+ False if there is an error.
+
+
+
+ Enumerate the available frame rates for current camera format (As set via LucamSetFormat()).
+
+ Camera handle.
+ Size of the availableframerates array (if zero the function will just return the number of available framerates).
+ An array of floats (framerate list output).
+ The number of available framerates (or 0 on error).
+ Typical C# usage:
+ int n = LucamEnumAvailableFrameRates(h, 0, 0);
+ float[] fr = new float[n];
+ n = LucamEnumAvailableFrameRates(h, n, fr);
+
+
+
+
+ Enumerate the available frame rates for current camera format (As set via LucamSetFormat()).
+
+ Camera handle.
+ Size of the availableframerates array (if zero the function will just return the number of available framerates).
+ IntPtr to an array of floats (or 0 if calling with a count of 0 just to get the number of available framerates).
+ The number of available framerates (or 0 on error).
+
+
+
+ Get the USB camera device ID.
+
+ Camera handle.
+ Device ID (output).
+ False if there is an error.
+
+
+
+ Read the values of the current color correction matrix.
+
+ Camera handle.
+ The 3x3 array of color correction matrix values.
+ False if there is an error.
+
+
+
+ Get the camera frame format (framerate, subwindow, subsample/binning).
+
+ Camera handle.
+ Frame format (output).
+ Framerate (output).
+ False if there is an error.
+
+
+
+ Get the intensity for a region of interest in a raw image frame.
+
+ Camera handle.
+ Image buffer.
+ Image format.
+ ROI x offset
+ ROI y offset
+ ROI width
+ ROI width
+ Overall intensity
+ Red intensity
+ Green1 intensity
+ Green2 intensity
+ Blue intensity
+
+
+
+
+ Get the intensity for a region of interest in a raw image frame.
+
+ Camera handle.
+ Image buffer.
+ Image format.
+ ROI x offset
+ ROI y offset
+ ROI width
+ ROI width
+ Overall intensity
+ Red intensity
+ Green1 intensity
+ Green2 intensity
+ Blue intensity
+
+
+
+
+ Get the last error for this camera.
+
+ Camera handle.
+ Error code.
+
+
+
+ Retrieve camera properties
+
+ Camera Handle
+ Property
+ Property value (output)
+ Property flags (output)
+ False if there is an error.
+
+
+
+ Get the actual maximum number of bits of dynamic range in raw images.
+
+ Camera handle.
+ Pixel depth (dynamic range) (output).
+ False if there is an error.
+
+
+
+ Get all of the information necessary to interpret a raw video image.
+ Intended to be used with the ConvertFrameTo...Ex() functions.
+
+ Camera handle.
+ The first element (size) of this structure must be initialized to the size of the structure prior to the call.
+ False if there is an error.
+
+
+
+ Configure direction of General Purpose I/O bits.
+
+ Camera handle.
+ Bit flags corresponding to settings for each General Purpose Output. A bit value of 1 means output.
+ False if there is an error.
+
+
+
+ Read the state of the General Purpose I/O registers.
+
+ Camera handle.
+ General Purpose Output bit values.
+ General Purpose Input bit values.
+ False if there is an error.
+
+
+
+ Manually modify the state of General Purpose Outputs. Note that GPO bits must be enable to use this function via LucamGpoSelect().
+
+ Camera handle.
+ General Purpose Outputs.
+ False if there is an error.
+
+
+
+ Configure the alternate General Purpose Output mode.
+
+ Camera handle.
+ Bit flags corresponding to settings for each General Purpose Output. A bit value of 1 means the bit can be controlled via LucamGpioWrite().
+ False if there is an error.
+
+
+
+ Initialize and calibrate the focue and iris positions of the camera lens
+
+ Camera handle.
+ Force a recalibration of the lens (if True)
+ False if there is an error.
+
+
+
+ Perform a single exposure adjustment to reach the specified luminance target as closely as possible.
+
+ Camera handle.
+ Luminance target (0-255).
+ Auto exposure window x offset.
+ Auto exposure window y offset.
+ Auto exposure window width.
+ Auto exposure window height.
+ False if there is an error.
+
+
+
+ Perform a single exposure adjustment to reach the specified luminance target as closely as possible.
+
+ Camera handle.
+ Luminance target (0-255).
+ Auto iris window x offset.
+ Auto iris window y offset.
+ Auto iris window width.
+ Auto iris window height.
+ False if there is an error.
+
+
+
+ Perform a single white balance adjustment to color gains.
+
+ Camera handle.
+ Auto white balance window x offset.
+ Auto white balance window y offset.
+ Auto white balance window width.
+ Auto white balance window height.
+ False if there is an error.
+
+
+
+ Perform a single white balance adjustment to color gains.
+
+ Camera handle.
+ Ratio of red relative to green desired in result.
+ Ratio or blue relative to green desired in the result.
+ Auto white balance window x offset.
+ Auto white balance window y offset.
+ Auto white balance window width.
+ Auto white balance window height.
+ False if there is an error.
+
+
+
+ Perform dual tap balancing on a raw image buffer.
+ The correction is done in situ.
+
+ Camera handle.
+ Raw image buffer (must be the correct size for the specified image format).
+ Image format specification (as returned by LucamGetImageForamt()).
+ False if there is an error.
+
+
+
+ Read a block of data from the persistent storage area in the camera.
+
+ Camera handle.
+ Data buffer.
+ Offset in camera to read from.
+ Length of data to read.
+ False if there is an error.
+
+
+
+ Write a block of data to the persistent storage area in the camera.
+
+ Camera handle.
+ Data buffer.
+ Offset in camera to write to.
+ Length of data to write
+ False if there is an error.
+
+
+
+ Get the range of valid property values and the default value of the property.
+
+ Camera handle.
+ The property to get the range for.
+ Minimum property value (output).
+ Maximum property value (output).
+ Default property value (output). In some models it is the current property value.
+
+ False if there is an error.
+
+
+
+ Send preview window mouse events to the application. Must be called each time display is started
+ with StreamVideoStart().
+
+ Camera handle.
+ Window handle used in LucamStreamVideoControl() to start the preview display.
+
+
+
+
+ Send preview window mouse events to the application.
+
+ Camera handle.
+ Window handle used in LucamStreamVideoControl() to start the preview display.
+
+
+
+
+ Returns the actual average displayed frame rate of the camera since previewing was started.
+
+ Camera handle.
+ The average frame rate (output).
+ False if there is an error.
+
+
+
+ Query the camera connection type.
+
+ Camera handle.
+ Interface type (output).
+ False if there is an error.
+
+
+
+ Query the pixel format associated with a registered RGB preview callback.
+
+ Camera Handle.
+ Pixel format (output).
+ False if there is an error.
+
+
+
+ Query camera version information.
+
+ Camera Handle.
+ Version information structure (output).
+ False if there is an error.
+
+
+
+ Read internal camera registers.
+
+ Camera Handle.
+ Register address
+ Number of registers to read.
+ The array to store the register values in.
+ False if there is an error.
+
+
+
+ Deregister an RGB frame event callback.
+
+ Camera handle.
+ Callback ID (returned by LucamAddRgbPreviewCallback()).
+ False if there is an error.
+
+
+
+ Deregister a snapshot raw frame event callback.
+
+ Camera handle.
+ Callback ID (returned by LucamAddSnapshotCallback()).
+ False if there is an error.
+
+
+
+ Deregister a steam video raw frame event callback.
+
+ Camera handle.
+ Callback ID (returned by LucamAddStreamingPreviewCallback()).
+ False if there is an error.
+
+
+
+ Get the camera frame format (framerate, subwindow, subsample/binning).
+
+ Camera handle.
+ Frame format.
+ Framerate.
+ False if there is an error.
+
+
+
+ Set camera properties.
+
+ Camera Handle.
+ Property.
+ Property value.
+ Property flags.
+ False if there is an error.
+
+
+
+ Set the snapshot trigger mode.
+
+ Camera handle.
+ True to use HW trigger.
+ False if there is an error.
+
+
+
+ Setup a custom color corection matrix.
+
+ Camera handle
+ 3x3 color correction matrix.
+ False if there is an error.
+
+
+
+ Controls the video stream.
+
+ Camera handle.
+ Control type.
+ Window handle.
+ False if there is an error.
+
+
+
+ Controls the video stream.
+
+ Camera handle.
+ Control type.
+ Window handle.
+ False if there is an error.
+
+
+
+ Controls the recording of the video stream to a file.
+
+ Camera handle.
+ Control type.
+ Name of file to record to.
+ Window handle.
+ False if there is an error.
+
+
+
+ Controls the recording of the video stream to a file.
+
+ Camera handle.
+ Control type.
+ Name of file to record to.
+ Window handle.
+ False if there is an error.
+
+
+
+ Take a snapshot. Must call LucamEnableFastFrames() first.
+
+ Camera handle.
+ Image raw data byte array.
+ False if there is an error.
+
+
+
+ Take a snapshot. Must call LucamEnableFastFrames() first.
+
+ Camera handle.
+ Image raw data ushort array.
+ False if there is an error.
+
+
+
+ Take a snapshot. Must call LucamEnableFastFrames() first.
+
+ Camera handle.
+ Image raw data buffer IntPtr.
+ False if there is an error.
+
+
+
+ Take a single still image using the camera's still imaging mode. If a video preview is active it will be automatically interrupted.
+
+ Camera handle.
+ Snapshot (still) image settings.
+ Image raw data byte array.
+ False if there is an error.
+
+
+
+ Take a single still image using the camera's still imaging mode. If a video preview is active it will be automatically interrupted.
+
+ Camera handle.
+ Snapshot (still) image settings.
+ Image raw data ushort array.
+ False if there is an error.
+
+
+
+ Take a single still image using the camera's still imaging mode. If a video preview is active it will be automatically interrupted.
+
+ Camera handle.
+ Snapshot (still) image settings.
+ Image raw data buffer IntPtr.
+ False if there is an error.
+
+
+
+ Capture a frame from the video image preview.
+ Video preview should be running (see LucamStreamVideoControl()).
+
+ Camera handle.
+ The number of frames to take.
+
+ Raw image data buffer IntPtr (the buffer must be big enough to store the raw image for the current camera settings).
+ Use a value of IntPtr.Zero (i.e. null) to skip frames.
+
+ False if there is an error.
+
+
+
+ Capture a frame from the video image preview.
+ Video preview should be running (see LucamStreamVideoControl()).
+
+ Camera handle.
+ The number of frames to take.
+
+ Raw image data buffer byte array (the buffer must be big enough to store the raw image for the current camera settings).
+ Use a value of null to skip frames.
+
+ False if there is an error.
+
+
+
+ Capture a frame from the video image preview.
+ Video preview should be running (see LucamStreamVideoControl()).
+
+ Camera handle.
+ The number of frames to take.
+
+ Raw image data buffer ushort array (the buffer must be big enough to store the raw image for the current camera settings).
+ Use a value of null to skip frames.
+
+ False if there is an error.
+
+
+
+ Capture a frame from the video image preview.
+ Video preview should be running (see LucamStreamVideoControl()).
+
+ Camera handle.
+ Raw image data buffer IntPtr (the buffer must be big enough to store the raw image for the current camera settings).
+ Size of the data buffer
+ Maximum duration to wait for a frame in milliseconds.
+ False if there is an error.
+
+
+
+ Capture a frame from the video image preview.
+ Video preview should be running (see LucamStreamVideoControl()).
+
+ Camera handle.
+ Raw image data byte array (the array must be big enough to store the raw image for the current camera settings).
+ Size of the data buffer
+ Maximum duration to wait for a frame in milliseconds.
+ False if there is an error.
+
+
+
+ Capture a frame from the video image preview.
+ Video preview should be running (see LucamStreamVideoControl()).
+
+ Camera handle.
+ Raw image data ushort array (the array must be big enough to store the raw image for the current camera settings).
+ Size of the data buffer
+ Maximum duration to wait for a frame in milliseconds.
+ False if there is an error.
+
+
+
+ Trigger a snapshot capture.
+ Doesn't wait for the image to be capture.
+ Call LucamTakeFastFrame() or LucamTakeFastFrameNoTrigger() to retrieve the image.
+ The camera should be in fast frames mode - LucamEnableFastFrames().
+
+ Camera handle.
+ False if there is an error.
+
+
+
+ Write internal camera register.
+
+ Camera Handle.
+ Register address
+ Number of registers to write.
+ The array containing the register values.
+ False if there is an error.
+
+
+
+ Set up synchronous snapshots.
+
+ The number of cameras to synchronize.
+ Array of camera handles.
+ Array of LucamSnapshot struct pointers.
+ synchronous snapshot handle (for use with LucamTakeSyncronousSnapshots).
+
+
+
+ Take synchronous snapshots.
+
+ Synchronous snapshot handle (from EnableSyncSnapshots).
+ Array of raw image buffer pointers for the snapshot images. These buffers must correspond in size to the LucamFrameFormat for that camera.
+ False if there is an error.
+
+
+
+ Release the synchronous snapshot handle.
+
+ Synchronous snapshot handle (from EnableSyncSnapshots).
+ False if there is an error.
+
+
+
+ Open an AVI file.
+
+ Name of the file.
+ A handle for subsequent LucamPreviewAVIxxx() calls.
+
+
+
+ Close a previously opened AVI File.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ False if there is an error.
+
+
+
+ Control AVI playback.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ Streaming option.
+ Window handle when starting playback.
+ False if there is an error.
+
+
+
+ Control AVI playback.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ Streaming option.
+ Window handle when starting playback.
+ False if there is an error.
+
+
+
+ Get the duration of the AVI file.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ Time in minutes.
+ Time in seconds.
+ Time in milliseconds.
+ Time in microseconds.
+ False if there is an error.
+
+
+
+ Get the frame count of the AVI file.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The number of frames in the AVI file.
+ False if there is an error.
+
+
+
+ Get the frame rate of the AVI file.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The frame rate of the AVI file.
+ False if there is an error.
+
+
+
+ Get the current position as a time.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ Time in minutes.
+ Time in seconds.
+ Time in milliseconds.
+ Time in microseconds.
+ False if there is an error.
+
+
+
+ Get the current position as a frame number.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The current frame number.
+ False if there is an error.
+
+
+
+ Set the current position by time.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ Time in minutes.
+ Time in seconds.
+ Time in milliseconds.
+ Time in microseconds.
+ False if there is an error.
+
+
+
+ Set the current position by frame number.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The desired frame number.
+ False if there is an error.
+
+
+
+
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ Width of the image.
+ Height of the image.
+ Type of image.
+ Bit depth of the image.
+ False if there is an error.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Image data byte array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+ False if there is an error.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Image data ushort array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+ False if there is an error.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Image data buffer IntPtr (the buffer must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+ False if there is an error.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+ For LucamPixelFormat.PF_16, uses the endianness according to the camera handle.
+
+ Camera Handle.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Image data byte array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+ False if there is an error.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+ For LucamPixelFormat.PF_16, uses the endianness according to the camera handle.
+
+ Camera Handle.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Image data ushort array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+ False if there is an error.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+ For LucamPixelFormat.PF_16, uses the endianness according to the camera handle.
+
+ Camera Handle.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Image data buffer IntPtr (the buffer must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+ False if there is an error.
+
+
+
+ Get the IP configuration of a camera and its host.
+
+ Index of the camera.
+ Mac address of the camera.
+ Structure holding IP information for the camera.
+ Mac address of the host.
+ Structure holding IP information for the host.
+ Returns true if camera and host ip configuration are successfully retrieved.
+
+
+
+ Set the IP configuration of a camera.
+
+ Index of the camera.
+ Structure holding IP information for the camera.
+ Returns true if the camera ip configuration is successfully set.
+
+
+
+ Camera version information.
+
+
+
+
+ Camera serial number.
+
+
+
+
+ Camera ID (USB device ID).
+ Determines which driver is used.
+
+
+
+
+ Base class method override so this object knows how to render itself.
+
+
+
+
+
+ Format the camera information for textual display (e.g. TextBox).
+ Note that the text is formatted for display in a monospaced font.
+
+
+
+
+
+ Firmware version.
+
+
+
+
+ FPGA version.
+
+
+
+
+ API version.
+
+
+
+
+ Device driver version.
+
+
+
+
+ Pixel format.
+ The pixel format indicates the format of the data stream for raw data buffers.
+
+
+
+
+ Eight bit raw data.
+
+
+
+
+ Sixteen bit raw data, MSB oriented.
+
+
+
+
+ 24-bit RGB data (from 8 bit raw data).
+
+
+
+
+ YUV data.
+
+
+
+
+ 48-bit RGB data (from 16 bit raw data).
+
+
+
+
+ Flags relating to LucamFrameFormat
+
+
+
+
+ Determines whether the imager is in Binning or Subsampling mode.
+ Only relevant if the binning or subsampling values are set to something non zero.
+
+
+
+
+ The image frame acquisition setup.
+
+
+
+
+ The X offset of the image data to be read out of the imager.
+
+
+
+
+ The Y offset of the image data to be read out of the imager.
+
+
+
+
+ The dimensions of the image data to be read out of the imager.
+ Can do this because Size is a struct.
+
+
+
+
+ The width of the image data to be read out of the imager.
+
+
+
+
+ The height of the image data to be read out of the imager.
+
+
+
+
+ The pixel format of the data read out of the imager.
+
+
+
+
+ Column decimation ratio.
+
+
+
+
+ Column decimation ratio.
+
+
+
+
+ Column decimation control flags.
+
+
+
+
+ Row decimation ratio.
+
+
+
+
+ Row decimation ratio.
+
+
+
+
+ Row decimation control flags.
+
+
+
+
+ Allow comparison of LucamFrameFormat structures.
+
+
+
+
+
+
+
+ Allow comparison of LucamFrameFormat structures.
+
+
+
+
+
+
+
+ The location and size of the image data to be read out of the imager.
+
+ Can't use FieldOffset like Size because Rectangle is a class.
+
+
+
+ The offset of the image data to be read out of the imager.
+
+ Can't use FieldOffset like Size because Point is a class.
+
+
+
+ Structure containing the IP configuration of the camera.
+
+
+
+
+ The IP address of the camera.
+
+
+
+
+ The SubnetMask of the camera.
+
+
+
+
+ The DefaultGateway of the camera.
+
+
+
+
+ Image format description.
+ This is read only image format information.
+ There is some overlap with LucamFrameFormat.
+ The intention is that all of the relevant image format data is described in one place for code that does not need to control the image format and just wants to know how to interpret it.
+
+
+
+
+ The size of this structure.
+
+
+
+
+ The width of the image in pixels.
+
+
+
+
+ The height of the image in pixels.
+
+
+
+
+ The pixel format of the image data buffer.
+
+
+
+
+ The size (in bytes) of the image data buffer.
+
+
+
+
+ Reserved.
+
+
+
+
+ Reserved.
+
+
+
+
+ Reserved.
+
+
+
+
+ Reserved.
+
+
+
+
+ Reserved.
+
+
+
+
+ Reserved.
+
+
+
+
+ Reserved.
+
+
+
+
+ Reserved.
+
+
+
+
+ Property flags.
+ These flags give more information or control over the indicated property.
+ Some flags are only relevant to certain properties.
+
+
+
+
+ Indicates all flags are off.
+
+
+
+
+ Indicates whether this property is enabled.
+ Controls triggering when used with LucamProperty.VIDEO_TRIGGER
+
+
+
+
+ Indicates whether the image for multi-byte data format is in little endian format or big endian format.
+ Relevant to LucamProperty.COLOR_FORMAT.
+
+
+
+
+ Relevant to LucamProperty.VIDEO_TRIGGER.
+
+
+
+
+ Controls auto functions for properties that have an auto mode - e.g. exposure, gain, whitebalance (color gain).
+
+
+
+
+ Relevant to LucamProperty.SYNC_MODE.
+
+
+
+
+ Relevant to LucamProperty.IRIS and LucamProperty.FOCUS.
+
+
+
+
+ Relevant to LucamProperty.MEMORY.
+
+
+
+
+ Relevant to LucamProperty.IRIS.
+
+
+
+
+ Relevant to LucamProperty.VIDEO_TRIGGER.
+
+
+
+
+ Does the property have an unknown maximum value?
+ Relevant to LucamGetProperty()
+
+
+
+
+ Does the property have an unknown minimum value?
+ Relevant to LucamGetProperty()
+
+
+
+
+ Is the property read only?
+ Relevant to LucamPropertyRange()
+
+
+
+
+ Controls whether the property applies to the Blue pixels.
+ Relevant to LucamProperty.GAMMA, BRIGHTNESS, CONTRAST on applicable camera models.
+
+
+
+
+ Controls whether the property applies to the Green1 pixels.
+ Relevant to LucamProperty.GAMMA, BRIGHTNESS, CONTRAST on applicable camera models.
+
+
+
+
+ Controls whether the property applies to the Green2 pixels.
+ Relevant to LucamProperty.GAMMA, BRIGHTNESS, CONTRAST on applicable camera models.
+
+
+
+
+ Controls whether the property applies to the Red pixels.
+ Relevant to LucamProperty.GAMMA, BRIGHTNESS, CONTRAST on applicable camera models.
+
+
+
+
+ Camera properties.
+
+
+
+
+ Image brightness.
+
+
+
+
+ Image contrast.
+
+
+
+
+ Image hue.
+
+
+
+
+ Image saturation.
+
+
+
+
+ Image sharpness.
+
+
+
+
+ Image gamma.
+
+
+
+
+ Lens control - panning.
+
+
+
+
+ Lens control - tilt.
+
+
+
+
+ Lens control - roll.
+
+
+
+
+ Lens control - zoom.
+
+
+
+
+ Preview (video) image exposure duration (in milliseconds).
+
+
+
+
+ Lens control - aperture (iris).
+ A larger number is more open than a smaller number.
+
+
+
+
+ Lens control - focus.
+
+
+
+
+ Preview (video) imager global gain (applies to all color channels).
+
+
+
+
+ Preview (video) imager gain for red pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Preview (video) imager gain for blue pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Preview (video) imager gain for green pixels.
+ In a Bayer pattern imager there are two green pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Preview (video) imager gain for green pixels.
+ In a Bayer pattern imager there are two green pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Still (snapshot) image exposure duration (in milliseconds).
+
+
+
+
+ Still (snapshot) imager global gain (applies to all color channels).
+
+
+
+
+ Still (snapshot) imager gain for red pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Still (snapshot) imager gain for green pixels.
+ In a Bayer pattern imager there are two green pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Still (snapshot) imager gain for green pixels.
+ In a Bayer pattern imager there are two green pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Still (snapshot) imager gain for blue pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Demosaicing method for bayer pattern color imagers.
+ Property value is of type LucamDemosaicMethod.
+
+
+
+
+ Color correction matrix applied to color images.
+ Property value if is of type LucamCorrectionMatrix.
+
+
+
+
+ The orientation of the image data.
+ Property value is of type LucamFlippingFormat.
+
+
+
+
+ Digital global gain.
+
+
+
+
+ Digital gain for red pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Digital imager gain for green pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Digital imager gain for blue pixels.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Describes the color format of the imager (monochrome or format of bayer pattern).
+ Property value is of type LucamColorFormat
+ Property flag LucamPropertyFlag.LITTLE_ENDIAN is relevant.
+ Note: Read only.
+
+
+
+
+ The maximum width for this camera (imager).
+ Note: Read only.
+
+
+
+
+ The maximum height for this camera (imager).
+ Note: Read only.
+
+
+
+
+ The luminance target which governs the auto exposure, gain, white balance, iris functions of the camera.
+
+
+
+
+ If the camera supports setting the imager clock speed, this property will control the clock.
+ A higher value for this property indicates a slower clock speed.
+ The exact clocks frequencies supported are model dependent.
+ This also controls multiple tap behaviors in a model dependent way.
+
+
+
+
+ The maximum exposure used by auto exposure.
+
+
+
+
+ The GP IN pin number for snapshot trigger (alias of TRIGGER_PIN).
+
+
+
+
+ The GP IN pin number for snapshot trigger.
+
+
+
+
+ Lens shading correction X axis factor
+
+
+
+
+ Lens shading correction Y axis factor
+
+
+
+
+ Clock speed index. Zero is fastest framerate. Typically used to set SNAPSHOT_CLOCK_SPEED
+
+
+
+
+ The maximum gain used by auto gain.
+
+
+
+
+ The GP OUT pin number for strobe control.
+
+
+
+
+ Read/Set tap configuration
+ Property value is of type LucamTapConfiguration.
+
+
+
+
+ Read/Set tap configuration
+ Property value is of type LucamTapConfiguration.
+
+
+
+
+ Enable/Disable the Link Local Address for GIGE
+ Note: Read only.
+
+
+
+
+ Enable/Disable the dhcp for GIGE
+
+
+
+
+ Enable/Disable the persistent ip Address for GIGE
+
+
+
+
+ The value of the fixed ip address
+
+
+
+
+ The value of the fixed subnet mask
+
+
+
+
+ The value of the fixed default gateway
+
+
+
+
+ Read/Set delay between packets
+
+
+
+
+ Bayer imager patterns.
+ For use with LucamProperty.COLOR_FORMAT
+
+
+
+
+ Monochrome.
+
+
+
+
+ Bayer pattern.
+
+
+
+
+ Bayer pattern.
+
+
+
+
+ Bayer pattern.
+
+
+
+
+ Bayer pattern.
+
+
+
+
+ Bayer pattern.
+
+
+
+
+ Bayer pattern.
+
+
+
+
+ Bayer pattern.
+
+
+
+
+ Bayer pattern.
+
+
+
+
+ Available image flipping (mirroring) options
+ For use with LucamProperty.FLIPPING
+
+
+
+
+ No flipping (default).
+
+
+
+
+ Flip on X axis.
+
+
+
+
+ Flip on Y axis.
+
+
+
+
+ Flip on both X and Y axes.
+
+
+
+
+ Available tap configuration options.
+ For use with LucamProperty.TAP_CONFIGURATION and LucamProperty.STILL_TAP_CONFIGURATION.
+
+
+
+
+ Available Bayer pattern demosaicing methods.
+ For use with LucamProperty.DEMOSAICING_METHOD and LucamConversion
+
+
+
+
+ No demosaicing.
+
+
+
+
+ Fast (low quality) demosaicing.
+ Uses the nearest appropriate color pixel value in the bayer pattern, usually above or to the left.
+
+
+
+
+ Similar to FAST, but the green channels are averaged.
+
+
+
+
+ Available correction matrices for applicable lighting types.
+ For use with LucamProperty.CORRECTION_MATRIX and LucamConversion
+
+
+
+
+ No color correction.
+
+
+
+
+ Flourescent color correction.
+
+
+
+
+ Daylight color correction.
+
+
+
+
+ Incandescent color correction.
+
+
+
+
+ Halogen color correction.
+
+
+
+
+ LED color correction.
+
+
+
+
+ Define the custom matrix values via LucamSetupCustomMatrix()
+
+
+
+
+ Conversion properties for translating raw images into color/greyscale images.
+ This is a simple wrapper required by LucamConvertFrameToXXX() functions.
+
+
+
+
+ The Bayer demosaicing method.
+
+
+
+
+ The color correction matrix for the applicable lighting scenario.
+
+
+
+
+ Constructor to initiliaze all data members.
+
+ The Bayer pattern demosaicing method.
+ The color correction matrix.
+
+
+
+ Conversion properties for translating raw images into color/greyscale images.
+ This is a simple wrapper required by the Ex versions of LucamConvertFrameToXXX() functions.
+
+
+
+
+ Size of this structure.
+
+
+
+
+ The Bayer demosaicing method.
+
+
+
+
+ The color correction matrix for the applicable lighting scenario.
+
+
+
+
+ Constructor to initiliaze all data members, including Size.
+
+ The Bayer pattern demosaicing method.
+ The color correction matrix.
+ Flip the image.
+ Flip the image.
+ Hue.
+ Saturation
+ Red digital gain.
+ Green digital gain.
+ Blue digital gain.
+
+
+
+ Modes for video preview stream.
+ Used by LucamStreamVideoControl()
+
+
+
+
+ Stop streaming.
+
+
+
+
+ Start streaming.
+
+
+
+
+ Start streaming and display of video frames in a video window.
+
+
+
+
+ Pause streaming.
+
+
+
+
+ Delegate for RGB frame callbacks.
+ Used by LucamAddRgbPreviewCallback().
+
+ A unique value supplied to LucamAddRgbPreviewCallback() when the callback was registered.
+ Image data pointer.
+ Image data length.
+
+
+
+
+ Delegate for video stream frame callbacks and snapshot callbacks.
+ Used by LucamAddStreamingCallback(), LucamAddSnapshotCallback().
+
+ A unique value supplied to LucamAddStreamingCallback() when the callback was registered.
+ Image data pointer.
+ Image data length.
+
+
+
+ Shutter types available for Still (Snapshot) images.
+
+
+
+
+ Global Shutter.
+ All rows of the imager are exposed at the same time.
+
+
+
+
+ Rolling Shutter.
+ Each row starts to expose after it is read out so each row starts to expose slightly later than the one before it.
+
+
+
+
+ Parameters for the snapshot.
+
+
+
+
+ Snapshot exposure duration.
+
+
+
+
+ Snapshot global gain.
+
+
+
+
+ Snapshot red gain.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Snapshot magenta gain.
+ Applicable to cameras with a CMY LucamProperty.COLOR_FORMAT
+
+
+
+
+ Snapshot blue gain.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Snapshot cyan gain.
+ Applicable to cameras with a CMY LucamProperty.COLOR_FORMAT
+
+
+
+
+ Snapshot green gain.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Snapshot yellow gain.
+ Applicable to cameras with a CMY LucamProperty.COLOR_FORMAT
+
+
+
+
+ Snapshot green gain.
+ Applicable to cameras with an RGB LucamProperty.COLOR_FORMAT
+
+
+
+
+ Snapshot yellow gain.
+ Applicable to cameras with a CMY LucamProperty.COLOR_FORMAT
+
+
+
+
+ Set to 1 to use the strobe.
+ In future, this might have additional values.
+
+
+
+
+ Wait for GPIO hardware input trigger.
+
+
+
+
+ Snapshot timeout in milliseconds.
+
+
+
+
+ Snapshot frame format (window size, etc.)
+
+
+
+
+ Shutter type to use for snapshot.
+
+
+
+
+ Reserved.
+
+
+
+
+ Reserved.
+
+
+
+
+ Reserved.
+
+
+
+
+ Camera connection interface types.
+
+
+
+
+ USB 1.1
+
+
+
+
+ USB 2.0
+
+
+
+
+ USB 3.0.
+ Note that with USB3, CameraOpen() does not reenumerate cameras.
+ If you disconnect from a camera, trying to reopen the camera will fail.
+ To work around this, call NumCameras() to force a reenumeration.
+
+
+
+
+ GigE Vision
+
+
+
+
+ Delegate used for fns that return progress asynchronously via a callback.
+ Used by AutoFocusStart()
+
+ A unique value supplied when the callback was registered.
+ Progress (in %).
+
+
+
+ The resolution multiplier for Lumenera cameras that support high resolution image capture by pixel shifting.
+
+
+
+
+ Capture a high resolution image at 1x resolution in both X and Y directions but using DeltaPix rather than Bayer demosaicing.
+
+
+
+
+ Capture a high resolution image at 4x resolution.
+
+
+
+
+ Capture a high resolution image at 9x resolution.
+
+
+
+
+ Capture a high resolution image at 16x resolution. This mode corresponds to the maximal resolution implicit in the naming of the X-32 ad X-21.
+
+
+
+
+ Error codes returned by Lucam functions.
+
+
+
+
+ No Error (success)
+
+
+
+
+ Index parameter to Lucam function does not exist.
+ Note that the first index is 1, not 0.
+ E.g. camera index to LucamCameraOpen().
+
+
+
+
+ Snapshot not supported for this model (aka still, aka fast frames).
+
+
+
+
+ Pixel format requested is not valid.
+
+
+
+
+ A subsampling of zero was passed to a function.
+ The subsampling (or binning) factor must be a positive integer - 1, 2, 4
+
+
+
+
+ Lucam API is busy.
+ A retry of this call after a small delay may succeed.
+
+
+
+
+ Setting the requested subsampling in LucamFrameFormat failed.
+ Could be due to DirectShow filter not being installed.
+
+
+
+
+ Setting the image offset in LucamFrameFormat failed.
+
+
+
+
+ Pixel format requested is not supported by this camera.
+
+
+
+
+ Frame format requested is not valid.
+ See also error values 3, 4, 6, 7, 8 for more specific LucamFrameFormat setting errors.
+
+
+
+
+ The API failed to prepare the camera for streaming or snapshot.
+ If START_STREAMING succeeds and START_DISPLAY fails with this error, this can be due to a DirectShow filter not being installed.
+
+
+
+
+ The API failed to get the camera running. This can be due to a bandwidth problem.
+
+
+
+
+ The function failed because it requires the camera to be running, and it is not.
+
+
+
+
+ The camera does not setup it's frame format.
+ This will happen if your camera is plugged to a USB 1 port and it does not support it.
+
+
+
+
+ Direct Show initialization error.
+ This may happen if you run the API before having installed a DS compatible camera ever before.
+
+
+
+
+ LucamCameraOpen() did not find the requested index.
+
+
+
+
+ Call timed out.
+ E.g. acquisition of an image from the camera timed out.
+
+
+
+
+ Property is invalid.
+ Check that you have an up to date lucamapi.dll.
+
+
+
+
+ Property is not supported by this camera.
+
+
+
+
+ Accessing this property failed.
+
+
+
+
+ The lucustom.ax filter was not found.
+
+
+
+
+ The function failed because preview is not running.
+
+
+
+
+ The function failed because lutf.ax is not loaded.
+
+
+
+
+ An error related to the operation of DirectShow occured.
+
+
+
+
+ The function LucamAddStreamingCallback failed because the API cannot support any more callbacks
+
+
+
+
+ The API does not know what is the frame format of the camera.
+
+
+
+
+ A function parameter has a invalid value.
+
+
+
+
+ Resource allocation failed.
+
+
+
+
+ One of the members of the LucamConversion is either unknown or inappropriate
+
+
+
+
+ A parameter is out of range.
+
+
+
+
+ An error occured creating a file or writing to it.
+ Verify that the path exists.
+
+
+
+
+ gdiplus.dll is needed and was not found.
+
+
+
+
+ gdiplus.dll reported an error.
+ This may happen if there is a file io error.
+
+
+
+
+ The API failed to create the display window.
+ The reason could be insufficient resources.
+
+
+
+
+ deltapolation.dll is needed and was not found.
+
+
+
+
+ The deltapolation command is not supported by the delta polation library.
+
+
+
+
+ The deltapolation command is unknown or invalid.
+
+
+
+
+ The function cannot be performed when the camera is in paused state.
+
+
+
+
+ One of the target parameters is wrong.
+ This error code is used when offset + size > (undecimated size / subSample) or if any of those parameter is odd (not a multiple of 2) or if width or height is 0.
+
+
+
+
+ The frame is too dark to perform white balance.
+
+
+
+
+ A DirectShow IKsControl interface is not found.
+
+
+
+
+ The user cancelled the operation.
+
+
+
+
+ The DirectShow IKsControl interface is not supported.
+ Occurs when a camera is unplugged.
+
+
+
+
+ The function failed because preview was not setup.
+
+
+
+
+ A function setting window position failed
+
+
+
+
+ The frame rate list is not available.
+
+
+
+
+ There was an error building the frame rate list.
+
+
+
+
+ The camera does not support that particular command.
+
+
+
+
+ You cannot cause a soft trigger when hw trigger is enabled.
+
+
+
+
+ Requested data is not found.
+
+
+
+
+ The onboard EEPROM is too small.
+
+
+
+
+ The API failed to write to the onboard eeprom.
+
+
+
+
+ The API failed because it failed to recognize the file type of a file name passed to it.
+
+
+
+
+ LucamRegisterEventNotification failed because the event is not supported.
+
+
+
+
+ The API found that the EEPROM was corrupted.
+
+
+
+
+ The VPD section to write to the eeprom is too big.
+
+
+
+
+ The frame is too bright to perform white balance.
+
+
+
+
+ The camera is configured to have no correction matrix (LucamCorrectionMatrix.None) and the function requires one.
+
+
+
+
+ The API failed because it needs to know the camera model and it is not available.
+
+
+
+
+ The API failed because it needs to be upgraded to access a feature of the camera.
+
+
+
+
+ The API failed because the saturation is currently 0.
+
+
+
+
+ The API failed because the object was already initialised.
+
+
+
+
+ The API failed because the file conversion was not completed.
+
+
+
+
+ The API failed because the file is already converted in the desired format.
+
+
+
+
+ The API failed to display the Direct Show property page.
+
+
+
+
+ The API failed to create the Direct Show page.
+
+
+
+
+ The API did not find the required Direct Show filter.
+
+
+
+
+ The camera does not support that different LUTs are applied to each color.
+
+
+
+
+ LucamTakeFastFrame or LucamTakeVideo failed because another thread interrupted the streaming by a call to LucamDisableFastFrames or LucamStreamVideoControl.
+
+
+
+
+ LucamForceTakeFastFrame was called while the camera is in hardware trigger still mode.
+
+
+
+
+ The auto lens needs to be initialized before the function is used.
+
+
+
+
+ The function failed because the lens were not installed correctly. Verify that changing the focus has any effect.
+
+
+
+
+ There is no feedback available for focus.
+
+
+
+
+ lutf.ax is too old for this feature.
+
+
+
+
+ Unknown or invalid AVI format for input file.
+
+
+
+
+ Unknown AVI type.
+
+
+
+
+ The AVI conversion is invalid.
+
+
+
+
+ The seek failed.
+
+
+
+
+ The function cannot be performed while an AVI is being captured.
+
+
+
+
+ An attempt was made to open a camera for streaming-related reasons while it is already opened for such.
+
+
+
+
+ The API cannot take a high resolution image in subsampled mode or binning mode.
+
+
+
+
+ The API function is only available on monochrome cameras.
+
+
+
+
+ Building a 48 bpp image from an 8 bpp image is invalid.
+
+
+
+
+ Use 12 bits lut instead.
+
+
+
+
+ Function is not supported.
+
+
+
+
+ Retries limit was reached without completing the operation.
+
+
+
+
+ An IO operation to the camera failed.
+
+
+
+
+ The Lg camera has an invalid IP configuration.
+
+
+
+
+ The license to operate the camera is invalid
+
+
+
+
+ Camera enumeration is impossible due to a software installation error.
+
+
+
+
+ Camera enumeration is impossible due to a software installation error.
+
+
+
+
+ Unknown external interface.
+
+
+
+
+ Incomplete or incorrect software installation prevents streaming from the camera.
+
+
+
+
+ Incomplete or incorrect software installation prevents streaming from the camera.
+ Opening the device manager and updating the drivers on the relevant device may fix the issue.
+
+
+
+
+ Incomplete or incorrect software installation prevents streaming from the camera.
+ Opening the device manager and updating the drivers on the relevant device may fix the issue.
+
+
+
+
+ Lucamapi.dll is not found.
+
+
+
+
+ A procedure in Lucamapi.dll was not found.
+
+
+
+
+ The property cannot be accessed via LucamEnumProperty.
+
+
+
+
+ The property cannot be accessed via LucamPropertyGetBuffer.
+
+
+
+
+ Facilitate error handling and error display for Lucam API calls.
+
+
+
+
+ The Lucam API error code associated with this exception.
+
+
+
+
+ Create a LucamException.
+
+
+ The occurrence of this exception is also logged to the VS debug output log.
+
+ The LucamAPI error code.
+
+
+
+ Create a LucamException.
+
+ The LucamAPI error code.
+ The message string passed to the base Exception constructor.
+ The occurrence of this exception is also logged to the VS debug output log.
+
+
+
+ Create a LucamException.
+
+ Camera handle.
+
+
+
+ Create a LucamException.
+
+ Camera handle.
+ The message string passed to the base Exception constructor.
+
+
+
+ Extend the basic ToString() to include formatted Name/Value pairs in Exception.Data.
+
+
+
+
+
+ Extend the basic Message property to include the formatted Lucam API error which caused the exception.
+
+
+
+
+ Format an error as both a name and number.
+
+
+
+
+
+
+ Format a property as both a name and number.
+
+
+
+
+
+
+ Format a LucamPropertyFlag with the possible flag name(s) for each bit that is turned on.
+
+
+
+
+
+
+ Get the size of a pixel in bits.
+
+
+
+
+
+
+ Get the size of a pixel in bytes.
+
+
+ Pixel size in bytes.
+
+
+
+ Get the size of a pixel in bytes.
+
+
+ Pixel size in bytes.
+
+
+
+ Facilitate the use of the Lucam API with appropriate .NET datatypes (E.g. arrays, Rectangles, Size, Offset, Point, etc.)
+ and provide helper functions to perform common Lucam tasks associated with Lucam API calls.
+ These functions throw exceptions on error (none return error codes - except via exceptions).
+
+
+
+
+ Concise wrapper for the Lucam API GetLastErrorForCamera()
+
+ Lucam API camera handle.
+ Lucam API error code.
+
+
+
+ Query the error code for the last API error (not camera specific - for camera specific error, see LucamGetLastErrorForCamera().
+
+ The error code.
+
+
+
+ The composed error string for the last Lucam API error on the specified camera handle.
+
+ Lucam API camera handle.
+ The composed error string.
+
+
+
+ Concise wrapper for the Lucam API GetLastError().
+
+ Lucam API error code.
+
+
+
+ The composed error string for the last Lucam API error.
+
+ The composed error string.
+
+
+
+ Query the camera connection type.
+
+ Camera handle.
+ camera connection type
+
+
+
+ Select which physical interface API will operate on.
+
+
+ USB1, USB2 and USB3 all enumerate all version of USB devices.
+
+ Interface to use
+
+
+
+ Get the list of connected cameras.
+
+ Array of LucamVersion structures representing the connected cameras.
+
+
+
+ Query the number of connected cameras.
+
+ Performs the actual device enumeration.
+ The number of cameras.
+
+
+
+ Get the list of connected cameras.
+
+
+ Returns the device enumeration determined by LucamNumCameras().
+ If LucamNumCameras() hasn't been called, it will be called internally.
+
+ Array of LucamVersion structures representing the connected cameras.
+
+
+
+ Get the version information for the specified camera handle.
+
+ Lucam API camera handle.
+ LucamVersion structure for the specified camera.
+
+
+
+ Get the USB device serial number for the specified camera handle.
+
+ Lucam API camera handle.
+ The camera USB device serial number.
+
+
+
+ Get the USB driver ID for the specified camera handle.
+
+ Lucam API camera handle.
+ device ID
+
+
+
+ Determine if the specified camera handle is still valid.
+
+ Lucam API camera handle.
+
+
+
+
+ Get the USB camera device ID.
+
+ Camera handle.
+ device ID
+
+
+
+ Determines if the camera exposure can exceed the current frame period.
+
+ Lucam API camera handle.
+
+
+
+
+ Get the camera frame format (framerate, subwindow, subsample/binning).
+
+ Camera handle.
+ Frame format (output).
+ Framerate (output).
+
+
+
+ Get the camera frame format (framerate, subwindow, subsample/binning).
+
+ Camera handle.
+ Framerate (output).
+ The frame format structure.
+
+
+
+ Get the frame format.
+
+ Lucam API camera handle.
+ The frame format structure.
+
+
+
+ Set the camera frame format (framerate, subwindow, subsample/binning).
+
+ Camera handle.
+ Frame format.
+ Framerate.
+
+
+
+ Get the current Region of Interest (ROI) for the specified camera.
+
+ Lucam API camera handle.
+ The rectangle describing the ROI of the imager that is associated with the raw data stream.
+
+
+
+ Get the current dimensions of the Region of Interest (ROI) for the specified camera.
+
+ Lucam API camera handle.
+ The dimensions of the ROI.
+
+
+
+ Get the current dimensions of the Region of Interest (ROI) for the specified camera.
+
+ Lucam API camera handle.
+ The width of the ROI (output).
+ The height of the ROI (output).
+
+
+
+ Set the current dimensions of the Region of Interest (ROI) for the specified camera.
+
+ Lucam API camera handle.
+ The width of the ROI.
+ The height of the ROI.
+
+
+
+ Get the current frame rate for the specified camera.
+
+ Lucam API camera handle.
+ The current camera frame rate.
+
+
+
+ Set the frame rate for the specified camera. Note that the camera may not support an arbitrary frame rate.
+ To determine which frame rate is actually configured the user should call GetFrameRate() afterwards.
+
+ Lucam API camera handle.
+ Frame rate.
+
+
+
+ Set the frame rate of the specified camera.
+ Check that the framerate is withing 5% of the requested frame rate.
+
+ Lucam API camera handle.
+ Frame rate.
+
+
+
+ Get the current pixel format for the raw image data stream for the specified camera.
+
+ Lucam API camera handle.
+ The current raw data stream pixel format.
+
+
+
+ Set the current pixel format for the raw image data stream.
+
+ Lucam API camera handle.
+ The Lucam API pixel format.
+
+
+
+ Get the actual image pixel depth (number of significant bits) for the specified camera handle.
+
+ Lucam API camera handle.
+ The number of significant bits for the camera image data.
+
+
+
+ Determine the number of bits per pixel for the Lucam API pixel formats.
+
+ Lucam API camera handle.
+ The number of bits per pixel.
+
+
+
+ Determine the number of bits per pixel for the Lucam API pixel formats.
+
+ Lucam API camera handle.
+ The number of bytes per pixel.
+
+
+
+ Get the size of each image in bytes for the current ROI and pixel format.
+
+ Lucam API camera handle.
+ The number of bytes per image.
+
+
+
+ Get the bit position of the least significant bit of image data.
+
+ Lucam API camera handle.
+ The bit position of the least significant bit of image data.
+
+
+
+ Convert an 8-bit raw frame to RGB format (BGR, bottom line first)
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert an 8-bit raw frame to RGB format (BGR, bottom line first)
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Image frame.
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert an 8-bit raw frame to RGB format (BGR, bottom line first)
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data ushort array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert an 8-bit raw frame to RGB format (BGR, bottom line first)
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data ushort array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Image frame.
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert an 16-bit raw frame to RGB format.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 48 image (width * height * 6).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert an 16-bit raw frame to RGB format.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 48 image (width * height * 6).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ Width and Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert a raw frame to monochrome greyscale format (top line first).
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 8-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert a raw frame to monochrome greyscale format (top line first).
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 8-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width and Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ Note that it is not necessary to call this function if the camera is a monochrome camera since the raw data format is already in the appropriate greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ Note that it is not necessary to call this function if the camera is a monochrome camera since the raw data format is already in the appropriate greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width and Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ Note that it is not necessary to call this function if the camera is a monochrome camera since the raw data format is already in the appropriate greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ Note that it is not necessary to call this function if the camera is a monochrome camera since the raw data format is already in the appropriate greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ Width and Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert an 8-bit raw frame to RGB format.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 24 image (width * height * 3).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert an 16-bit raw frame to RGB format.
+
+ Camera handle.
+ RGB data byte array. Must be big enough to store the RGB 48 image (width * height * 6).
+ Raw data byte array. Must be big enough to store the raw data frame (width * height * bytes per pixel (for the selected pixel format)).
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)]
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ Note that it is not necessary to call this function if the camera is a monochrome camera since the raw data format is already in the appropriate greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 8-bit image (width * height).
+ Raw data source for the specified pixel format.
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ Note that it is not necessary to call this function if the camera is a monochrome camera since the raw data format is already in the appropriate greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Convert a raw frame to monochrome greyscale format.
+ Note that it is not necessary to call this function if the camera is a monochrome camera since the raw data format is already in the appropriate greyscale format.
+
+ Camera handle.
+ Monochrome data. Must be big enough to store the greyscale 16-bit image (width * height).
+ Raw data source for the specified pixel format.
+ LucamImageFormat describing the raw image format.
+ Color converion specification (demosaicing and color correction matrix)
+
+
+
+ Get the dll.LucamImageFormat settings for the current camera.
+
+ Lucam API camera handle.
+
+
+
+
+ Get the intensity for a region of interest in a raw image frame.
+
+ Camera handle.
+ Image buffer.
+ Image format.
+ ROI x offset
+ ROI y offset
+ ROI width
+ ROI width
+ Overall intensity
+ Red intensity
+ Green1 intensity
+ Green2 intensity
+ Blue intensity
+
+
+
+ Get the intensity for a region of interest in a raw image frame.
+
+ Camera handle.
+ Image buffer.
+ Image format.
+ ROI x offset
+ ROI y offset
+ ROI width
+ ROI width
+ the intensity of the ROI
+
+
+
+ Get the intensity for a region of interest in a raw image frame.
+
+ Camera handle.
+ Image buffer.
+ Image format.
+ ROI using a Rectangle object
+ Overall intensity
+ Red intensity
+ Green1 intensity
+ Green2 intensity
+ Blue intensity
+
+
+
+ Get the intensity for a region of interest in a raw image frame.
+
+ Camera handle.
+ Image buffer.
+ Image format.
+ ROI using a Rectangle object
+ the intensity of the ROI
+
+
+
+ Get the list of frame rates supported by the specified camera.
+
+ Lucam API camera handle.
+ Array of frame rates.
+
+
+
+ Find the closest frame rate to the specified target value.
+
+ Available frame rates (e.g. returned by GetFrameRates).
+ Target frame rate.
+ Closest frame rate to target.
+
+
+
+ Get the closest frame rate to the specified target value.
+
+ Lucam API camera handle.
+ Target frame rate.
+ Selected frame rate.
+
+
+
+ Set the closest frame rate to the specified target value.
+
+ Lucam API camera handle.
+ Target frame rate.
+ Selected frame rate.
+
+
+
+ Set the maximum available framerate.
+
+ Lucam API camera handle.
+ The maximum framerate.
+
+
+
+ Get the maximum available framerate.
+
+ Lucam API camera handle.
+ The maximum framerate.
+
+
+
+ Read a property value from the camera.
+
+ Lucam API camera handle.
+ Property value.
+ Property flags (output).
+
+
+
+
+ Read a property value from the camera.
+
+ Lucam API camera handle.
+ Property value.
+
+
+
+
+ Set a property value in the camera.
+
+ Lucam API camera handle.
+ Property.
+ Property value.
+ Property flags.
+
+
+
+ Set a property value in the camera.
+ Sets property flags to 0.
+
+ Lucam API camera handle.
+ Property.
+ Property value.
+
+
+
+ Set a property value in the camera.
+ Properties in the camera may be constrained or have limited granularity.
+ This function reads back the actual property value and compares it to the target value.
+ An exception is thrown if the actual value is not within a specified percentage of the target value.
+
+ Lucam API camera handle.
+ Property.
+ Property value.
+ Property flags.
+ Percentage tolerance.
+ Actual property value.
+
+
+
+ Set a property value in the camera.
+ Properties in the camera may be constrained or have limited granularity.
+ This function reads back the actual property value and compares it to the target value.
+ An exception is thrown if the actual value is not within a specified percentage of the target value.
+ This function reads back the flags and compares them to the target value.
+ An exception is thrown if the actual value is not the same as the target.
+
+ Lucam API camera handle.
+ Property.
+ Property value.
+ Property flags.
+ Percentage tolerance.
+ Actual property value.
+
+
+
+ Set a property value in the camera.
+ Properties in the camera may be constrained or have limited granularity.
+ This function reads back the actual property value and compares it to the target value.
+ An exception is thrown if the actual value is not within 5% of the target value.
+
+ Lucam API camera handle.
+ Property.
+ Property value.
+ Property flags.
+ Actual property value.
+
+
+
+ Set a property value in the camera.
+ Properties in the camera may be constrained or have limited granularity.
+ This function reads back the actual property value and compares it to the target value.
+ An exception is thrown if the actual value is not within a specified percentage of the target value.
+ Sets property flags to 0.
+
+ Lucam API camera handle.
+ Property.
+ Property value.
+ Percentage tolerance.
+ Actual property value.
+
+
+
+ Set a property value in the camera.
+ Properties in the camera may be constrained or have limited granularity.
+ This function reads back the actual property value and compares it to the target value.
+ An exception is thrown if the actual value is not within 5% of the target value.
+ Sets property flags to 0.
+
+ Lucam API camera handle.
+ Property.
+ Property value.
+ Actual property value.
+
+
+
+ Set a property value in the camera.
+ Properties in the camera may be constrained or have limited granularity.
+ This function reads back the actual property value and compares it to the target value.
+ An exception is thrown if the actual value is not within a specified percentage of the target value.
+ This function reads back the flags and compares them to the target value.
+ An exception is thrown if the actual value is not the same as the target.
+
+ Lucam API camera handle.
+ Property.
+ Property value.
+ Property flags.
+ Actual property value.
+
+
+
+ Read the property flags.
+
+ Camera handle.
+ Property.
+ Property flags.
+
+
+
+ Set the property flags.
+
+ Camera handle.
+ Property.
+ Property flags.
+
+
+
+ Set and check the property flags.
+
+ Camera handle.
+ Property.
+ Property flags.
+
+
+
+ Reset specific property flags.
+
+ Lucam API camera handle.
+ Property.
+ Property flag(s).
+
+
+
+ Reset and check specific property flags.
+
+ Lucam API camera handle.
+ Property.
+ Property flag(s).
+
+
+
+ Set specific property flags.
+
+ Lucam API camera handle.
+ Property.
+ Property flag(s).
+
+
+
+ Set and check specific property flags.
+
+ Lucam API camera handle.
+ Property.
+ Property flag(s).
+
+
+
+ Test specific property flags.
+
+ Lucam API camera handle.
+ Property.
+ Property flag(s).
+
+
+
+ Test specific property flags.
+
+ Lucam API camera handle.
+ Property.
+ Property flag(s).
+
+
+
+ Test specific property flags.
+
+ Lucam API camera handle.
+ Property.
+ Property flag(s).
+ State to check for
+
+
+
+ Determine the endianness of the specified camera handle.
+
+ Lucam API camera handle.
+
+
+
+
+ Get the range of values applicable to a camera property.
+
+ Lucam API camera handle.
+ Property.
+ Property value range.
+
+
+
+ Get the default value for a property.
+
+ Lucam API camera handle.
+ Property.
+ Default.
+
+
+
+ Set the default value for a property.
+
+ Lucam API camera handle.
+ Property.
+
+
+
+ Set the default value for a property and check that it is set.
+
+ Lucam API camera handle.
+ Property.
+
+
+
+ Get the MAX_WIDTH and MAX_HEIGHT properties in a convenient form.
+
+ Lucam API camera handle.
+ Maximum resolution of the camera.
+
+
+
+ Get the aperture of the iris as an f/#.
+
+ Lucam API camera handle.
+ Aperture.
+
+
+
+ Set the aperture of the iris in f stops.
+
+ Lucam API camera handle.
+ Aperture (in f stops).
+
+
+
+ Get the BayerPatternType.
+
+ Lucam API camera handle.
+ BayerPatternType.
+
+
+
+ Get LucamProperty.CORRECTION_MATRIX.
+
+ Lucam API camera handle.
+ LucamProperty.CORRECTION_MATRIX
+
+
+
+ Get LucamProperty.DEMOSAICING_METHOD.
+
+ Lucam API camera handle.
+ LucamProperty.DEMOSAICING_METHOD
+
+
+
+ Get LucamProperty.COLOR_FORMAT.
+
+ Lucam API camera handle.
+ LucamProperty.DEMOSAICING_METHOD
+
+
+
+ Open a camera.
+
+
+ For LucamExternalInterface.USB2, it forces a reenumeration.
+ So, in that case, it isn't possible to reliably open a specific camera by index.
+ In that case, use LucamExternalInterface.USB3 which will also enumerate USB2 devices.
+
+ Camera number.
+ Camera handle.
+
+
+
+ Open a specific camera by serial number.
+ Not guaranteed reliable to use with LucamExternInterface.USB2. Use LucamInterface.USB3 instead.
+
+
+ Camera handle.
+
+
+
+ Close a camera.
+
+ Camera handle.
+
+
+
+ Reset a camera.
+
+ Camera handle.
+
+
+
+ Start a preview video stream.
+
+ Camera handle.
+
+
+
+ Start a preview video stream.
+
+ Camera handle.
+ Window handle for preview.
+
+
+
+ Start a preview video stream.
+
+ Camera handle.
+ Window handle for preview.
+
+
+
+ Stop a preview video stream.
+
+ Camera handle.
+
+
+
+ Controls the video stream.
+
+ Camera handle.
+ Control type.
+ Window handle.
+
+
+
+ Controls the video stream.
+
+ Camera handle.
+ Control type.
+ Window handle.
+
+
+
+ Get the status of the raw video data stream.
+
+ Lucam API camera handle.
+ dll.LucamStreamMode.START_STREAMING or STOP_STREAMING
+ Currently no way to determine if the stream is being displayed - i.e. if stream was started with START_DISPLAY.
+
+
+
+ Determine if the speccified camera is currently streaming.
+
+ Lucam API camera handle.
+
+
+
+
+ Returns the actual average displayed frame rate of the camera since previewing was started.
+
+ Camera handle.
+ average frame rate
+
+
+
+ Capture a frame from the video image preview.
+ Video preview should be running (see LucamStreamVideoControl()).
+
+ Camera handle.
+ The number of frames to take.
+ Raw image data byte array (the array must be big enough to store the raw image for the current camera settings).
+
+
+
+ Capture a frame from the video image preview.
+ Video preview should be running (see LucamStreamVideoControl()).
+
+ Camera handle.
+ The number of frames to take.
+ Raw image data ushort array (the array must be big enough to store the raw image for the current camera settings).
+
+
+
+ Capture a frame from the video image preview.
+ Video preview should be running (see LucamStreamVideoControl()).
+
+ Camera handle.
+ Raw image data byte array (the array must be big enough to store the raw image for the current camera settings).
+ Maximum duration to wait for a frame in milliseconds.
+ The number of bytes read
+
+
+
+ Capture a frame from the video image preview.
+ Video preview should be running (see LucamStreamVideoControl()).
+
+ Camera handle.
+ Raw image data ushort array (the array must be big enough to store the raw image for the current camera settings).
+ Maximum duration to wait for a frame in milliseconds.
+ The number of bytes read
+
+
+
+ Query the pixel format associated with a registered RGB preview callback.
+
+ Camera Handle.
+ the pixel format
+
+
+
+ Register an RGB frame event callback.
+ The callback will be called for each frame received from the camera.
+ If called after the stream is started the pixel format must match LucamQueryRgbPreviewPixelFormat().
+ If called before then it can be any format that is valid for the current pixel depth of the camera.
+ If the requested pixel format is not the default value there may be a data copy (minor performance cost).
+ Note that the image buffer is upside down and that the color values are in BGR order.
+
+ Camera handle.
+ Callback function.
+ Unique identifier passed to the callback function.
+ Pixel format.
+ Callback ID (for later removal of the callback - see LucamRemoveRgbPreviewCallback()). On error returns -1.
+
+
+
+ Deregister an RGB frame event callback.
+
+ Camera handle.
+ Callback ID (returned by LucamAddRgbPreviewCallback()).
+
+
+
+ Register a raw snapshot frame event callback.
+
+ Camera handle.
+ Callback function.
+ Unique identifier passed to the callback function.
+ Callback ID (for later removal of the callback - see LucamRemoveSnapshotCallback()). On error returns -1.
+
+
+
+ Deregister a snapshot raw frame event callback.
+
+ Camera handle.
+ Callback ID (returned by LucamAddSnapshotCallback()).
+
+
+
+ Register a raw stream video frame event callback.
+ The callback will be called for each frame received from the camera.
+
+ Camera handle.
+ Callback function.
+ Unique identifier passed to the callback function.
+ Callback ID (for later removal of the callback - see LucamRemoveRgbPreviewCallback()). On error returns -1.
+
+
+
+ Deregister a steam video raw frame event callback.
+
+ Camera handle.
+ Callback ID (returned by LucamAddStreamingPreviewCallback()).
+
+
+
+ Take a single still image using the camera's still imaging mode. If a video preview is active it will be automatically interrupted.
+
+ Camera handle.
+ Snapshot (still) image settings.
+ Image raw data byte array.
+
+
+
+ Take a single still image using the camera's still imaging mode. If a video preview is active it will be automatically interrupted.
+
+ Camera handle.
+ Snapshot (still) image settings.
+ Image raw data ushort array.
+
+
+
+ Enable fast frames (snapshot)
+
+
+
+
+
+
+ Enable fast frames (snapshot)
+
+
+
+
+
+
+ Disable fast frames (snapshot)
+
+
+
+
+
+ Disable fast frames (snapshot)
+
+
+
+
+
+ Take a snapshot. Must call EnableFastFrames() first.
+
+ Camera handle.
+ Image raw data byte array.
+
+
+
+ Take a snapshot. Must call EnableFastFrames() first.
+
+ Camera handle.
+ Image raw data ushort array.
+
+
+
+ Set snapshot trigger mode.
+
+ Camera handle.
+ True to use external hardware trigger.
+
+
+
+ Perform a one-shot white balance with error checking.
+
+ Camera handle.
+
+
+
+
+
+
+
+ Perform a one-shot white balance with error checking.
+
+ Camera handle.
+
+
+
+ Perform a single white balance adjustment to color gains.
+
+ Camera handle.
+ Ratio of red relative to green desired in result.
+ Ratio or blue relative to green desired in the result.
+ Auto white balance window x offset.
+ Auto white balance window y offset.
+ Auto white balance window width.
+ Auto white balance window height.
+
+
+
+ Perform a single white balance adjustment to color gains.
+
+ Camera handle.
+ Ratio of red relative to green desired in result.
+ Ratio or blue relative to green desired in the result.
+ Auto white balance window.
+
+
+
+ Perform a one-shot auto exposure with error checking and up to 3 retries.
+
+
+
+
+
+
+
+ Perform a single exposure adjustment to reach the specified luminance target as closely as possible.
+
+ Camera handle.
+ Luminance target (0-255).
+ Auto iris window x offset.
+ Auto iris window y offset.
+ Auto iris window width.
+ Auto iris window height.
+
+
+
+ Perform a single exposure adjustment to reach the specified luminance target as closely as possible.
+
+ Camera handle.
+ Luminance target (0-255).
+ Auto iris window.
+
+
+
+ Adjust the whitebalance based on a snapshot image.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adjust the whitebalance based on a snapshot image.
+
+
+
+
+
+
+
+
+
+
+ Initialize and calibrate the focus and iris positions of the camera lens
+
+ Camera handle.
+ Force a recalibration of the lens (if True)
+
+
+
+ Initialize the focus and iris positions of the camera lens.
+ No recalibration is done.
+
+ Camera handle.
+
+
+
+ Start an auto focus operation for an ROI.
+
+ Camera handle.
+ ROI x offset
+ ROI y offset
+ ROI width
+ ROI height
+ Callback function to receive progress updates.
+ Unique identifier passed to the callback function.
+
+
+
+ Start an auto focus operation for an ROI.
+
+ Camera handle.
+ Rectangle representing ROI and its dimensions
+ Callback function to receive progress updates.
+ Unique identifier passed to the callback function.
+
+
+
+ Wait for the auto focus operation to finish.
+
+ Camera handle.
+ How long to wait.
+
+
+
+ Stop an auto focus operation.
+
+ Camera handle.
+
+
+
+ Query the progress of an auto focus operation.
+
+ Camera handle.
+ percentage completed
+
+
+
+ Perform whitebalance with digital gains.
+
+ Camera handle.
+ x offset of region of interest
+ y offset of region of interest
+ width of region of interest
+ height of region of interest
+
+
+
+ Perform whitebalance with digital gains.
+
+ Camera handle.
+ region of interest
+
+
+
+ Perform whitebalance with digital gains.
+
+ Camera handle.
+ The red/green color ratio to target.
+ The blue/green color ration to target.
+ x offset of region of interest
+ y offset of region of interest
+ width of region of interest
+ height of region of interest
+
+
+
+ Perform whitebalance with digital gains.
+
+ Camera handle.
+ The red/green color ratio to target.
+ The blue/green color ration to target.
+ region of interest
+
+
+
+ Perform dual tap balancing on a raw image buffer.
+ The correction is done in situ.
+
+ Camera handle.
+ Raw image buffer (must be the correct size for the specified image format).
+ Image format specification (as returned by LucamGetImageForamt()).
+
+
+
+ Read a block of data from the persistent storage area in the camera.
+
+
+
+
+
+
+
+
+ Write a block of data to the persistent storage area in the camera.
+
+
+
+
+
+
+
+ Read internal camera registers.
+
+ Camera Handle.
+ Register address
+ Number of registers to read.
+ internal register value
+
+
+
+ Read one internal camera register at the address.
+
+ Camera Handle.
+ Register address
+ The register value
+
+
+
+ Write internal camera register.
+
+ Camera Handle.
+ Register address
+ Number of registers to write.
+ The array containing the register values.
+
+
+
+ Write one internal camera register at the address.
+
+ Camera Handle.
+ Register address
+ The values.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Image data byte array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+
+ The image frame.
+ Pixel format of the raw data buffer.
+ Image data byte array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Image data ushort array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+ False if there is an error.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+
+ The image frame.
+ Pixel format of the raw data buffer.
+ Image data ushort array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+ For LucamPixelFormat.PF_16, uses the endianness according to the camera handle.
+
+ Camera Handle.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Image data byte array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+ For LucamPixelFormat.PF_16, uses the endianness according to the camera handle.
+
+ Camera Handle.
+ The image frame.
+ Pixel format of the raw data buffer.
+ Image data byte array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+ For LucamPixelFormat.PF_16, uses the endianness according to the camera handle.
+
+ Camera Handle.
+ Width of the image frame (in pixels).
+ Height of the image frame (in pixels).
+ Pixel format of the raw data buffer.
+ Image data ushort array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+
+
+
+ Save an image to disk in the format according to the filename parameter's file extension (.jpg, .bmp, .tif, .raw).
+ For LucamPixelFormat.PF_16, uses the endianness according to the camera handle.
+
+ Camera Handle.
+ The image frame.
+ Pixel format of the raw data buffer.
+ Image data ushort array (the array must be big enough to store the raw image for the current camera settings).
+ The filename to save the image to.
+
+
+
+ Open an AVI file.
+
+ Name of the file.
+ A handle for subsequent LucamPreviewAVIxxx() calls.
+
+
+
+ Close a previously opened AVI File.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+
+
+
+ Control AVI playback.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ Streaming option.
+ Window handle when starting playback.
+
+
+
+ Controls the recording of the video stream to a file.
+
+ Camera handle.
+ Control type.
+ Name of file to record to.
+ Window handle.
+
+
+
+ Get the duration of an AVI file.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The duration of the file.
+
+
+
+ Get the frame count of the AVI file.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The number of frames in the AVI file.
+
+
+
+ Get the frame rate of the AVI file.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The frame rate of the AVI file.
+
+
+
+ Get the playback position of an AVI file.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The position.
+
+
+
+ Get the current position as a frame number.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The current frame number.
+
+
+
+ Set the current position by time.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The position to set.
+
+
+
+ Set the current position by frame number.
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ The desired frame number.
+
+
+
+ Returns the AVI file information
+
+ AVI handle returned by LucmPreviewAVIOpen().
+ Width of the image.
+ Height of the image.
+ Type of image.
+ Bit depth of the image.
+
+
+
+ Convert an AVI file to another format.
+
+ Camera Handle
+ Output file.
+ Input file.
+ Type to convert to.
+
+
+
+ Adjust the display window (created by LucamCreateDisplayWindow(), StreamVideoControl(START_DISPLAY) or StreamVideoStart()).
+
+ Camera handle.
+ Window title (pertains to LucamCreateDisplayWindow()).
+ Origin of the drawing rectangle relative to the top left corner of the window control.
+ Origin of the drawing rectangle relative to the top left corner of the window control.
+ Width to scale the image to.
+ Height to scale the image to.
+
+
+
+ Adjust the display window (created by LucamCreateDisplayWindow(), StreamVideoControl(START_DISPLAY) or StreamVideoStart()).
+
+ Camera handle.
+ Location of the drawing rectangle relative to the top left corner of the window control. Use (0,0) to display the top left pixel of the image in the top left corner of the image.
+ Location of the drawing rectangle.
+ Width to scale the image to. Use the image width to display the image at 100%
+ Height to scale the image to.
+
+
+
+ Adjust the display window (created by LucamCreateDisplayWindow(), StreamVideoControl(START_DISPLAY) or StreamVideoStart()).
+
+ Camera handle.
+ Window title (pertains to LucamCreateDisplayWindow()).
+
+ Drawing rectangle. The Location specifies the top left corner of the drawing rectangle relative
+ to the top left corner of the window control. The Size specifies the dimensions to scale the image to.
+
+
+
+
+ Adjust the display window (created by LucamCreateDisplayWindow(), StreamVideoControl(START_DISPLAY) or StreamVideoStart()).
+
+ Camera handle.
+
+ Display rectangle. The Location specifies the top left corner of the drawing rectangle relative
+ to the top left corner of the window control. The Size specifies the dimensions to scale the image to.
+
+
+
+
+ Adjust the display window (created by LucamCreateDisplayWindow(), StreamVideoControl(START_DISPLAY) or StreamVideoStart()).
+
+ Camera handle.
+ Window title (pertains to LucamCreateDisplayWindow()).
+
+ The top left corner of the drawing rectangle relative to the top left corner of the window control.
+ Use (0,0) to display the top left pixel of the image in the top left corner of the image.
+
+ The dimensions to scale the image to. Use the image size to display at 100%.
+
+
+
+ Adjust the display window (created by LucamCreateDisplayWindow(), StreamVideoControl(START_DISPLAY) or StreamVideoStart()).
+
+ Camera handle.
+
+ The top left corner of the drawing rectangle relative to the top left corner of the window control.
+ Use (0,0) to display the top left pixel of the image in the top left corner of the image.
+
+ The dimensions to scale the image to. Use the image size to display at 100%.
+
+
+
+ Adjust the display window (created by LucamCreateDisplayWindow(), StreamVideoControl(START_DISPLAY) or StreamVideoStart()).
+
+ Camera handle.
+ Window title (pertains to LucamCreateDisplayWindow()).
+ The pixel coordinate to be displayed at the top left corner of the window.
+ The pixel coordinate to be displayed at the top left corner of the window.
+ The zoom factor (1.0 is 1:1).
+
+
+
+ Adjust the display window (created by LucamCreateDisplayWindow(), StreamVideoControl(START_DISPLAY) or StreamVideoStart()).
+
+ Camera handle.
+ The pixel coordinate to be displayed at the top left corner of the window.
+ The pixel coordinate to be displayed at the top left corner of the window.
+ The zoom factor (1.0 is 1:1).
+
+
+
+ Adjust the display window (created by LucamCreateDisplayWindow(), StreamVideoControl(START_DISPLAY) or StreamVideoStart()).
+
+ Camera handle.
+ Window title (pertains to LucamCreateDisplayWindow()).
+ The pixel coordinate to be displayed at the top left corner of the window.
+ The zoom factor (1.0 is 1:1).
+
+
+
+ Adjust the display window (created by LucamCreateDisplayWindow(), StreamVideoControl(START_DISPLAY) or StreamVideoStart()).
+
+ Camera handle.
+ The pixel coordinate to be displayed at the top left corner of the window.
+ The zoom factor (1.0 is 1:1).
+
+
+
+ Create a display window.
+ The window is managed by the API.
+ It can be destroyed by calling LucamDestroyDisplayWindow().
+
+ Camera handle.
+ Window title.
+ Window style.
+ x offset (pan) of leftmost displayed pixel.
+ y offset (pan) of topmost displayed pixel.
+ Number of pixels to display in the window (zoom).
+ Number of pixels to display in the window (zoom).
+ Parent window ID.
+ Child menu ID.
+
+
+
+ Create a display window.
+ The window is managed by the API.
+ It can be destroyed by calling LucamDestroyDisplayWindow().
+
+ Camera handle.
+ Window title.
+ Window style.
+ Region of interest.
+ Parent window ID.
+ Child menu ID.
+
+
+
+ Destroys the display window created by LucamCreateDisplayWindow().
+
+ Camera handle.
+
+
+
+ Send preview window mouse events to the application. Must be called each time display is started
+ with StreamVideoStart().
+
+ Camera handle.
+ Window handle used in LucamStreamVideoControl() to start the preview display.
+
+
+
+ Send preview window mouse events to the application. Must be called each time display is started
+ with StreamVideoStart().
+
+ Camera handle.
+ Window handle used in LucamStreamVideoControl() to start the preview display.
+
+
+
+ Display DirectX Property page
+
+ Camera handle.
+ Window handle of parent window.
+
+
+
+ Display DirectX Video Format page
+
+ Camera handle.
+ Window handle of parent window.
+
+
+
+ Configure direction of General Purpose I/O bits.
+
+ Camera handle.
+ Bit flags corresponding to settings for each General Purpose Output. A bit value of 1 means output.
+
+
+
+ Read the state of the General Purpose I/O registers.
+
+ Camera handle.
+ General Purpose Output bit values.
+ General Purpose Input bit values.
+
+
+
+ Read the state of the General Purpose I/O registers.
+
+ Camera handle.
+ byte array holding GPIO registers
+
+
+
+ Manually modify the state of General Purpose Outputs. Note that GPO bits must be enable to use this function via LucamGpoSelect().
+
+ Camera handle.
+ General Purpose Outputs.
+
+
+
+ Configure the alternate General Purpose Output mode.
+
+ Camera handle.
+ Bit flags corresponding to settings for each General Purpose Output. A bit value of 1 means the bit can be controlled via LucamGpioWrite().
+
+
+
+ Get the current color correction matrix.
+
+ Camera handle
+ 3x3 color correction matrix.
+
+
+
+ Setup a custom color correction matrix.
+
+ Camera handle
+ 3x3 color correction matrix.
+
+
+
+ Set up synchronous snapshots.
+
+ The number of cameras to synchronize.
+ Array of camera handles.
+ Array of LucamSnapshot structs.
+ synchronous snapshot handle (for use with TakySyncSnapshots).
+
+
+
+ Take synchronous snapshots.
+
+ Synchronous snapshot handle (from EnableSyncSnapshots).
+
+ Array of raw image buffers for the snapshot images.
+ These buffers must correspond in size to the LucamFrameFormat for that camera.
+ The byte[][] type is a sparse array (an array of arrays) which requires that each of the first dimension (leftmost index)
+ be initialized with a byte array (e.g. new byte[imageSize]). This approach allows the buffers to vary in size according to
+ the camera type and settings in use for each camera.
+
+
+
+
+ Release the synchronous snapshot handle.
+
+ Synchronous snapshot handle (from EnableSyncSnapshots).
+
+
+
+ Build a high resolution RGB image.
+
+ Camera handle.
+ A frame format structure as returned by LucamGetFormat().
+ The buffer size must be big enough for the high res image (24bpp).
+ Converion mode. Note that this determines the output image resolution.
+
+
+
+
+ Build a high resolution RGB image.
+
+ Camera handle.
+ A frame format structure as returned by LucamGetFormat().
+ Converion mode. Note that this determines the output image resolution.
+
+
+
+ Get the IP configuration of a camera and its host.
+
+ Index of the camera.
+ Returns a LgcamIPConfiguration structure that holds the mac addresses
+ and IP information for the camera and host.
+
+
+
+ Set the IP configuration of a camera.
+
+ Index of the camera.
+ The IP address of the camera.
+ The Subnet Mask of the camera.
+ The Default Gateway of the camera.
+
+
+
+ Structure containing mac addresses of the camera and host computer, and their IP configurations.
+
+
+
+
+ The mac address of the camera.
+
+
+
+
+ The mac address of the host computer.
+
+
+
+
+ The IP address of the camera.
+
+
+
+
+ The SubnetMask of the camera.
+
+
+
+
+ The DefaultGateway of the camera.
+
+
+
+
+ The IP address of the host.
+
+
+
+
+ The SubnetMask of the host.
+
+
+
+
+ The DefaultGateway of the host.
+
+
+
+
+ Defines a rectangular object in 2D Euclidean geometry.
+
+
+
+
+ Zero argument constructor.
+
+
+
+
+ Create a Rectangle with the given coordinates and dimensions.
+
+
+
+
+
+
+
+
+ Create a Rectangle with the given coordinates and dimensions.
+
+
+
+
+
+
+ Create a Rectangle with the given coordinates and dimensions.
+
+
+
+
+
+
+ Create a Rectangle with the given size (assumes an origin of 0,0).
+
+
+
+
+
+ Clone a Rectangle.
+
+
+
+
+
+ Copy a System.Drawing.Rectangle.
+
+
+
+
+
+ Compare two objects by value.
+
+
+
+
+
+
+
+ Compare two objects by value.
+
+
+
+
+
+
+
+ Implicitly convert a Rectangle to a System.Drawing.Rectangle so it can be passed transparently to System.Drawing functions.
+
+
+
+
+
+
+ Format a user readable string.
+
+
+
+
+
+ Compare this object with another.
+
+
+
+
+
+
+ Calculate a hash value for this object.
+
+
+
+
+
+ Deflate a rectangle by the specified margins.
+
+
+
+
+ Determine if this rectangle intersects another rectangle.
+
+
+
+
+
+
+ Deterimine if this rectangle contains a point.
+
+
+
+
+
+
+ Calculate the closest distance between two rectangles.
+
+
+
+
+
+
+ The x coodinate of the top left corner.
+
+
+
+
+ The y coordinate of the top left corner.
+
+
+
+
+ The width.
+
+
+
+
+ THe height.
+
+
+
+
+ The location (x,y).
+
+
+
+
+ The size (width, height).
+
+
+
+
+ The top (y).
+
+
+
+
+ The bottom (y + height).
+
+
+
+
+ The left (x).
+
+
+
+
+ The right (x + width).
+
+
+
+
+ Find the geometric center.
+
+
+
+
+
+ Calculate the area of a Rectangle.
+
+
+
+
+
+ Defines the size of a rectangular object in 2D Euclidean Geometry.
+
+ A struct so that we can use explicit layout. Also, don't anticipate needing to subclass.
+
+
+
+ An empty (uninitialized object).
+
+
+
+
+ Create a Size with the given width and height.
+
+
+
+
+
+
+ Create a Size with the given width and height, rounded to the nearest integer.
+
+
+
+
+
+
+ Create a Size from a System.Drawing.Size.
+
+
+
+
+
+ Add a size to another size.
+
+
+
+
+
+
+
+ Add a size to another size.
+
+
+
+
+
+
+
+ Subtract a size from another size.
+
+
+
+
+
+
+
+ Subtract a size from another size.
+
+
+
+
+
+
+
+ Subtract a Margin's size from a Size.
+
+
+
+
+
+
+
+ Subtract a Margin's size from a Size.
+
+
+
+
+
+
+
+ Subtract a size from another size.
+
+
+
+
+
+
+
+ Add a size to another size.
+
+
+
+
+
+
+
+ Multiply the height and width by a value.
+
+
+
+
+
+
+
+ Multiply the height and width by a value.
+
+
+
+
+
+
+
+ Divide the height and width by a value.
+
+
+
+
+
+
+
+ Compare two objects by value.
+
+
+
+
+
+
+
+ Compare two objects by value.
+
+
+
+
+
+
+
+ Implicitly convert a Size to a System.Drawing.Size so it can be passed transparently to System.Drawing functions.
+
+
+
+
+
+
+ Format a user readable string.
+
+
+
+
+
+ Format a user readable string.
+
+
+
+
+
+ Compare this object with another.
+
+
+
+
+
+
+ Calculate a hash value for this object.
+
+
+
+
+
+ The width.
+
+
+
+
+ THe height.
+
+
+
+
+ Check for an ininitialized Size (since it is a value object).
+
+
+
+
+ Find the center of a rectangular area with this Size.
+
+
+ Note that this would more conveniently be a property but that we can have extension properties.
+
+
+
+ Calculate the area of a rectangular area with this size.
+
+
+ Note that this would more conveniently be a property but that we can have extension properties.
+
+
+
+ Format just the color information unlike ToString() which also formats the alpha channel value.
+
+
+
+
+
+
+ A VideoPanel that supports DirectX drawing from the LuCamApi. The main task is synchronizing the
+ DirectX drawing area with the VideoBox control. Assigning a static image to Image automatically
+ suppresses the live preview.
+
+
+
+
+ A container for a VideoBox to provide scroll bars and scrolling related features.
+ - comprehensive zoom, pan options (drag pan, key pan, mousewheel zoom, key zoom, context menu)
+ - custom cursor while mouse is over image.
+
+
+
+
+ Set the ZoomFactor to display the full image (retaining it's aspect ratio).
+
+
+
+
+ Translate mouse coordinates to image coordinates.
+
+ Mouse position.
+ Image position.
+
+
+
+ Refresh the image without invalidating the rest of the VideoPanel.
+
+
+
+
+ Processing of Windows messages is synchronous (single thread) but not guaranteed to be in a certain order.
+ When the events happen slowly the cascade of events for one zoom/scroll step get a chance to complete before
+ the next one starts. If they happen faster (autorepeat keystrokes, fast mouse wheel) a message from a
+ subsequent repeat may be processed before processing of the current repeat is finished.
+
+
+
+
+ Zoom keeping specified point at the same mouse coordinates.
+
+
+
+
+
+
+ Stop the active control from jumping to (0,0) when the form gains control.
+ This was also a bitch to figure out. I ended up overriding everything that sounded like it might happen when a form gains focus till I found out which fn was responsible.
+
+
+
+
+
+
+ Required designer variable.
+
+
+
+
+ Clean up any resources being used.
+
+ true if managed resources should be disposed; otherwise, false.
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ The drawing area relative to the internal VideoBox client area (which scales according to the
+ SizeMode and ZoomFactor). In combination with ImageSize, determines everything about
+ drawing the image and annotation on image overlays.
+ See also DrawingOrigin, DrawingZoomX, DrawingZoomY.
+
+
+
+
+ The drawing origin relative to the internal VideoBox client area. Typically used with
+ DrawingZoomX and DrawingZoomY by application software to align drawing of image annotation
+ with the iamge.
+
+
+
+
+ The effective X zoom ratio for all SizeModes. The X and Y zoom ratio is the same for all
+ SizeModes except StretchImage. Typically used with DrawingOrigin and DrawingZoomY by
+ application software to align drawing of image annotation with the iamge.
+
+
+
+
+ The effective Y zoom ratio for all SizeModes. The X and Y zoom ratio is the same for all
+ SizeModes except StretchImage. Typically used with DrawingOrigin and DrawingZoomX by
+ application software to align drawing of image annotation with the iamge.
+
+
+
+
+ Initialize the FormMove event handler.
+
+
+
+
+ Paint function for overlay annotation. Note that the drawing origin is automatically adjusted to match the top, left corner
+ of the image for all SizeModes. The paint function needs to handle the DisplayZoomZ and DisplayZoomY. Note that the
+ overlay is not automatically cleared. Normally, the first action in the paint function should be to clear it.
+
+
+
+
+
+ Bind the camera to the video panel.
+
+
+
+
+
+ Rebind the camera to the video panel, e.g. after a disconnect or change in format.
+
+
+
+
+
+ Open an ImageStream for synchronous image processing via SynchronousProcessingFunctions(ImageProcessingFunction).
+
+
+
+
+ Open an ImageStream for safe asynchronous WinForms image processing.
+
+
+ The FrameProcessingFunction will run in the WinForms GUI thread and does
+ not need to worry about any thread safety issues.
+
+ A control that can be used as the target of Invoke().
+ The asynchronous frame handler.
+
+
+
+ Open an ImageStream for synchronous image processing.
+ The FrameProcessingFunction runs in the API thread and must be written
+ in a threadsafe manner. It cannot interact directly with a WinForms GUI.
+
+
+
+
+ Invoke an image frame to the delegate provided in the constructor.
+ Calculate the effective framerate.
+ Delivery is asynchronous. All implementations of LiveImageStream must support locking of the data buffers
+ via HoldFrame() and ReleaseFrame() or by copying the data buffer. Subsequent frames will be ignored until
+ the asyncronous delegate completes.
+
+ FrameType of the image data.
+ The image object of the indicated image type.
+ Size (in bytes) of the image data.
+ Resource identifier later passed to DisposeFrame().
+
+
+
+ Is the asynchronous data buffer a pipeline buffer that supports altering (filtering) the data input to the next stage of the processing pipeline.
+
+
+
+
+ Is the synchronous data buffer a pipeline buffer that supports altering (filtering) the data input to the next stage of the processing pipeline.
+
+
+
+
+ Raw processing function. Runs in the context of the raw stream which may be a different thread than the GUI so not allowed to interact directly with GUI.
+ Processing will affect the framerate if it isn't finished when the next frame is ready.
+ Useful when there are calculations that need to be done at the full framerate and the asynchronous processing might take too much time to be
+ performed on every frame.
+
+
+
+
+ Image Processing Functions that will be run in order.
+
+
+
+
+ The previous image (for time variant measurements.)
+
+
+
+
+ An option to control whether or not PreviousImage is supported.
+ Turning this option off saves an image copy per frame.
+
+
+
+
+ Supports data analysis and image filters.
+ Like Lumenera.USB.dll.LucamAddRgbPreviewCallback, this is Windows BGR format, last row first.
+
+
+
+
+ Supports image filters (writable) and zero copies.
+
+
+
+
+ An extended PictureBox with the following features:
+ - Zoom (in AutoSize mode).
+ - Uses blocky pixels so individual pixels can be observed at high zoom ratios and
+ high quality interpolation for zoom < 1 for good image rendering, even of raw bayer images.
+ - Optimized for frequent Image updates (e.g. a video stream).
+ - Fixes bugs in PictureBox painting, particularly with high resolution images.
+ - Adds MouseImageMove to give the coordinate under the mouse while moving.
+ - Adds MouseImageEnter/Leave for when the mouse enters/leaves the image.
+
+ To get scrollbars, put a VideoBox/PictureBox in a Panel, use AutoSize mode, set panel to AutoScroll.
+
+
+
+
+ Translate client rectangle location to image coordinates.
+
+ Mouse position.
+ Image position.
+
+
+
+ Buffering inside the PictureBox paint code can fail with large images/zoom factors.
+ Just draw the image by brute force when this happens.
+ Note that turning off double buffering seems to prevent this error from happening.
+
+
+
+
+
+ Required designer variable.
+
+
+
+
+ Clean up any resources being used.
+
+ true if managed resources should be disposed; otherwise, false.
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Zoom factor for AutoSize mode.
+
+
+
+
+ Size of Image or, in the absence of an image (Image is null), a size provided
+ by the application, for example, when DirectX is drawing the image externally.
+ Should be reset to Size.Empty when the application is no longer drawing (or the background
+ will not update properly).
+ Note that this is the image dimensions, not the display dimensions. For display
+ information, see DrawingRectangle, ZoomX, ZoomY.
+
+
+
+
+ The drawing area relative to the VideoBox client area (which scales according to the
+ SizeMode and ZoomFactor). In combination with ImageSize, determines everything about
+ drawing the image and annotation on image overlays.
+ See also DrawingOrigin, DrawingZoomX, DrawingZoomY.
+
+
+
+
+ The drawing origin relative to the VideoBox client area. Typically used with
+ DrawingZoomX and DrawingZoomY by application software to align drawing of image annotation
+ with the iamge.
+
+
+
+
+ The effective X zoom ratio for all SizeModes. The X and Y zoom ratio is the same for all
+ SizeModes except StretchImage. Typically used with DrawingOrigin and DrawingZoomY by
+ application software to align drawing of image annotation with the iamge.
+
+
+
+
+ The effective Y zoom ratio for all SizeModes. The X and Y zoom ratio is the same for all
+ SizeModes except StretchImage. Typically used with DrawingOrigin and DrawingZoomX by
+ application software to align drawing of image annotation with the iamge.
+
+
+
+
+ Offsets for each of the 4 colors in a Bayer pattern.
+
+
+
+
+ Support for interpreting Bayer image data.
+ Specifically, what is the color of the raw pixel at a specific image coordinate.
+
+
+
+
+ Initialize a BayerPattern object for one of the 4 possible patterns for a subwindowed raw image.
+
+ One of the four possible ImageBayerPatterns.
+ Location of the subwindow.
+ Location of the subwindow.
+
+
+
+ Initialize a BayerPattern object for one of the 4 possible patterns for a subwindowed raw image.
+
+ One of the four possible ImageBayerPatterns.
+ Location of the subwindow.
+
+
+
+ Initialize a BayerPattern object for one of the 4 possible patterns.
+
+
+
+
+
+ Determine which of the 4 possible bayer patterns correspond to the specified BayerColorOffsets
+
+ The BayerColorOffsets.
+ The Bayer pattern.
+
+
+
+ Get the color offsets for each of the 4 colors in the bayer pattern associated with one of the 4 possible patterns.
+
+
+
+
+
+
+ Get the color offsets for each of the 4 colors in the bayer pattern associated with one of the 4 possible patterns.
+
+
+ Location of the subwindow.
+ Location of the subwindow.
+
+
+
+
+ Redraws the overlay when the origin or size of the overlay form changes.
+ For moves, just change the form's location.
+
+ The Bitmap to apply onto the parent control
+
+
+
+ Allows form to be transparent
+ See http://msdn.microsoft.com/en-us/library/ms997507.aspx
+
+
+
+
+ Location of the top, left pixel in the original camera raw image.
+
+
+
+
+ Bayer pattern corresponding to the SubWindowOrigin.
+
+
+
+
diff --git a/TIASshot/packages.config b/TIASshot/packages.config
new file mode 100644
index 0000000..83f0b5d
--- /dev/null
+++ b/TIASshot/packages.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file