pylon이 부동 소수점 값을 자동으로 보정하는 방식#
파라미터의 증가값(increment) 설정과 일치하지 않는 부동 소수점 값을 설정하려고 하면 pylon은 오류 메시지를 표시하는 대신 가장 가까운 가능한 값으로 자동 보정합니다.
이는 Basler pylon Viewer 및 API에 적용됩니다.
예를 들어, a2A3840-45ucPRO의 Exposure Time 증가값은 9 µs입니다.
이를 16 µs로 설정하면 오류 메시지는 발생하지 않지만, 실제 Exposure Time은 12 µs가 됩니다.
자동 보정 기능이 18 µs 대신 12 µs를 선택하는 이유는 무엇입니까?
- 이 특정 카메라의 최소 Exposure Time은 12 µs입니다.
- 증가값이 9 µs이므로 다음으로 가능한 값은 21 µs입니다.
- 목표값이 16 µs인 경우 21 µs와의 차이는 5 µs이지만, 12 µs와의 차이는 4 µs에 불과합니다. 따라서 최단 근접 이웃 알고리즘(nearest neighbor algorithm)이 Exposure Time으로 12 µs를 선택합니다.
API 명령을 사용한 예시:
double val = 16;
Console.WriteLine(" trying to set value " + val);
camera.Parameters[PLCamera.ExposureTime].SetValue(val);
Console.WriteLine(" current increment " +
camera.Parameters[PLCamera.ExposureTime].GetIncrement());
Console.WriteLine("Current Exposure time is : " +
camera.Parameters[PLCamera.ExposureTime].GetValue());

목표 Exposure Time 값이 30 µs인 경우, 이는 허용되는 값이므로(12 + 2 x 9 = 30 µs) 문제가 발생하지 않습니다.
