인테그레이션 리젝션: 알고리즘 선택과 Rejection Map 읽는 법
인테그레이션에서의 ’리젝션(rejection)’이란, 여러 장의 이미지를 겹쳐 올리는 과정에서 그 자리에 있어서는 안 되는 이상치—인공위성 궤적, 우주선(宇宙線)에 의한 흰 반점, 잔류한 핫 픽셀, 지나치게 밝은 별의 외곽부 등—를 자동으로 걸러내는 것을 말합니다. 적절한 픽셀 리젝션 알고리즘을 고르고, 거기서 출력되는 Rejection Map을 읽어낼 수 있게 되는 것이 깨끗한 한 장을 완성하는 열쇠입니다. 이 글에서는 픽셀 리젝션 알고리즘의 선택 논리와, 자주 간과되는 그 두 장의 리젝션 맵을 어떻게 읽어야 하는지를 정리합니다.
리젝션 알고리즘 패밀리
PixInsight은 인테그레이션 시 여러 종류의 리젝션 알고리즘을 제공합니다. 공식 문서에는 각 알고리즘이 적합한 상황이 열거되어 있어 한 번 읽어볼 가치가 있습니다(다만 이 문서는 발표된 지 꽤 오래되어, 나중에 추가된 GESD 알고리즘은 다루지 않는 점에 유의하세요).

크게 두 가지로 나눌 수 있습니다.
- Sigma 패밀리: 표준편차를 기반으로 한 이상치 제거로, 예를 들어 Sigma Clipping, 그 개량판인 Winsorized Sigma Clipping, 그리고 Percentile Clipping 등입니다. 원리도 수학도 같은 체계에 속합니다.
- GESD Test: Grubbs’s test를 기반으로 하며, 이론도 수학도 sigma-based 방식과는 완전히 다릅니다. 비교적 후기에 추가된 알고리즘입니다.
GESD vs Sigma: 장수가 적을 때는 누가 이기는가?
실제로 비교해 본 적이 있습니다. 한번은 12장밖에 없는 데이터로 GESD Test, Winsorized Sigma Clipping, 그리고 전통적인 Sigma Clipping을 동시에 돌려보았습니다.

12장은 사실 GESD나 Winsorized Sigma의 권장 장수를 충족하지 못하지만, 이 세트에서는 GESD Test의 효과가 오히려 가장 좋았습니다. 다만 후일담으로 한 가지 덧붙이자면, 컬러이면서 장수까지 부족한 경우에는 역시 Winsorized Sigma나 Sigma가 더 적합합니다. 그러니 ’언제나 최고’인 알고리즘은 없고, 데이터에 따라 다르다는 것입니다.
GESD로 희미한 위성 궤적에 맞서기
GESD에는 실전에서의 이점이 하나 더 있습니다. 예전에 sigma 패밀리로 인테그레이션할 때는 비교적 희미한 위성 궤적이 좀처럼 제거되지 않아, 17장이 있어도 인테그레이션 후에 궤적의 일부가 남아버리는 일이 자주 있었습니다. 게다가 이런 희미한 궤적은 manual selective rejection(수동으로 검게 칠하는 방법)으로 제거하기에는 적합하지 않습니다.

GESD Test로 바꾸고, 파라미터를 적절히 조정한 다음 희미한 위성 궤적을 확장(성장)시켰더니 매우 희미한 궤적을 제거하는 데 성공했습니다. 그리고 일반적으로 말해서, GESD의 S/N 비는 전통적인 Sigma Clipping이나 Winsorized Sigma Clipping보다 높습니다. (다만 대부분의 경우 sigma 패밀리로 이렇게 제거되지 않는 문제에 부딪히는 일은 없으며, 이것은 비교적 극단적인 개별 사례입니다.)
특수 병기: Range Clipping
통계적인 이상치 제거 외에, ‘힘으로 밀어붙이는’ 방식이지만 유용한 수단이 하나 더 있습니다—바로 Range Clipping입니다.

만약 다크 보정이 잘 되지 않아 검은 점이 많이 나타난 이미지(예를 들어 10장에는 있고 5장에는 없는)를 가지고 있다면, 정규 리젝션 알고리즘으로 이상치를 골라내어 이 검은 점들을 제거하기는 어렵습니다. 이럴 때는 인테그레이션 시 Range Low Clipping을 사용해, 특정 임계값보다 낮은 검은 점을 전부 강제로 제거할 수 있습니다. 이것은 특정 결함을 노린 직접적인 수단으로, 통계적 리젝션과 서로 보완하는 관계입니다.

Rejection Map 읽어내기
ImageIntegration이나 WBPP로 인테그레이션을 마치면, 완성된 이미지 외에 두 장의 리젝션 맵이 생성됩니다. 한 장은 고휘도 방향(rejection high), 다른 한 장은 저휘도 방향(rejection low)을 위한 것입니다. 대부분의 사람은 이 두 장을 그냥 무시해 버리는데—이는 사실 매우 유용한 진단 정보를 낭비하는 것입니다.

보통 rejection low에는 딱히 볼 만한 것이 없고, 중요한 것은 rejection high입니다. 여기에는 여러분이 ‘완성 이미지에 나타나지 않았으면’ 하는 온갖 방해 요소가 나타납니다—위성 궤적, 지나치게 밝거나 비대해진 별의 외곽부, 지구 근접 천체의 궤적, 그리고 핫 픽셀이나 우주선에 의한 흰 반점 등입니다(핫 픽셀은 제가 대개 인테그레이션 전에 Cosmetic Correction으로 지워두므로, 여기에 나오는 수는 많지 않습니다).
이 맵을 가장 실용적으로 판독하는 방법은 이렇습니다. 제거하고 싶었던 픽셀이 rejection high에 나타나 있다면, 그것은 성공적으로 제거되었다는 뜻입니다. 반대로 여기에 나타나지 않고 인테그레이션한 완성 이미지에 남아 있다면(예를 들어 잔류한 위성 궤적), 리젝션 파라미터가 부족하거나 알고리즘을 바꿔야 한다는 뜻입니다.
흔히 나오는 ‘이 한 장을 빼야 하나’ 하는 의문들
위의 원리를 이해하면, 초보자가 고민하는 많은 것들에 답이 나옵니다.
별이 비대해진 이미지는 인테그레이션에서 빼야 할까요? 초점이 나간 것이 아닌 한, 저는 대개 인테그레이션에 참여시킵니다.

rejection high를 살펴보면, 그 과도하게 큰 범위나 지나치게 밝은 별 부분은 이미 리젝션에 의해 제거되어 인테그레이션 연산에 참여하지 않았음을 알 수 있습니다. 인공위성 궤적이나 우주선에 의한 흰 덩어리도 마찬가지로 rejection high에 떨어집니다. 이런 종류의 작업은 소프트웨어에 맡겨두면 됩니다.
밝은 위성 궤적이 대상을 관통하고 있는 경우, 그 한 장을 수동으로 삭제해야 할까요? 답은 마찬가지로 그럴 필요 없습니다.

방법은 이렇습니다. 장수가 적다면 리젝션 능력이 강한 알고리즘(예를 들어 Sigma Clipping 패밀리)을 골라, Sigma High 파라미터를 조금 엄격하게(예를 들어 2.5 이하로) 설정합니다. 어떤 예에서는 겨우 7장 중 한 장에 위성 궤적이 대상을 가로질렀는데, 한 장 한 장이 S/N 비에 중요했습니다. 그래서 적절한 파라미터를 설정(소프트웨어의 기본값은 쓰지 않고)함으로써 인테그레이션 프로세스가 자동으로 리젝션을 완료하도록 했고, 성공적으로 제거된 궤적은 rejection high에 나타났습니다. 힘들게 얻은 픽셀 하나하나를 낭비하지 마세요.
결함 열이라는 예외: 리젝션으로는 구할 수 없다
마지막으로 리젝션으로는 구할 수 없는 예외를 하나 덧붙입니다—CCD의 결함 열(defect column)입니다.

결함 열은 너무 어두운 데다 열 전체를 관통하고 있어서, 억지로 리젝션으로 제거하려 하면 좋은 픽셀을 너무 많이 희생하면서도 효과는 신통치 않습니다. 올바른 방법은 먼저 카메라용 Defect Map을 만드는 것입니다(’라테’의 16803 CCD를 예로 들면, 화면 중앙에 뚜렷한 결함 열이 하나, 거기에 눈에 띄지 않는 결함 열이 세 개 있습니다). 이것을 DefectMap 프로세스로 불러들여 라이트 프레임에 적용해 결함 열의 영향을 크게 줄인 다음, 남은 부분을 인테그레이션 리젝션에 가볍게 맡겨 처리하도록 합니다. 다시 말해, 리젝션은 마지막에 등장하는 청소부이지 만능의 제1 방어선이 아니라는 것입니다—전용 도구로 처리해야 할 결함은 역시 먼저 올바른 도구로 대처해야 합니다.