Files
2025-08-19 12:45:50 +02:00

119 lines
3.2 KiB
C#

using Inspectron.HawkEye.Protocol;
using Newtonsoft.Json;
namespace Hawkeye.VisionBuilder.UI.Sources.Hawkeye;
public class UICameraSettings
{
public UICameraSettings()
{
}
public UICameraSettings(CameraSettings cameraSettings)
{
Shutter = cameraSettings.ImageSettings.Shutter;
Gain = cameraSettings.ImageSettings.Gain;
OffsetX = cameraSettings.OffsetX;
SensorWidth = cameraSettings.ImageSettings.SensorWidth;
Width = cameraSettings.ImageWidth;
Lines = cameraSettings.ImageSettings.Lines;
Divider = cameraSettings.ImageSettings.Divider;
Light1 = cameraSettings.LightPwm1;
Light2 = cameraSettings.LightPwm2;
TriggerEnabled = cameraSettings.ImageSettings.UseExternalTrigger == 1;
Name = cameraSettings.Name;
CaptureBuffer = cameraSettings.ImageSettings.CaptureBuffer;
RescaleWidth = cameraSettings.RescaleWidth;
MinorCutoff = cameraSettings.MinorCutoff;
BayerFilter = cameraSettings.BayerFilter;
LaserTrigger = cameraSettings.LaserTrigger;
LaserTriggerDelay = cameraSettings.LaserTriggerDelay;
FlipLines = cameraSettings.FlipLines;
TriggerLights = cameraSettings.TriggerLights;
MirrorX = cameraSettings.MirrorX;
}
public CameraSettings ToCameraSettings()
{
return new CameraSettings()
{
ImageSettings = new ImageSettings()
{
Lines = Lines,
CaptureBuffer = CaptureBuffer,
Divider = Divider,
UseExternalTrigger = TriggerEnabled ? 1 : 0,
Gain = Gain,
Shutter = Shutter,
SensorWidth = SensorWidth
},
LightPwm1 = Light1,
LightPwm2 = Light2,
OffsetX = OffsetX,
ImageWidth = Width,
RescaleWidth = RescaleWidth,
MinorCutoff = MinorCutoff,
BayerFilter = BayerFilter,
LaserTrigger = LaserTrigger,
LaserTriggerDelay = LaserTriggerDelay,
FlipLines = FlipLines,
TriggerLights = TriggerLights,
MirrorX = MirrorX
};
}
public static UICameraSettings LoadSettingsLocal(string path)
{
return JsonConvert.DeserializeObject<UICameraSettings>(File.ReadAllText(path));
}
public int LaserTriggerDelay { get; set; }
public bool LaserTrigger { get; set; }
public bool TriggerEnabled { get; set; }
public int CaptureBuffer { get; set; }
public bool FlipLines { get; set; }
public int Shutter { get; set; }
public int Gain { get; set; }
public int OffsetX { get; set; }
public int SensorWidth { get; set; }
public int Width { get; set; }
public int RescaleWidth { get; set; }
public int Lines { get; set; }
public int Divider { get; set; }
public int Light1 { get; set; }
public int Light2 { get; set; }
public bool TriggerLights { get; set; }
public string Name { get; set; }
public int MinorCutoff { get; set; }
public bool BayerFilter { get; set; }
public bool MirrorX { get; set; }
}