HDRMultiscaleTransform

HDR Multiscale Transformation (HDRMT)

HDRMT는 Dynamic range를 압축해 이미지의 코어 디테일을 살려주는 프로세스입니다. 
HDRMT는 모든 대상에 적합하지는 않으며, 일반적으로 밝은 핵을 가진 은하나 구상성단의 밝은 코어, 그리고 몇 개의 성운에 적합합니다. 
이 프로세스는 모든 종류의 비선형 칼라/모노크롬 이미지에 사용할 수 있습니다. 
어떤 분들은 LRGB이미지에서 이 프로세스를 L과 RGB에 따로따로 사용하는 것을 선호하나 직접 써보시다보면 이렇게까지 할 필요는 굳이 없으며 그냥 LRGB 합성 이미지에 한번만 적용해도 된다는 것을 아시게 될 것입니다. 


Wavelet Layers

HDRMT에서 웨이브릿의 숫자는 좋은 결과를 내기위한 핵심적인 변수입니다. 통상 3~7개의 웨이브릿을 설정하는 것이 괜찮은 결과를 내며, 3으로 설정하는 경우 너무 심한 Dynamic range의 압축을 일으켜 통상은 6 정도를 사용하게 됩니다. 
보통 이 항목에서 Iteration의 수를 올리거나 Overdrive설정을 올리면 Dynamic range를 더 압축할 수 있지만 대부분의 경우 디폴트값으로 유지해도 큰 문제는 없습니다. 

Mode

기본적으로 이 프로세스는 À Trous (아 토우~) 웨이브릿 알고리즘(AWT)을 사용합니다. 하지만 만약 Median Transform으로 처리하고 싶다면 이 항목을 체크하시면 됩니다. 간단한 차이는 아래와 같습니다.
  • Median Transform : AWT 알고리즘에 비해 상대적으로 속도가 느리나 프로세스를 돌리면서 발생하는 깁스 효과(Gibbs effect)가 없습니다. 만약 이 기능을 사용하기로 결정했다면 프로세스 윈도우 중간의 Deringing을 체크할 필요가 없습니다.
  • AWT (À Trous Wavelet Transform) : 프로세스에서 기본값으로 설정되어 있는 이 알고리즘을 사용하실 때는 프로세스 윈도우 중간의 Deringing을 반드시 체크하시고 Small-scale과 Large-scale항목을 Ringing (깁스효과)가 나타나지 않는 최소한의 수치로 유지해야 합니다.

Scaling Function

이 기능은 AWT 알고리즘을 이용할  때만 사용할 수 있습니다. 기본값은 B3 Spline (5)으로 되어있으면 대부분 이 기능만 사용해도 충분합니다. 하지만 이미지에서 동떨어져 있는 작은 대상을 처리하고 싶을때는 Linear Interpolation으로 바꿔보는 것도 좋습니다. 
  • To Lightness : 이 기능을 체크하면 프로세스는 L*a*b* 이미지에서 L* 영역만 대상으로 작동합니다. 만약 모노크롬 이미지를 처리하고 있다면 이 기능을 체크하는게 좋습니다.
  • Preserve Hue : 칼라 이미지에서 체크하는 것이 좋습니다. 만약 모노크롬에서 이 기능을 체크하신다면, 아무일도 일어나지 않습니다. 
  • Lightness Mask : 이 기능을 체크하면 이 프로세스는 이미지의 밝은 영역만을 타겟으로 하여 작동합니다. 이 기능을 사용하면 추가적인 마스크를 사용할 필요가 없습니다. 
    하지만 HDRMT는 더 크고 밝은 별에 대해서 중심이 까맣게 역전되는 오류를 유발합니다. 흔히 이것을 '도넛을 만들어 버렸다'고 하는데, 이런 문제를 막기 위해선 가능하면 Star Mask를 사용하시는 것이 좋습니다. 아니면 Range Mask를 이용해 꼭 필요한 부분만 프로세싱 되도록 하는 것이 좋습니다. 

Contrast

HDRMT는 사용할 대상에 아주 효과적인 프로세스이긴 하지만 Dynamic range를 압축해 버리기 때문에 전체적으로 콘트라스트가 감소하는 문제가 발생합니다. 결국 HDRMT를 사용하고 나서는 S-shaped curve 프로세스나 LocalHistogramEqualization 프로세스를 통해 이 문제를 해결해야 합니다. 

가끔은 인터넷에서 PixInsight로 처리했다는 조금 부자연스러운 이미지를 보신 적이 있을 겁니다. 보통 이것은 HDRMT를 부적절하게 사용해서 그런 경우가 많습니다. HDRMT 자체는 매우 좋은 프로세스이긴 하지만 실제로는 다른 프로세스들처럼 미세설정을 할 수 있는 프로세스가 아니라서 그렇습니다.
이 문제를 해결하기 위해 다음의 항목을 HDRMT를 한 후 루틴으로 시행하시는 것이 도움이 됩니다. 

PixelMath (PM) - HDRMT의 뒷처리

HDRMT 프로세스 후의 문제 – 너무 부자연스럽게 처리되는 것 - 를 해결하기 위해서 HDRMT를 한 이미지와 원래 이미지를 적당히 섞어주는 것이 필요합니다. 이런 처리를 하기 위해서 흔히 사용하는 것이 PixelMath입니다. 순서는 다음과 같습니다. 


Image Cloning

  1. 일단 HDRMT를 할 대상 사진의 왼쪽 항목에서 마우스 오른쪽 클릭을 해 Clone을 만들어 냅니다. 
  2. 클론에 대해서 HDRMT를 진행합니다. 이때 마스크가 필요하면 꼭 적용한 후 처리합니다
이렇게 하면 HDRMT 처리가 되지 않은 원본 이미지와 HDRMT 처리가 된 이미지가 생깁니다. 

Expressions 

기본적으로 PxelMath는 RGB/K 채널에 적용되도록 체크박스가 켜져 있습니다. RGB/K라는 의미는 그레이스케일(K)이나 칼라 이미지(RGB) 동시에 프로세스를 적용한다는 뜻입니다. 만약 특정 채널에만 PixelMath를 적용하고 싶다면 이 항목을 체크해제 하시면 됩니다.
이번 처리에는 이 항목을 체크한 상태로 둡니다.


Expression Editor

이 윈도우의 우측에는 현재 열려있는 이미지들의 리스트가 나와 있습니다. 이 이름을 더블클릭하면 왼쪽 창으로 자동 이동이 됩니다. 일단 HDRMT 처리전의 원본 파일을 더블클릭 합니다. 파일 이름이 왼쪽 창으로 이동했으면 + 표시를 넣어줍니다. 이후 HDRMT 처리를 한 파일을 더블클릭해 왼쪽 창으로 이동시킵니다. 간단한 수식이 만들어졌습니다.
이제 왼쪽 아래의 Parse 버튼을 클릭에 수식에 문제가 없는지 확인합니다. 별 문제가 없다면 OK버튼을 클릭합니다. 

잠시 참고사항 : PixInsight의 파일명 규칙은 다음과 같습니다. 우선 모든 알파벳은 대소문자를 구분합니다. 그리고 문자와 문자 사이는 공백이 없어야 하고 언더바(_)는 사용이 가능하나 나머지 특수문자는 사용할 수 없습니다.
이 말씀을 갑자기 드리는 이유는, PM에서 이미지의 파일명을 그냥 항목에 써넣는 경우가 있습니다. 이때 이미지의 파일명은 실제 적혀있는 것과 완벽하게 동일해야 하기 때문입니다. 

Destination

일반적으로 PM의 아래쪽 Destination항목은 그냥 두시면 됩니다. 하지만 PM을 통해 새로운 이미지를 만들어 내야 할 때는 이 기능을 사용합니다. 크게 두 가지 중요한 항목이 있습니다. 
  • Rescale Result
  • Create new image


Rescale Result

만약 이 항목을 체크하면, PM은 결과 영상을 아래의 Lower/Upper Bound박스에 표시한대로 사이즈를 조절하게 됩니다. 기본적인 경험법칙이 있다면 두개 이상의 이상의 이미지를 합치는 경우, 이 합이 Upper Bound의 1.0을 넘지 않아야 한다는 것입니다. 만약 연산식이 Subtraction (뺄셈)에 관한 것이라면 일반적으로 이 항목을 체크하지 않습니다. 하지만 테스트는 해보세요. 

Create new image / Replace target image (Overwrite)

PM 프로세스를 돌릴 때 기존 이미지를 덮어쓸지 아니면 새로운 이미지를 만들지는 순전히 사용자의 마음입니다. 만약 새로운 이미지를 만들고 싶으시다면 Image ID항목에 이미지 이름을 넣으시면 됩니다. 

Blending Images with PixelMath

Deconvolution 항목에서도 설명했다시피, 프로세스의 미리보기(Preview) 기능을 쓴다고 해도 몇몇 프로세스에서는 미리보기 이미지가 “진짜” 결과와 다른 경우가 있습니다. HDRMT 역시 이런 프로세스중의 하나입니다. 그러다보니 경우에따라 미리보기에서는 멋진 결과로 생각되었는데 막상 프로세스를 실행시키고 나니 조악한 결과물이 나올때도 있습니다.
이런 우울한 경우에 사용할 수 있는 것이 SubstituteWithPreview 스크립트 입니다(프로세스가 아니라 스크립트입니다. 스크립트-유틸리티 항목에 있습니다).

기억하실 것은, 다른 스크립트와 마찬가지로 이 스크립트도 모달 윈도우 방식(일단 이 윈도우가 열리면 뒤에 다른 업무를 할 수 없음)입니다. 만약 미리 처리해야 할 것이 있다면 다 처리하신 후 스크립트를 켜세요. 사용방법은 다음과 같습니다.
  1. 작업중인 이미지의 클론 이미지를 만듭니다
  2. 클론 이미지에 대해 프리뷰 항목을 새로 만듭니다. 이 프리뷰는 내가 HDRMT를 적용하려는 대상을 포함하면 됩니다. 이 프리뷰를 만들때는 이미지의 대상에 딱 맞게 설정하는 것 보다는 주위를 좀 포함하며 설정하는 것이 자연스럽게 대상이 변하는지를 확인할 수 있습니다. (Feathering effect라고 표현했네요)
  3. 클론의 프리뷰에 대해 HDRMT를 적용합니다. HDRMT를 하기 전 프리뷰의 밝은 별에 대해서는 미리 스타 마스크를 설정합니다.
  4. SubstituteWithPreview 스크립트를 실행합니다
  5. 스크립트 윈도우에서 Source Image로 클론을 선택합니다. 그리고 Target으로 원본을 선택합니다.
  6. 스크립트를 통해 만들어진 이미지는 FinalView라는 이름이 붙어 있습니다.
    FinalView 이미지를, 아까 클론의 프리뷰로 만들어 HDRMT 처리한 이미지와 비교해 봅니다. 만약 이미지에서 네모형태의 솔기 같은게 보인다면 클론의 프리뷰를 좀 더 크게 만들어 다시 해봅니다. 만약 그래도 이 솔기 같은 것이 사라지지 않는다면 기존의 작업하던 영상에 마스크를 씌워 은하나 성운의 핵만 남겨 다시 해봅니다. 
  7. FinalView의 결과물에 충분히 만족한다면, 아예 이 이미지를 작업 이미지로 삼아버리거나 그렇지 않으면 PM 프로세스를 이용해 기존 이미지와 합치시면 됩니다. 



댓글