马赛克深空摄影入门进阶

马赛克,其实就是平时摄影里面说的接片。在望远镜视角不够的情况下,马赛克可以提供更大的视角。同样的对象,更小的镜子可能一张就可以搞定,马赛克就是用更大的镜子接片来拍摄。这样可以提供远远更多的细节,即使缩图后也可以一眼看出来。同时对器材星点的要求也要低很多。我进入深空马赛克摄影这个大坑中的大坑也有半年多了,被它的地狱难度折磨之余,也因为它的魅力一直坚持着。可是网上讲解马赛克的文章很少,就算有介绍基本技术流程的,也大都着眼具体步骤的操作而没有更实战的内容。在这篇文章里,我会比较详细地介绍一下马赛克摄影中间可能会遇到的问题,以及如何解决。希望可以成为一个比较完备的入门进阶的资料。

前期

我们器材党,开拍之前需要先问一个问题,到底什么样的器材才适合马赛克呢?马赛克的优势主要是分辨率和信噪比。分辨率方面比较简单,口径越大的镜子光学分辨率就越高。马赛克信噪比的分析和一般的对象比较不同,一般从etendue的角度进行计算。这里有一个比较直观的介绍。基本思路就是一个光学系统的集光能力不仅和口径相关,同时也和传感器的面积相关。在拍摄小对象的时候,我们总是可以保证传感器能装下这个对象,所以往往说信噪比仅和口径相关。但在分析马赛克的时候,同时还要考虑传感器的面积。经过一些计算,最终的结论是,在大家都用同种相机的情况下,马赛克系统的集光能力(效率)仅和焦比相关,越快的镜子效率越高。所以我们在做广域巡天的时候,在保证不秃头的情况下,一般都用比较快+成像圈大的镜子。具体需要计算一下镜子的etendue(通光面积 x 视野)。

有了趁手的器材以后,马赛克和一般拍摄看上去唯一,或者说最明显的不同是拍摄计划更加复杂。我们不再是指向一个地方猛拍,而是需要做一个更复杂的拍摄计划。在ZWO的盒子里面叫多目标拍摄,NINA里面一般用高级序列进行处理。有很多网站/软件可以做马赛克的计划,比如Telescopius,或者NINA里面也有这个功能。我个人感觉Telescopius是功能比较强的一个平台,可以兼容有电动CAA和没有电动CAA的情况,对高赤纬的兼容性也比较好。它的使用非常直观,可以导出csv文件,直接贴到盒子/NINA里面就可以直接生成拍摄计划了。NINA的工具的好处是可以直接生成NINA里面的目标,但坏处是对高赤纬的兼容性比较差。

啥叫高赤纬的兼容性呢?这牵涉到天球的坐标系。类似地球,天球也有赤道,用相对赤道的纬度(赤纬)和经度(赤经)来定位。其中,每条纬线都是相互平行的(东西向),但每条经线相交于天球的南北极,并不是互相平行的。这在低纬的地方问题并不明显,可以近似为是平行的,但在高纬的地方就会有明显的偏差。所以即使我们的相机角度固定了,比如就是90度,也就是相机的x轴平行于经线,但我们在高赤纬的天区,从一条经线goto到另一条经线的时候,相机的x轴其实还是旋转了。体现在马赛克的规划上,就是横着的一排相机视角不再是互相平行的矩形,而是带有一些倾角。如下图所示。这个倾角会带来一些问题,比如中间可能会出现一些洞,比如图中的4,8,3号区域中间的一小块。这样的洞在最终合成的时候就会因为没有拍到任何信息,看上去就是一个黑的补丁。所以我们在高赤纬的地方要尤其注意这一点,要么增大帧与帧之间的重叠,要么引入电动CAA来纠正这一点。

High Declination Mosaic Failure

马赛克前期还有一个坑是中天翻转。这个在拍广域比如4x4的马赛克的时候特别明显。我有次拍的时候,运气不好,一晚上翻了四次,头都秃了。这个问题其实基本上只要注意到了就不会太惨。我自己的习惯是按列拍,也就是拍的时候固定赤经,变动赤纬南北方向拍。然后估计每一列需要多少时间,这个拍摄的速度和实际天球转动的速度只要差的比较大,就不会遇到赤道仪反复横跳的事情。

所以我们可以看到,如果想拍好马赛克,不仅需要更繁琐的步骤,同时还要对各个基本知识有更深刻的理解,比如etendue的概念,天球坐标系的理解,才能保证前期不出错或者效率高。所以我觉得这个是天文摄影里面一个相对进阶的内容。下面我们继续介绍一些后期的内容。这些要点有的也会影响前期。

后期

马赛克后期我比较推荐的基本流程是,在PI(PixInsight)里面使用WBPP校准叠加;对master做一些处理,比如剪裁,DBE等等;然后扔到APP(Astro Pixel Processor)里面马,出来每个通道马好的master;最后回到PI正常后期。为什么不用PI马呢,是因为实在是太慢了,效果也不好。为什么不用APP叠呢,是因为WBPP实在是太香了。WBPP可以用一个grouping keyword(分组关键字)来自动把马好的图分成很多组,每个组分别对齐叠加。比如我们拍摄的时候,把帧(panel)的编号放到目标的名字里,拍出来的图片可能就叫Panel_1_xxx.fit, Panel_1_yyy.fit, Panel_2_xxx.fit, Panel_2_yyy.fit。然后在WBPP里面我们把“Panel”设置成一个grouping keyword,就可以实现前两个图和后两个图分别对齐叠加,出两张master,非常方便。具体如何使用有很多细节需要注意,我们这里不再赘述,可以找一下网上相关的教程看一下。

在马赛克后期的过程中,一个非常重要的技巧就是批量处理。比如4x4 LRGBSHO的马赛克,光master就112张。但PI输出的是xisf文件,APP不认xisf,只能用fits。要一张张打开另存为头发早掉光了。所以就需要用一些技巧把xisf文件批量转为fits。这里主要用PI里面的ImageContainer。我们这里提供一个非常繁琐的文字叙述,以后会加上一个小视频来解释。大概地说,我们先用Ctrl+Alt+I打开ImageContainer,加载需要处理的文件,填入输出的路径和文件名,注意文件名的扩展名要设置成.fit。然后拖动小三角图标把它变成一个icon。接下来打开需要的process,比如这里是Resample,把缩放的比例设成100%(就是默认值,也就是不缩放),然后拖动小三角到刚才的icon上,PI就会开始批量处理所有指定的文件了。(这里还有一些细节是Resample会报一个错,所以要把里面的代码改成noGUIMessages = true,此处不赘述,具体可以搜索报错信息)

马完以后,一个很常见的问题就是图像一格一格的(如下图)。这往往是因为校准不完美导致的,可能是平场没拍好,或者是在拍摄的时候有眩光进入(比如大月亮的时候拍摄)。解决方法有前期的也有后期的。最理想的情况是,把平场和亮场拍摄的条件完全统一,比如不要在大月亮的时候硬拍。或者有条件的时候把每个通道分散在几个晚上多拍拍,这样平场纠正的缺陷就不会那么单一和极端。如果不能改变前期的话,后期的时候也可以对每个master进行DBE或者LocalNormalization,可以减轻这样的瑕疵。但我发现如果要对每个master进行修整的话,一定要用DBE而不能用ABE,否则整个图像的大尺度反差会被不自然地拉大,比如亮星云的外围有个黑圈等。

Mosaic Flat Failure

有些比较特殊的天区还有一些特殊的挑战。比如猎户这种亮星比较多的地方会有很多“圣光”,也就是视野外亮星的光打到某些组件,比如CMOS针脚上面辗转反射进CMOS感光区域的光。这种情况可以通过前期增大重叠,后期把圣光裁剪掉来解决。但是要注意同一个视野(panel)不同通道的裁剪方式要完全相同,否则可能出现通道对不齐的情况。在天赤道附近,还有一个问题是同步卫星非常多。同步卫星相对我们来说是静止的,在星轨里面会显示成一个点。但相对于恒星来说跑得就很快了,在赤道仪里面会拉成一条线。所以天赤道附近的区域在前期规划的时候就不要用长曝光,而要用稍短的曝光,保证张数来排异。

展示

在后期完成以后,另一个非常有挑战的问题是展示。直接传图到图片分享网站上去不是一个特别好的选择。虽然在仔细看或者稍微放大看的时候,马赛克会和一般单张的妖艳贱货很不一样,但现在大家都是手机看片,一张图扫个2秒,觉得平平无奇就过了,太可惜。这种大图比较适合像轰炸一样把所有的细节一下展示出来,让观众直接迷失在细节的海洋里。所以我觉得实体打印或者灯箱展示是比较好的。我自己先打印了一个1米长的图,挂在家里感觉很爽,现在还在打印一个2米长的图,等有结果了再来更新。

如果实在需要网络分享,也只能退而求其次了。但99%的人都是没有耐心等一张100多MB的马赛克图片加载完成的。所以我们需要一些技术手段来实现逐层渲染(progressive rendering),就像百度地图一样,随着你不断放大,总会有新的细节出来给你惊喜。而且因为只要动态加载视野里面相应分辨率的图片,速度也很快。这里有一个例子:https://lab.grapeot.me/gigapixel/DeepAndWideFieldOrion/。这样的图做起来也很简单,在Photoshop里面直接选择文件->导出->Zoomify就可以了。

以上简述了一些马赛克的过程中可能会遇到的挑战,如何在实战中解决,以及相关的理论知识。希望可以让大家在开始马第一张图的时候不要那么头秃。我现在在做天马球赛克,不是,天球马赛克,里面遇到的问题又更复杂了一个层次,比如要了解不同球面投影的方式从而进行坐标换算,自己写程序来生成每天的拍摄计划(几百个panel一个个加进NINA手要点烂掉),使用更复杂的可视化软件来实现VR观星等等。等有更多进展我再来汇报鸭。

Comments