수학 - McDowell2005 원본 배열의 최댓 값을 목표 값으로 스케일링하기
원본의 배열로 선형 데이터를 가지고 있고, 외부 요인으로 인해 원본의 배열 변수 값들을 수정하는 상황이 있다. 그러면 일부 값만 변경해서 확인하면 연속으로 나열된 배열들의 기울기가 변형된 모습을 볼 수 있으나, 기울기가 불규칙한 것을 볼 수 있다. 선형 그래프의 확대 및 축소의 기울기는 변경되는 것이 불가피 하나 보완하는 두 가지 방법이 있다.
첫 번째는 무식한 방법으로 연속된 배열들을 모두 수정해서 강제로 기울기를 만들거나 두 번째 방법은 선형 데이터 계열 X에 따라서 가중치를 부여해 원본 값 - 수정한 값 계산 이후 가중치를 곱해 원본 선형처럼 기울기를 스케일링하는 방법이 있다. 본인은 두 번째 방법을 자주 사용했지만 가중치를 다루기 어려워 국제 표준 부록을 살피다 간단한 수학 알고리즘을 발견하였다.
스케일링 과정으로 유용한 알고리즘으로 McDowell 2005 방법이다.
ISO 12647-2 부록에도 실려있다.
알고리즘 수식은 다음과 같다
\( R = X \cdot (1+C) - X_{min} \cdot C\)
주어진 C의 상수 값 수식.
\( C = \frac{R_{s} - X_{s}}{X_{s} - X_{min}} \)
문자가 가리키는 것은 다음과 같다.
\( X \) 는 교정 대상 값이다. X의 계열이 값이 된다.
\( R \) 는 목표 대상 값이다. R의 계열이 값이 된다.
\( C \) 는 Constant 불변 상수이다.
\( X_{s} \) 는 교정 대상 값이다. X의 중심이 되는 값
\(R_{s} \) 는 목표 대상 값이다. R의 중심이 되는 값
\(X_{min} \)는 목표 대상 중 가장 낮은 계열의 값이다.
프로그램 개발에는 최소한의 입력이 2개(\(X_{s}, R_{s}\)) 필요하고 출력은 1개(\(R\))로 개발된다.
판독한 XYZ 값을 D50 XYZ 값으로 스케일링하기
i1 pro로 M0 모드로 판독한 XYZ 값을 D50 화이트XYZ 값으로 스케일링하고 판돈 값들의 키값이 어떻게 변화되는지 살펴보자.
i1 Pro White XYZ
- X: 82.58
- Y: 86.11
- Z: 73.43
Target D50 White XYZ:
- X: 96.42
- Y: 100.00
- Z: 82.49
Measurement XYZ => D50 XYZ
최소값은 변함없어야하고 계산된 기울기 따라서 중간 값들이 증감하는 모습을 보여준다.
i1 profiler 판독 값들을 CGATS 텍스트 파일로 불려와 테이블로 출력이 가능하다.