Pixel rejection khi tích hợp: chọn thuật toán và cách đọc Rejection Map
“Pixel rejection” khi tích hợp (integration) — loại bỏ pixel dị thường — là quá trình tự động loại bỏ, trong lúc xếp chồng nhiều tấm ảnh lên nhau, những giá trị ngoại lai lẽ ra không nên có mặt: vệt vệ tinh, đốm trắng do tia vũ trụ, điểm ảnh nóng (hot pixel) còn sót lại, phần rìa của những ngôi sao quá sáng, v.v. Chọn đúng thuật toán rejection và đọc hiểu được Rejection Map mà nó tạo ra chính là chìa khóa để có một bản tích hợp sạch sẽ. Bài viết này sắp xếp lại logic lựa chọn thuật toán rejection, cùng với chuyện hai tấm bản đồ rejection thường bị bỏ qua đó rốt cuộc phải đọc thế nào.
Họ các thuật toán rejection
Khi tích hợp, PixInsight cung cấp mấy loại thuật toán rejection khác nhau; tài liệu chính thức có liệt kê từng thuật toán hợp với tình huống nào, rất đáng đọc (lưu ý rằng tài liệu này đã công bố khá lâu và chưa bao gồm thuật toán GESD được thêm vào sau này).

Đại thể có thể chia thành hai nhóm:
- Họ Sigma: loại bỏ giá trị ngoại lai dựa trên độ lệch chuẩn, ví dụ Sigma Clipping, bản cải tiến Winsorized Sigma Clipping, và Percentile Clipping. Nguyên lý cùng phần toán học của chúng thuộc về cùng một hệ.
- GESD Test: dựa trên Grubbs’s test, lý thuyết và toán học hoàn toàn khác với các phương pháp sigma-based, là thuật toán được thêm vào tương đối muộn.
GESD vs Sigma: số frame ít thì ai thắng?
Tôi đã thực sự so sánh. Có lần tôi lấy bộ dữ liệu chỉ có 12 frame rồi chạy song song GESD Test, Winsorized Sigma Clipping và Sigma Clipping truyền thống.

12 frame thật ra không đạt số frame khuyến nghị của GESD lẫn Winsorized Sigma, vậy mà trong bộ này GESD Test lại cho hiệu quả tốt nhất. Tuy nhiên xin bổ sung một ghi chú về sau: nếu là dữ liệu màu mà số frame lại không đủ, thì dùng Winsorized Sigma hoặc Sigma vẫn phù hợp hơn. Vậy nên không có thuật toán nào “luôn luôn tốt nhất”, tất cả tùy vào dữ liệu.
GESD đối phó với vệt vệ tinh mờ nhạt
GESD còn có một lợi thế thực chiến nữa. Trước đây khi tích hợp bằng họ sigma, tôi thường gặp những vệt vệ tinh khá mờ mà không sao loại bỏ nổi: dù có 17 frame, tích hợp xong vẫn còn sót lại một phần vệt; hơn nữa loại vệt mờ như thế cũng không thích hợp để loại bỏ bằng manual selective rejection (tô đen thủ công).

Chuyển sang GESD Test, điều chỉnh tham số cho thích hợp và cho vệt vệ tinh mờ giãn nở lớn ra, tôi đã loại bỏ thành công một vệt cực kỳ mờ; và nhìn chung, tỷ số tín hiệu trên nhiễu (SNR) của GESD đều cao hơn Sigma Clipping truyền thống hay Winsorized Sigma Clipping. (Dù vậy, trong phần lớn trường hợp, dùng họ sigma sẽ không gặp phải kiểu không loại bỏ nổi như thế này, đây là ca khá cực đoan.)
Vũ khí đặc biệt: Range Clipping
Ngoài cách loại bỏ giá trị ngoại lai theo thống kê, còn một thủ pháp “thô bạo” nhưng hữu dụng — Range Clipping.

Nếu trong tay bạn có những tấm bị hiệu chỉnh bằng frame dark không tốt, xuất hiện rất nhiều đốm đen (chẳng hạn 10 tấm có, 5 tấm không), thì các thuật toán rejection chính quy rất khó nhặt ra giá trị ngoại lai để dọn sạch những đốm đen ấy. Lúc đó, khi tích hợp bạn có thể dùng Range Low Clipping để cưỡng chế loại bỏ toàn bộ các đốm đen thấp hơn một ngưỡng nào đó. Đây là thủ pháp trực tiếp nhắm vào một khuyết tật cụ thể, bổ trợ cho rejection theo thống kê.

Đọc hiểu Rejection Map
Tích hợp xong bằng ImageIntegration hay WBPP, ngoài thành phẩm bạn còn nhận thêm hai tấm bản đồ rejection: một tấm cho hướng độ sáng cao (rejection high), một tấm cho hướng độ sáng thấp (rejection low). Phần lớn mọi người bỏ qua thẳng hai tấm này — mà như vậy là lãng phí một nguồn thông tin chẩn đoán rất hữu ích.

Thông thường rejection low chẳng có gì đáng xem, trọng điểm nằm ở rejection high: đây là nơi xuất hiện đủ thứ nhiễu loạn mà bạn mong “đừng có mặt trong thành phẩm” — vệt vệ tinh, phần rìa của những ngôi sao quá sáng hoặc phình to, vệt của thiên thể gần Trái Đất, rồi cả hot pixel và đốm trắng do tia vũ trụ gây ra (hot pixel thì tôi thường dọn sạch bằng Cosmetic Correction từ trước khi tích hợp, nên ở đây số lượng không nhiều).
Cách đọc hữu dụng nhất của tấm bản đồ này là: nếu pixel mà bạn muốn loại bỏ có xuất hiện trong rejection high, tức là nó đã bị loại bỏ thành công; còn nếu nó không xuất hiện ở đây mà lại nằm lại trong thành phẩm đã tích hợp (ví dụ vệt vệ tinh còn sót), thì tức là tham số rejection chưa đủ, hoặc bạn nên đổi thuật toán.
Vài câu hỏi thường gặp kiểu “có nên loại tấm này ra không”
Hiểu được nguyên lý ở trên rồi thì nhiều điều khiến người mới băn khoăn sẽ có đáp án.
Ảnh có sao phình to thì có nên loại ra, không cho tham gia tích hợp? Trừ khi bị mất nét, còn lại tôi thường vẫn cho nó tham gia tích hợp.

Xem rejection high sẽ thấy những phần sao có phạm vi quá lớn hoặc quá sáng đã bị phương pháp rejection dọn đi, không tham gia vào phép tính tích hợp; vệt vệ tinh nhân tạo, mảng trắng do tia vũ trụ cũng rơi vào rejection high y như vậy. Loại việc này cứ giao cho phần mềm là được.
Có vệt vệ tinh sáng cắt xuyên qua mục tiêu thì có nên xóa thủ công tấm đó không? Câu trả lời cũng là không cần.

Cách làm: nếu số frame ít thì dùng thuật toán có khả năng rejection mạnh hơn (ví dụ họ Sigma Clipping), đặt tham số Sigma High nghiêm ngặt hơn một chút (ví dụ thấp hơn 2.5). Có một ví dụ chỉ có 7 frame, trong đó một tấm bị vệt vệ tinh cắt ngang mục tiêu, mà từng tấm đều quan trọng với tỷ số tín hiệu trên nhiễu; vì vậy chỉ cần đặt tham số thích hợp (đừng dùng giá trị mặc định của phần mềm) là quy trình tích hợp sẽ tự động hoàn tất việc rejection, và vệt được loại bỏ thành công sẽ hiện ra trong rejection high. Đừng lãng phí bất kỳ pixel nào đã vất vả lắm mới có được.
Ngoại lệ cột lỗi: rejection không cứu nổi
Cuối cùng xin bổ sung một ngoại lệ mà rejection không cứu nổi — cột lỗi (defect column) của CCD.

Cột lỗi vừa quá tối lại chạy xuyên suốt cả cột; cố ép rejection loại bỏ nó thì phải hy sinh quá nhiều pixel tốt mà hiệu quả vẫn kém. Cách đúng là trước hết làm một Defect Map cho máy ảnh (lấy CCD 16803 của “Latte” làm ví dụ: có một cột lỗi rõ rệt ngay giữa khung hình, cộng thêm ba cột lỗi không rõ rệt), rồi dùng process DefectMap nạp vào và áp lên các frame light để giảm mạnh ảnh hưởng của cột lỗi, phần còn lại mới giao cho rejection khi tích hợp dọn nốt cho nhẹ nhàng. Nói cách khác, rejection là người quét dọn ở khâu cuối chứ không phải tuyến phòng thủ đầu tiên vạn năng — những khuyết tật nên xử lý bằng công cụ chuyên dụng thì vẫn phải dùng đúng công cụ trước đã.