pylon이 Float 값을 자동으로 보정합니다.#
파라미터의 increment 설정과 일치하지 않는 부동 소수점 값을 설정하려고 하면 pylon은 오류 메시지를 반환하는 대신 가장 가까운 허용 값으로 자동으로 보정합니다.
이 기능은 Basler pylon Viewer 및 API에 적용됩니다.
예를 들어, a2A3840-45ucPRO의 Exposure Time increment는 9 µs입니다.
Exposure Time을 16 µs로 설정해도 오류 메시지는 발생하지 않지만 실제 Exposure Time은 12 µs가 됩니다.
자동 보정 기능이 왜 18 µs 대신 12 µs를 선택할까요?
- 이 특정 카메라의 최소 Exposure Time은 12 µs입니다.
- increment가 9 µs이므로 다음 허용 값은 21 µs입니다.
- 목표 값이 16 µs일 때, 21 µs와의 차이는 5 µs인 반면 12 µs와의 차이는 4 µs에 불과합니다. 따라서 Nearest Neighbor 알고리즘은 12 µs를 Exposure Time으로 선택하게 됩니다.
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());

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