using LB_SmartVisionCameraSDK.PHM6000;
using LB_SmartVisionCommon;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Security.Permissions;
using System.Text;
using System.Threading.Tasks;
namespace LB_SmartVisionCameraDevice.PHM6000
{
///
/// PHM6000Sensor配置参数类
///
[JsonObject(MemberSerialization.OptOut)]
public class PHM6000SensorConfig
{
[Category("点云设置"), PropertyOrder(39)]
[DisplayName("ZROI")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public EnumZDirectionRoi ZDirectionRoi { get; set; } //ZROI
[Category("点云设置"), PropertyOrder(40)]
[DisplayName("Filter")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
public EnumFilter Filter { get; set; } //Filter
[Category("点云设置"), PropertyOrder(41)]
[DisplayName("MeanFilterWindowSize")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public EnumMeanFilterWindowSize MeanFilterWindowSize { get; set; } //MeanFilterWindowSize
[Category("点云设置"), PropertyOrder(42)]
[DisplayName("MedianFilterWindowSize")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public EnumMedianFilterWindowSize MedianFilterWindowSize { get; set; } //MedianFilterWindowSize
[Category("点云设置"), PropertyOrder(43)]
[DisplayName("GapFilling")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
public int GapFilling { get; set; } //GapFilling
[Category("点云设置"), PropertyOrder(44)]
[DisplayName("GapFillingEdgePreservation")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
public int GapFillingEdgePreservation { get; set; } //GapFilling
[Category("点云设置"), PropertyOrder(45)]
[DisplayName("降采样")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public EnumDownsampling Downsampling { get; set; } = EnumDownsampling.X1;
[Category("点云设置"), PropertyOrder(46)]
[DisplayName("重采样")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
public EnumResampling Resampling { get; set; } = EnumResampling.Nearest;
[Category("点云设置"), PropertyOrder(47)]
[DisplayName("重采样边缘保持")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Range(0, 1)]
[Browsable(false)]
public int ResamplingEdgePreservation { get; set; }
[Category("点云设置"), PropertyOrder(48)]
[DisplayName("启用 Z 轴对齐")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public bool EnableZAxisAlignment { get; set; }
[Category("点云设置"), PropertyOrder(49)]
[DisplayName("启用 X 轴对齐")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public bool EnableXAxisAlignment { get; set; }
[Category("点云设置"), PropertyOrder(50)]
[DisplayName("启用盲点过滤")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public bool EnableBlindSpotFiltering { get; set; }
[Category("点云设置"), PropertyOrder(51)]
[DisplayName("启用噪声消除")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public bool EnableNoiseRemoval { get; set; }
[Category("点云设置"), PropertyOrder(52)]
[DisplayName("噪声去除强度")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public EnumNoiseRemovalIntensity NoiseRemovalIntensity { get; set; }
[Category("轮廓线兴趣区型"), PropertyOrder(53)]
[DisplayName("XOZ-ROI")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public LBProfileROI ROI { get; set; } //ROI
[Category("相机属性"), PropertyOrder(54)]
[DisplayName("NameIdMax")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public int NameIdMax { get; set; } //NameIdMax
[Category("触发设置"), PropertyOrder(0)]
[DisplayName("数据采集触发源")]
[Permission(typeof(CameraUserRole), CameraUserRole.Primary)]
public EnumDataAcquisitionTriggerSource DataAcquisitionTriggerSource { get; set; } = EnumDataAcquisitionTriggerSource.软触发; //数据采集触发源:0=Software,1=External
[Category("触发设置"), PropertyOrder(1)]
[DisplayName("行扫描触发源")]
[Permission(typeof(CameraUserRole), CameraUserRole.Primary)]
public EnumLineScanTriggerSource LineScanTriggerSource { get; set; } = EnumLineScanTriggerSource.固定频率; //如果选择固定频率下面只有一个频率值 ,否则显示触发方向、触发信号计数模式、触发间隔
[Category("触发设置"), PropertyOrder(2)]
[DisplayName("触发频率")]
public float SoftwareTriggerRate { get; set; } = 1000; //触发频率
[Category("触发设置"), PropertyOrder(3)]
[DisplayName("最大扫描速率")]
[Browsable(false)]
[IsCustom]
public float MaxScanRate { get; set; } //最大扫描速率
[Category("触发设置"), PropertyOrder(4)]
[DisplayName("触发延迟")]
public int TriggerDelay { get; set; } //触发延迟
[Category("触发设置"), PropertyOrder(5)]
[DisplayName("触发方向")]
[Permission(typeof(CameraUserRole), CameraUserRole.Primary)]
public EnumEncoderTriggerDirection EncoderTriggerDirection { get; set; } = EnumEncoderTriggerDirection.双向; //触发方向
[Category("触发设置"), PropertyOrder(6)]
[DisplayName("触发信号计数模式")]
[Permission(typeof(CameraUserRole), CameraUserRole.Primary)]
public EnumEncoderTriggerSignalCountingMode EncoderTriggerSignalCountingMode { get; set; } = EnumEncoderTriggerSignalCountingMode.X4; //触发信号计数模式
[Category("触发设置"), PropertyOrder(7)]
[DisplayName("触发间隔")]
[Permission(typeof(CameraUserRole), CameraUserRole.Primary)]
public int EncoderTriggerInterval { get; set; } = 100; //触发间隔
[Category("行扫描设置"), PropertyOrder(8)]
[DisplayName("扫描行数")]
[Permission(typeof(CameraUserRole), CameraUserRole.Primary)]
public int ScanLineCount { get; set; } = 5000; //扫描行数
[Category("行扫描设置"), PropertyOrder(9)]
[DisplayName("每个配置文件的数据点数")]
[Permission(typeof(CameraUserRole), CameraUserRole.Primary)]
[Browsable(false)]
[IsCustom]
public int DataPointsPerProfile { get; set; } = 50000 * 4096; //每个配置文件的数据点数
[Category("行扫描设置"), PropertyOrder(10)]
[DisplayName("曝光延迟")]
[Permission(typeof(CameraUserRole), CameraUserRole.Primary)]
[IsCustom]
public int ExposureDelay { get; set; } = 0; //曝光延迟
[Category("行扫描设置"), PropertyOrder(11)]
[DisplayName("批量检索超时")]
[Permission(typeof(CameraUserRole), CameraUserRole.Primary)]
[Browsable(false)]
public int BatchRetrievalTimeout { get; set; } = 4000;
[Category("行扫描设置"), PropertyOrder(12)]
[DisplayName("超时时间")]
[Permission(typeof(CameraUserRole), CameraUserRole.Primary)]
public int CallbackRetrievalTimeout { get; set; } = 4000;
[Category("点云设置"), PropertyOrder(13)]
[DisplayName("X轴分辨率")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
public float XAxisResolution { get; set; } = 105f;
[Category("点云设置"), PropertyOrder(14)]
[DisplayName("Y轴分辨率")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
public float YResolution { get; set; } = 105f; //YAxisResolution
[Category("点云设置"), PropertyOrder(15)]
[DisplayName("倾斜校正角度")]
[Browsable(false)]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public float TiltCorrectionAngle { get; set; } //TiltCorrectionAngle
[Category("点云设置"), PropertyOrder(16)]
[DisplayName("高度校正比")]
[Browsable(false)]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public float HeightCorrectionRatio { get; set; } //HeightCorrectionRatio
[Category("点云设置"), PropertyOrder(17)]
[DisplayName("坐标变换")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
[IsCustom]
public float[] CoordinateTransformation { get; set; } //CoordinateTransformation
[Category("轮廓线提取"), PropertyOrder(18)]
[DisplayName("最小灰度")]
[Description("最小灰度")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public int MinGrayscaleValue { get; set; } //最小灰度
[Category("轮廓线提取"), PropertyOrder(19)]
[DisplayName("提取点最小强度")]
[Description("提取点最小强度")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public int MinSpotIntensity { get; set; } //
[Category("轮廓线提取"), PropertyOrder(20)]
[DisplayName("提取点最大强度")]
[Description("提取点最大强度")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public int MaxSpotIntensity { get; set; } //
[Category("轮廓线提取"), PropertyOrder(21)]
[DisplayName("阈值")]
[Description("阈值")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[IsCustom]
public int ProductThresholdValues { get; set; } //
[Category("轮廓线提取"), PropertyOrder(22)]
[DisplayName("激光线最小宽度")]
[Description("激光线最小宽度")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public int MinLaserLineWidth { get; set; } //激光线最小宽度
[Category("轮廓线提取"), PropertyOrder(23)]
[DisplayName("激光线最大宽度")]
[Description("激光线最大宽度")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public int MaxLaserLineWidth { get; set; } //激光线最大宽度
[Category("轮廓线提取"), PropertyOrder(24)]
[DisplayName("提取点选择")]
[Description("提取点选择")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public EnumSpotSelection SpotSelection { get; set; } //提取点选择
[Category("轮廓线提取"), PropertyOrder(25)]
[DisplayName("边缘选择")]
[Description("边缘选择")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public EnumEdgeSelection EdgeSelection { get; set; }
[Category("轮廓线提取"), PropertyOrder(26)]
[DisplayName("最小锐度")]
[Description("最小锐度")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
public int MinSharpness { get; set; }
[Category("轮廓线提取"), PropertyOrder(27)]
[DisplayName("亮度调节")]
[Description("亮度调节")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
public EnumBrightnessAdjustment BrightnessAdjustment { get; set; }
[Category("传感器参数"), PropertyOrder(28)]
[DisplayName("曝光模式")]
[Description("曝光模式")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
public EnumExposureMode ExposureMode { get; set; } = EnumExposureMode.Timed;
[Category("传感器参数"), PropertyOrder(29)]
[DisplayName("曝光时间")]
[Description("曝光时间")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public int ExposureTime { get; set; }//曝光时间
[Category("传感器参数"), PropertyOrder(30)]
[DisplayName("产品曝光时间")]
[Description("曝光时间")]
[Permission(typeof(CameraUserRole), CameraUserRole.Master)]
[Browsable(false)]
[IsCustom]
public int ProductExpTime { get; set; } //曝光时间
[Category("传感器参数"), PropertyOrder(31)]
[DisplayName("hdr调节1")]
[Description("hdr调节1")]
[Range(0, 100)]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
[IsCustom]
public int HdrExposureTimeProportion1 { get; set; } //hdr调节1
[Category("传感器参数"), PropertyOrder(32)]
[DisplayName("hdr调节2")]
[Description("hdr调节2")]
[Range(0, 100)]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
[IsCustom]
public int HdrExposureTimeProportion2 { get; set; } //hdr调节2
[Category("传感器参数"), PropertyOrder(33)]
[DisplayName("hdr阈值1")]
[Description("hdr阈值")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
[IsCustom]
public int HdrFirstThreshold { get; set; } //hdr阈值
[Category("传感器参数"), PropertyOrder(34)]
[DisplayName("hdr阈值2")]
[Description("hdr阈值")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
[IsCustom]
public int HdrSecondThreshold { get; set; } //hdr阈值2
[Category("传感器参数"), PropertyOrder(35)]
[DisplayName("模拟增益")]
[Description("模拟增益")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
public EnumAnalogGain AnalogGain { get; set; } //模拟增益
[Category("传感器参数"), PropertyOrder(36)]
[DisplayName("模拟增益6030")]
[Description("模拟增益6030")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
public EnumAnalogGainFor6030 AnalogGainFor6030 { get; set; } //模拟增益for6030
[Category("传感器参数"), PropertyOrder(37)]
[DisplayName("数字增益")]
[Description("数字增益")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
[Browsable(false)]
public int DigitalGain { get; set; } //数字增益
[Category("传感器参数"), PropertyOrder(38)]
[DisplayName("激光功率")]
[Description("激光功率")]
[Permission(typeof(CameraUserRole), CameraUserRole.Expert)]
public int LaserPower { get; set; } //激光功率
#region 轮廓线标定
[Category("PARAM_BAR"), PropertyOrder(60)]
[DisplayName("Height")]
[Browsable(false)]
[IsCustom]
public float BarHeight { get; set; } = 2;
[Category("PARAM_BAR"), PropertyOrder(61)]
[DisplayName("Width")]
[Browsable(false)]
[IsCustom]
public float BarWidth { get; set; } = 35;
[Category("PARAM_BAR"), PropertyOrder(62)]
[DisplayName("HoleCount")]
[Browsable(false)]
[IsCustom]
public int BarHoleCount { get; set; }
[Category("PARAM_BAR"), PropertyOrder(63)]
[DisplayName("HoleDiameter")]
[Browsable(false)]
[IsCustom]
public float BarHoleDiameter { get; set; }
[Category("PARAM_BAR"), PropertyOrder(64)]
[DisplayName("HoleDistance")]
[Browsable(false)]
[IsCustom]
public float BarHoleDistance { get; set; }
[Category("PARAM_BAR"), PropertyOrder(65)]
[DisplayName("DOF")]
[Browsable(false)]
[IsCustom]
public int BarDOF { get; set; }
[Category("测量目标物参数设置"), PropertyOrder(66)]
[DisplayName("M")]
[Browsable(false)]
[IsCustom]
public int nPartitionX { get; set; }//M
[Category("测量目标物参数设置"), PropertyOrder(67)]
[DisplayName("N")]
[Browsable(false)]
[IsCustom]
public int nPartitionY { get; set; }//N
#endregion
#region 平面标定
protected const string ROIInfo = "标定ROI数据";
protected const string CameraInfo = "相机安装参数";
[Category(ROIInfo), PropertyOrder(80)]
[DisplayName("平面区")]
[Browsable(false)]
[IsCustom]
public string Plane { get; set; } = "0,0,0,0";
[Category(ROIInfo), PropertyOrder(81)]
[DisplayName("孔区1")]
[Browsable(false)]
[IsCustom]
public string Hole1 { get; set; } = "0,0,0,0";
[Category(ROIInfo), PropertyOrder(82)]
[DisplayName("孔区2")]
[Browsable(false)]
[IsCustom]
public string Hole2 { get; set; } = "0,0,0,0";
[Category(ROIInfo), PropertyOrder(83)]
[DisplayName("孔区3")]
[Browsable(false)]
[IsCustom]
public string Hole3 { get; set; } = "0,0,0,0";
[Category(CameraInfo), PropertyOrder(84)]
[DisplayName("x倒序")]
[Browsable(false)]
[IsCustom]
public int IsReverse { get; set; } = 0; //x倒序
[Category(CameraInfo), PropertyOrder(85)]
[DisplayName("z相对")]
[Browsable(false)]
[IsCustom]
public int IsOpposite { get; set; } = 0; //z相对
[Category(CameraInfo), PropertyOrder(86)]
[DisplayName("标准距离")]
[Browsable(false)]
[IsCustom]
public float fStdDistance { get; set; } = 325;
[Category(CameraInfo), PropertyOrder(87)]
[DisplayName("X轴中心")]
[Browsable(false)]
[IsCustom]
public float fXCenter { get; set; } = 215.04f;
[Category(CameraInfo), PropertyOrder(88)]
[DisplayName("X轴")]
[Browsable(false)]
[IsCustom]
public float x { get; set; } = 0;
[Category(CameraInfo), PropertyOrder(89)]
[DisplayName("Y轴")]
[Browsable(false)]
[IsCustom]
public float y { get; set; } = 0;
[Category(CameraInfo), PropertyOrder(90)]
[DisplayName("Z轴")]
[Browsable(false)]
[IsCustom]
public float z { get; set; } = 417.75f;
[Category(CameraInfo), PropertyOrder(91)]
[DisplayName("X轴角度")]
[Browsable(false)]
[IsCustom]
public float xAngle { get; set; } = 0;
[Category(CameraInfo), PropertyOrder(92)]
[DisplayName("Y轴角度")]
[Browsable(false)]
[IsCustom]
public float yAngle { get; set; } = 0;
[Category(CameraInfo), PropertyOrder(93)]
[DisplayName("Z轴角度")]
[Browsable(false)]
[IsCustom]
public float zAngle { get; set; } = 0;
#endregion
}
///
/// IsCustomAttribute
///
public class IsCustomAttribute : Attribute
{
}
///
/// EnumDownsampling
///
public enum EnumDownsampling
{
///
/// EnumDownsampling:X1=1
///
X1 = 1,
///
/// EnumDownsampling:X2=2
///
X2 = 2,
///
/// EnumDownsampling:X4=4
///
X4 = 4,
///
/// EnumDownsampling:X8=8
///
X8 = 8,
///
/// EnumDownsampling:X10=10
///
X10 = 10
}
///
/// EnumFilter
///
public enum EnumFilter
{
///
/// EnumFilter:None
///
None,
///
/// EnumFilter:Mean
///
Mean,
///
/// EnumFilter:MeanEdgePreserving
///
MeanEdgePreserving,
///
/// EnumFilter:Median
///
Median
}
///
/// EnumMeanFilterWindowSize
///
public enum EnumMeanFilterWindowSize
{
///
/// EnumMeanFilterWindowSize:WindowSize_2
///
WindowSize_2,
///
/// EnumMeanFilterWindowSize:WindowSize_4
///
WindowSize_4,
///
/// EnumMeanFilterWindowSize:WindowSize_8
///
WindowSize_8,
///
/// EnumMeanFilterWindowSize:WindowSize_16
///
WindowSize_16,
///
/// EnumMeanFilterWindowSize:WindowSize_32
///
WindowSize_32
}
///
/// EnumMedianFilterWindowSize
///
public enum EnumMedianFilterWindowSize
{
///
/// EnumMedianFilterWindowSize:WindowSize_3
///
WindowSize_3,
///
/// EnumMedianFilterWindowSize:WindowSize_5
///
WindowSize_5,
///
/// EnumMedianFilterWindowSize:WindowSize_7
///
WindowSize_7,
///
/// EnumMedianFilterWindowSize:WindowSize_9
///
WindowSize_9
}
///
/// EnumResampling
///
public enum EnumResampling
{
///
/// EnumResampling:Nearest
///
Nearest,
///
/// EnumResampling:Farthest
///
Farthest
}
///
/// EnumSpotSelection
///
public enum EnumSpotSelection
{
///
/// EnumSpotSelection:Strongest
///
Strongest,
///
/// EnumSpotSelection:Nearest
///
Nearest,
///
/// EnumSpotSelection:Farthest
///
Farthest,
///
/// EnumSpotSelection:Invalid
///
Invalid
}
///
/// EnumEdgeSelection
///
public enum EnumEdgeSelection
{
///
/// EnumEdgeSelection:Center
///
Center,
///
/// EnumEdgeSelection:TopEdge
///
TopEdge,
///
/// EnumEdgeSelection:BottomEdge
///
BottomEdge
}
///
/// EnumBrightnessAdjustment
///
public enum EnumBrightnessAdjustment
{
///
/// EnumBrightnessAdjustment:Scale_0_5_0
///
Scale_0_5_0,
///
/// EnumBrightnessAdjustment:Scale_0_7_5
///
Scale_0_7_5,
///
/// EnumBrightnessAdjustment:Scale_1_0_0
///
Scale_1_0_0,
///
/// EnumBrightnessAdjustment:Scale_1_5_0
///
Scale_1_5_0
}
///
/// EnumExposureMode
///
public enum EnumExposureMode
{
///
/// EnumExposureMode:HDR
///
HDR,
///
/// EnumExposureMode:Timed
///
Timed
}
///
/// EnumAnalogGain
///
public enum EnumAnalogGain
{
///
/// EnumAnalogGain:Gain_1_0
///
Gain_1_0,
///
/// EnumAnalogGain:Gain_1_3
///
Gain_1_3,
///
/// EnumAnalogGain:Gain_1_9
///
Gain_1_9,
///
/// EnumAnalogGain:Gain_2_8
///
Gain_2_8,
///
/// EnumAnalogGain:Gain_5_5
///
Gain_5_5
}
///
/// EnumAnalogGainFor8030
///
public enum EnumAnalogGainFor6030
{
///
/// EnumAnalogGainFor6030:Gain_1_0
///
Gain_1_0,
///
/// EnumAnalogGainFor6030:Gain_1_3
///
Gain_1_3,
///
/// EnumAnalogGainFor6030:Gain_2_0
///
Gain_2_0,
///
/// EnumAnalogGainFor6030:Gain_3_0
///
Gain_3_0
}
///
/// EnumZDirectionRoi
///
public enum EnumZDirectionRoi
{
///
/// EnumZDirectionRoi:ImageHeight_1_1
///
ImageHeight_1_1,
///
/// EnumZDirectionRoi:ImageHeight_1_2
///
ImageHeight_1_2,
///
/// EnumZDirectionRoi:ImageHeight_1_4
///
ImageHeight_1_4,
///
/// EnumZDirectionRoi:ImageHeight_1_8
///
ImageHeight_1_8,
///
/// EnumZDirectionRoi:ImageHeight_1_16
///
ImageHeight_1_16
}
///
/// EnumDataAcquisitionTriggerSource
///
public enum EnumDataAcquisitionTriggerSource
{
///
/// EnumDataAcquisitionTriggerSource:软触发
///
软触发,
///
/// EnumDataAcquisitionTriggerSource:外部触发
///
外部触发
}
///
/// EnumLineScanTriggerSource
///
public enum EnumLineScanTriggerSource
{
///
/// EnumLineScanTriggerSource:固定频率
///
固定频率,
///
/// EnumLineScanTriggerSource:编码器
///
编码器
}
///
/// EnumEncoderTriggerDirection
///
public enum EnumEncoderTriggerDirection
{
///
/// EnumEncoderTriggerDirection:A相在前
///
A相在前,
///
/// EnumEncoderTriggerDirection:B相在前
///
B相在前,
///
/// EnumEncoderTriggerDirection:双向
///
双向
}
///
/// EnumEncoderTriggerSignalCountingMode
///
public enum EnumEncoderTriggerSignalCountingMode
{
///
/// EnumEncoderTriggerSignalCountingMode:X1
///
X1,
///
/// EnumEncoderTriggerSignalCountingMode:X2
///
X2,
///
/// EnumEncoderTriggerSignalCountingMode:X4
///
X4
}
///
/// EnumEncoderTriggerSignalCountingMode
///
public enum EnumNoiseRemovalIntensity
{
///
/// EnumNoiseRemovalIntensity--Low
///
Low,
///
/// EnumNoiseRemovalIntensity--Medium
///
Medium,
///
/// EnumNoiseRemovalIntensity--High
///
High
}
///
/// EnumNameId,参数名称定义
///
public enum EnumNameId
{
///
/// 滤波器:枚举型,取值范围 {None, Mean, MeanEdgePreserving, Median }
///
Filter,
///
/// 均值滤波器窗口尺寸:枚举型,取值范围 {WindowSize_2, WindowSize_4, WindowSize_8, WindowSize_16, WindowSize_32}
///
MeanFilterWindowSize,
///
/// 中值滤波器窗口尺寸:枚举型,取值范围 {WindowSize_3, WindowSize_5, WindowSize_7, WindowSize_9}
///
MedianFilterWindowSize,
///
/// 空缺填充:整型
///
GapFilling,
///
/// 空缺填充边缘保持:整型
///
GapFillingEdgePreservation,
///
/// 重采样:枚举型,取值范围 {Nearest, Farthest }
///
Resampling,
///
/// 重采样边缘保持:整型
///
ResamplingEdgePreservation,
///
/// EnableZAxisAlignment-布尔型
///
EnableZAxisAlignment,
///
/// EnableXAxisAlignment-布尔型
///
EnableXAxisAlignment,
///
/// EnableBlindSpotFiltering-布尔型
///
EnableBlindSpotFiltering,
///
/// EnableNoiseRemoval-布尔型
///
EnableNoiseRemoval,
///
/// NoiseRemovalIntensity-_Enum = {Low, Medium, High}
///
NoiseRemovalIntensity,
///
/// 最小灰度:整型
///
MinGrayscaleValue,
///
/// 提取点最小强度:整型
///
MinSpotIntensity,
///
/// 提取点最大强度:整型
///
MaxSpotIntensity,
///
/// 激光线最小宽度:整型
///
MinLaserLineWidth,
///
/// 激光线最大宽度:整型
///
MaxLaserLineWidth,
///
/// 提取点选择:枚举型,取值范围 {Strongest, Nearest, Farthest, Invalid}
///
SpotSelection,
///
/// 枚举型,取值范围 {Center, TopEdge, BottomEdge }
///
EdgeSelection,
///
/// MinSharpness-_Int
///
MinSharpness,
///
/// BrightnessAdjustment-枚举型,取值范围 {Scale_0_5_0, Scale_0_7_5, Scale_1_0_0, Scale_1_5_0, Scale_1_5_0 }
///
BrightnessAdjustment,
///
/// 曝光模式:枚举型,取值范围 {HDR, Timed}
///
ExposureMode,
///
/// 曝光时间:整型
///
ExposureTime,
///
/// HDR曝光时间1:浮点型
///
HdrExposureTimeProportion1,
///
/// HDR曝光时间2:浮点型
///
HdrExposureTimeProportion2,
///
/// HdrFirstThreshold-浮点型
///
HdrFirstThreshold,
///
/// HdrSecondThreshold-浮点型
///
HdrSecondThreshold,
///
/// 模拟增益:枚举型,取值范围 {Gain_1_0, Gain_1_3, Gain_1_9, Gain_2_8, Gain_5_5}
///
AnalogGain,
///
/// 模拟增益(6030):枚举型,取值范围 {Gain_1_0, Gain_1_3, Gain_2_0, Gain_3_0}
///
AnalogGainFor6030,
///
/// 数字增益:整型
///
DigitalGain,
///
/// 激光功率:整型
///
LaserPower,
///
/// Z向感兴趣区域:枚举型,取值范围 {ImageHeight_1_1, ImageHeight_1_2, ImageHeight_1_4, ImageHeight_1_8, ImageHeight_1_16}
///
ZDirectionRoi,
///
/// 轮廓线兴趣区型
///
ROI,
///
/// 数据采集触发源:枚举型,取值范围 {Software, External}
///
DataAcquisitionTriggerSource,
///
/// 行扫描触发源:枚举型,取值范围 {FixedRate, Encoder}
///
LineScanTriggerSource,
///
/// 触发频率:浮点型
///
SoftwareTriggerRate,
///
/// MaxScanRate-浮点型
///
MaxScanRate,
///
/// TriggerDelay-_Int
///
TriggerDelay,
///
/// 触发方向:枚举型,取值范围 {ChannelALeading, ChannelBLeading, Both}
///
EncoderTriggerDirection,
///
/// 触发信号计数模式:枚举型,取值范围 {Multiple_1, Multiple_2, Multiple_4}
///
EncoderTriggerSignalCountingMode,
///
/// 触发间隔:整型
///
EncoderTriggerInterval,
///
/// 扫描行数:整型
///
ScanLineCount,
///
/// DataPointsPerProfile-_Int
///
DataPointsPerProfile,
///
/// ExposureDelay-_Int
///
ExposureDelay,
///
/// BatchRetrievalTimeout-_Int
///
BatchRetrievalTimeout,
///
/// CallbackRetrievalTimeout-_Int
///
CallbackRetrievalTimeout,
///
/// X轴分辨率:浮点型
///
XAxisResolution,
///
/// Y轴分辨率:浮点型
///
YResolution,
///
/// 倾斜校正角度:浮点型
///
TiltCorrectionAngle,
///
/// 高度校正比例:浮点型
///
HeightCorrectionRatio,
///
/// CoordinateTransformation-浮点型数组
///
CoordinateTransformation,
///
/// 名称 ID 最大值
///
NameIdMax
}
}