本站提供正體中文版。切換到正體中文本站提供简体中文版。切换到简体中文This site is available in English.View in Englishこのサイトには日本語版があります。日本語で表示이 사이트는 한국어로도 제공됩니다.한국어로 보기Diese Website ist auch auf Deutsch verfügbar.Auf Deutsch ansehenEste sitio web también está disponible en español.Ver en españolQuesto sito è disponibile anche in italiano.Visualizza in italianoCe site est également disponible en français.Afficher en françaisDeze website is ook beschikbaar in het Nederlands.In het Nederlands bekijkenЭтот сайт также доступен на русском языке.Смотреть на русскомयह वेबसाइट हिन्दी में भी उपलब्ध है।हिन्दी में देखेंهذا الموقع متاح أيضًا باللغة العربية.عرض بالعربيةSitus ini juga tersedia dalam bahasa Indonesia.Lihat dalam bahasa IndonesiaBu site Türkçe olarak da mevcut.Türkçe görüntüleTa strona jest dostępna także po polsku.Wyświetl po polskuTrang web này cũng có phiên bản tiếng Việt.Xem bằng tiếng Việtاین وب‌سایت به فارسی هم در دسترس است.مشاهده به فارسی

Rejection na integração: escolha do algoritmo e leitura da Rejection Map

Pré-processamento e empilhamento2021.01

A “rejection” durante a integração é o processo de descartar automaticamente, enquanto se empilham várias imagens, os valores atípicos que não deveriam estar ali — trilhas de satélite, manchas brancas de raios cósmicos, pixels quentes residuais, os halos ao redor de estrelas brilhantes demais e assim por diante. Escolher o algoritmo de rejection certo e saber ler a Rejection Map que ele produz é a chave para obter uma integração limpa. Este artigo organiza a lógica para escolher um algoritmo de rejection e, além disso, como se deve ler exatamente esses dois mapas de rejection tão frequentemente ignorados.

A família dos algoritmos de rejection

O PixInsight oferece vários algoritmos de rejection durante a integração; a documentação oficial lista a qual cenário cada algoritmo se adapta e vale muito a pena lê-la (atenção: este documento foi publicado já há um bom tempo e não cobre o algoritmo GESD, acrescentado posteriormente).

Os algoritmos de rejection listados na documentação oficial do PixInsight Image Integration

De modo geral, podem ser divididos em duas categorias:

  • A família Sigma: rejeição de valores atípicos baseada no desvio padrão, por exemplo Sigma Clipping, a versão aprimorada Winsorized Sigma Clipping e Percentile Clipping. Seu princípio e sua matemática pertencem ao mesmo sistema.
  • GESD Test: baseado no Grubbs’s test, sua teoria e sua matemática são completamente diferentes das dos métodos baseados em sigma. É um algoritmo acrescentado relativamente tarde.

GESD vs Sigma: quem vence quando há poucos frames?

Fiz a comparação de verdade. Certa vez peguei um conjunto de dados de apenas 12 frames e rodei em paralelo o GESD Test, o Winsorized Sigma Clipping e o Sigma Clipping tradicional.

Comparação entre GESD, Winsorized Sigma e Sigma Clipping (conjunto de dados de 12 frames)

Doze frames, na verdade, não atendem ao número de frames recomendado para o GESD nem para o Winsorized Sigma, mas neste conjunto específico foi o GESD Test que deu o melhor resultado. Convém, porém, acrescentar uma observação em pós-escrito: se forem dados coloridos e, ainda por cima, com frames insuficientes, continua sendo mais adequado usar o Winsorized Sigma ou o Sigma. Portanto, não existe algoritmo que seja “sempre o melhor”: depende dos dados.

GESD contra as trilhas de satélite fracas

O GESD tem ainda uma vantagem no campo. Antigamente, quando eu integrava com a família sigma, esbarrava com frequência em trilhas de satélite mais fracas que não havia como eliminar: mesmo com 17 frames, depois da integração ainda restava parte da trilha, e esse tipo de trilha fraca não se presta à manual selective rejection (pintá-la de preto à mão).

Eliminação bem-sucedida de uma trilha de satélite fraca após ajustar os parâmetros do GESD e dilatar a trilha

Passando para o GESD Test e, depois de ajustar adequadamente os parâmetros, dilatar (fazer crescer) a trilha de satélite fraca, consegui eliminar uma trilha extremamente fraca; e, de modo geral, a relação sinal-ruído (S/R) do GESD é mais alta que a do Sigma Clipping tradicional ou do Winsorized Sigma Clipping. (Dito isso, na maioria dos casos não se esbarra nesse tipo de problema impossível de eliminar com a família sigma: trata-se de um caso limite bastante extremo.)

Uma arma especial: Range Clipping

Além da rejeição estatística de valores atípicos, há ainda um recurso “de força bruta”, mas prático — o Range Clipping.

Usar o Low Range clipping para remover à força os pontos pretos causados por uma má calibração dos darks

Se você tiver aquelas imagens com má calibração dos darks que apresentam muitos pontos pretos (por exemplo, presentes em 10 frames e ausentes em 5), os algoritmos de rejection comuns têm dificuldade de remover esses pontos pretos identificando valores atípicos. Nesse caso, você pode usar durante a integração o Range Low Clipping para remover à força todo ponto preto que fique abaixo de certo limiar. É um recurso direto voltado para um defeito específico, complementar à rejection estatística.

O efeito do Low Range clipping ao remover os pontos pretos

Ler a Rejection Map

Quando você termina a integração com o ImageIntegration ou com o WBPP, além da imagem final são gerados dois mapas de rejection: um para a direção de alta luminosidade (rejection high) e outro para a de baixa luminosidade (rejection low). A maioria das pessoas simplesmente ignora esses dois — o que, na verdade, desperdiça informações de diagnóstico muito úteis.

Trilhas de satélite, halos de estrelas inchadas e trilhas de objetos próximos à Terra que aparecem no mapa rejection high

Em geral, não há muito o que ver em rejection low; o que importa é o rejection high: é aqui que aparecem todas as interferências que você preferiria “não ver na imagem final” — trilhas de satélite, os halos de estrelas brilhantes demais ou inchadas, trilhas de objetos próximos à Terra, além de pixels quentes e manchas brancas causadas por raios cósmicos (os pixels quentes eu costumo limpar antes da integração com o Cosmetic Correction, por isso não há muitos aqui).

A forma mais prática de interpretar este mapa é a seguinte: se um pixel que você queria rejeitar aparece em rejection high, significa que ele foi removido com sucesso; se ele não aparece aqui e, em vez disso, permanece na imagem integrada final (por exemplo, uma trilha de satélite residual), significa que seus parâmetros de rejection não são suficientes, ou que você deveria mudar de algoritmo.

Algumas dúvidas frequentes do tipo “devo descartar este frame?”

Uma vez compreendido o princípio acima, muitas das aflições dos iniciantes ganham resposta.

Uma imagem com estrelas inchadas — devo descartá-la para que não participe da integração? A não ser que esteja fora de foco, normalmente eu a deixo participar da integração.

Ilustração dos halos de estrelas inchadas / brilhantes demais e das trilhas de satélite rejeitados em rejection high

Ao examinar o rejection high, você verá que aquelas porções de estrelas grandes demais ou brilhantes demais já foram removidas pela rejection e não participaram do cálculo da integração; as trilhas de satélites artificiais e os aglomerados brancos de raios cósmicos também caem, do mesmo modo, em rejection high. É melhor deixar esse tipo de trabalho para o software.

Há uma trilha de satélite brilhante que atravessa o alvo de ponta a ponta — devo apagar esse frame à mão? A resposta é, novamente, que não é preciso.

Um entre 7 frames tem uma trilha de satélite atravessando o alvo, rejeitada automaticamente graças a parâmetros Sigma High rigorosos

Como fazer: se você tem poucos frames, use um algoritmo com maior capacidade de rejection (por exemplo, a família Sigma Clipping) e ajuste o parâmetro Sigma High um pouco mais rigoroso (por exemplo, abaixo de 2,5). Num exemplo, eu tinha apenas 7 frames, um dos quais com uma trilha de satélite atravessando o alvo; cada frame importava para a relação sinal-ruído, então, definindo os parâmetros adequados (sem usar os valores padrão do software), deixei o processo de integração concluir a rejection automaticamente, e a trilha eliminada com sucesso aparece em rejection high. Não desperdice um único pixel conquistado com tanto esforço.

A exceção da coluna defeituosa: a rejection não pode salvá-la

Por fim, acrescento uma exceção que a rejection não pode salvar — a coluna defeituosa (defect column) de um CCD.

Usar uma Defect Map para eliminar a coluna defeituosa do CCD, deixando o resto para a rejection

A coluna defeituosa é escura demais e, ainda por cima, percorre todo o comprimento (do quadro); insistir em removê-la à força com a rejection custa bons pixels demais e, mesmo assim, funciona mal. O modo correto é criar primeiro uma Defect Map para a câmera (tomando como exemplo o CCD 16803 do “Latte”, há uma coluna defeituosa evidente no centro do enquadramento, mais outras três pouco visíveis), carregá-la com o processo DefectMap e aplicá-la sobre os lights para reduzir bastante o efeito da coluna defeituosa e, depois, deixar que a rejection da integração limpe sem esforço o que restou. Em outras palavras, a rejection é a equipe de limpeza que entra em cena no fim, não uma onipotente primeira linha de defesa — os defeitos que exigem uma ferramenta dedicada precisam, mesmo assim, primeiro da ferramenta certa.