GeneralizedHyperbolicStretch (GHS)
GeneralizedHyperbolicStretch(GHS)は、リニアデータを目に見える画像に変換する。固定されたカーブとは違い、どの明るさを中心にコントラストを最も強めるかを決め、その上下でストレッチを制限できる。
目的
| 用途 | 設定 |
|---|---|
| リニアデータを非線形の画像にする | 最初のストレッチ、SP を背景に |
| 情報を失わずに背景を暗くする | Transformation type Linear、Blackpoint |
| 色を褪せさせずにカラー画像をストレッチする | Mode Colour |
なぜ1 回のヒストグラムストレッチではなく GHS を使うのか
HistogramTransformation は、1 本の固定カーブですべての階調を持ち上げる。GHS はコントラストを最も強める範囲(SP)を自由に決め、その上(HP)と下(LP)でストレッチを制限する。淡い構造がある階調にだけコントラストをつけ、恒星を飛ばさずに済む。1 回ごとに測り直せるので、大きな 1 回より小さな数回のほうが制御しやすい。
原理
- ストレッチが正(D > 0)のとき、カーブは全域で対角線より上にある。背景を含めてすべての値が持ち上がり、背景のピークは右へ移る。
- GHS はストレッチするだけで、ブラックポイントは 0 のままである。背景は中間のグレーに浮き、その左側の階調は空いたままになる。画像は白っぽく眠い印象になる。SP や LP ではこれは変わらない。
- ブラックポイントだけを上げると背景は暗くなるが、淡い構造がまだ背景に近いうちは一緒に沈んでしまう。
- そこで原則は ストレッチとブラックポイントを交互に行うこと。ストレッチで構造と背景を引き離し、ブラックポイントで背景を下げる。繰り返すたびに両者の差が広がる。
- Auto-STF が 1 回の GHS より締まって見えるのは、ストレッチとブラックポイント(およそ中央値 − 2.8 × MAD)を組み合わせているためである。
パラメーター
| パラメーター | 略号 | 効果 | 一般的な選び方 |
|---|---|---|---|
| Stretch factor (ln(D+1)) | D | 1 回あたりのストレッチの強さ | 最初は高く(リニアの背景はとても暗い)、後は細かく調整するため小さく |
| Local intensity | b | SP 周辺へのコントラストの集中度。高いほど狙いが絞られる | 最初は高く、後は均一に持ち上げるため低く |
| Symmetry point | SP | コントラストが最も強まる値 | 背景のピークに。そのすぐ上の構造が最もコントラストを得る |
| Protect shadows | LP | これより下ではコントラストを追加しない | 背景より下のノイズの強調を防ぐ。背景が明るくなることは防がない |
| Protect highlights | HP | これより上のストレッチを制限する | 恒星の中心や明るい部分の白飛びを防ぐ |
操作
- 先に複製を作っておく。リニアの元画像は戻れる場所として残す。
- Real-Time Preview を有効にし、メイン画像の STF をリセットする(Ctrl+F12)。そうしないとプレビューが STF を引き継ぎ、さらにストレッチされて見える。
- 画像は 32 ビット浮動小数点でなければならない(メインウィンドウのステータスバー:f32)。16 ビットでは 0.0001 のリニア背景にわずかな段階しかなく、ストレッチするとトーンジャンプが出る。プレビューには画像ではなくプレビュー自身の形式(例 i16)が表示される。
値を測る
- メイン画像で Auto-STF を有効にする(Ctrl+A)。変わるのは表示だけで、画素値は変わらない。
- GHS を開いたまま、マウスの左ボタンを押した状態で測りたい場所をクリックする。値は Readout Data に表示される。
- Send to SP で値を SP に送る。LP には専用ボタンがないので、値を入力するか Fine adjustment で LP を選ぶ。
- メイン画像の STF を再びリセットする。
- 安定した値を得るには Edit → Readout Options で Probe size 9×9 または 15×15、Mean か Median、Apply Global を設定する。測定範囲に暗い恒星が入る場合は中央値のほうが頑健である。
- 代わりに GHS のグラフで背景のピークをクリックしてもよい(グラフを拡大する。リニア画像ではピークは左端にある)。
- ピークは 1 回ごとに右へ移る → 毎回、ストレッチの前に測り直す。
代表的な使い方
サイクルによる最初のストレッチ
1 最初のストレッチ(1〜2 回) SP = 背景、LP = 0
↓
2 ブラックポイント(Linear) ピークの左裾の手前まで
↓
3 SP を測り直してストレッチ SP = 背景、LP は SP のすぐ下
↓
4 ブラックポイント(Linear) 小さく
↓
構造がはっきり分かれ、背景が暗くなるまで 3〜4 を繰り返す| ステップ | Transformation type | D | b | SP | LP | HP |
|---|---|---|---|---|---|---|
| 1 最初のストレッチ | Generalised Hyperbolic | 2〜4 | 4〜8 | 背景 | 0 | 1.0 |
| 2 ブラックポイント | Linear | – | – | – | – | – |
| 3 ストレッチ | Generalised Hyperbolic | 1〜3 | 2〜4 | 背景(測り直し) | SP のすぐ下 | 0.95〜1.0 |
| 4 ブラックポイント | Linear | – | – | – | – | – |
なぜ2 回目以降は LP を SP のすぐ下に置くのか
最初のブラックポイントの後、背景より下にあるのはノイズと最も暗い構造だけになる。LP は、この範囲が回を重ねるごとにコントラストを得て、ノイズが目立つのを防ぐ。LP を SP より上にしてはならない。
- リニアの背景が非常に暗い場合(中央値が 10⁻⁴ 前後)、最初のストレッチには複数回が必要になる。
- 淡い構造に SP を置いたコントラスト調整は、たいてい効果的でない。SP と背景が近すぎて背景も明るくなり、恒星も膨らむ。局所的なコントラストは、後で 局所的なコントラストを高める。すぐ周りとわずかにしか違わない構造を、画像全体の階調をずらさずに浮かび上がらせる。 基礎を開く → や 自由に形を変えられるカーブで階調を割り当て直す。コントラスト、彩度、色相、特定の階調域の調整に使う。効果は画像全体に及び、局所的に効かせるにはマスクが必要。 基礎を開く → でつけるほうがよい。
ブラックポイントを置く
- Transformation type: Linear を選ぶ。
- Blackpoint は、ヒストグラムのピークの左裾のすぐ左までにとどめ、ピークまでは上げない。
- プレビューで確認する:背景が暗くなり、淡い構造は見えたままであること。
なぜ左裾までにとどめるのか
左裾より左にはノイズとごくわずかな画素しかないので、そこにブラックポイントを置いても情報は失われない。ピークまで上げると背景の半分が切り捨てられる。
- クリップしない:ヒストグラムの左端、ゼロに画素が積み上がらないこと。切り捨てた画素は戻らない。
- 代わりに HistogramTransformation のシャドウスライダーを使ってもよい。ダイアログに切り捨てられる画素の割合が表示されるので、0.01〜0.05 % 程度未満に抑える。
- 途中のブラックポイントは強めでよいが、最後は控えめに。最後のブラックポイントが、完成画像で暗部にどれだけ余裕を残すかを決める。
カラー画像:Colour モード
Colour Options の項目:
| 項目 | 機能 |
|---|---|
| Mode | RGB:各チャンネルを独立して処理 → 色が褪せる。Colour:画素の全チャンネルを同じ比率で処理 → 彩度が保たれる |
| Clip type | 1 を超える値の扱い。既定は RGBBlend |
| Colour blend | 1.000 = 純粋な Colour モード。小さくすると RGB が混ざる |
| Use RGB working space | 作業色空間の輝度係数で重み付けする |
設定: Mode Colour、Colour blend 1.000、Use RGB working space を有効にする。毎回、実行前に確認する。モノクロ画像では関係ない。
なぜColour モードを使うのか
ストレッチは非線形のカーブである。チャンネルごとに別々に適用すると、画素内のチャンネル比が変わる。いちばん暗いチャンネルが相対的に最も持ち上がり、すべての色がグレーへ寄っていく。Colour モードでは重み付き平均をストレッチし、各チャンネルを同じ倍率で拡大するので色が保たれる。Use RGB working space は明るさの感度(緑を強く)で重み付けするため、ストレッチが知覚上の明るさに沿う。
モノクロ画像:Auto-STF をそのまま適用する
GHS を使わない手早い方法:
- リニア画像で Auto-STF(Ctrl+A)。
- STF の三角形を HistogramTransformation の下部バーへドラッグ&ドロップする。
- STF をリセットし(Ctrl+F12)、HistogramTransformation を適用する。
グレースケール画像専用:Auto-STF はチャンネルごとに別々にストレッチするため、カラー画像では彩度が落ちる。背景はやや明るめ(0.25 前後)になるので、必要なら小さくブラックポイントを置く。
よい結果の見分け方
よくある失敗
| 症状 | 原因 | 対処 |
|---|---|---|
| 恒星が飛ぶ、膨らむ | HP が高すぎる、D が大きすぎる | HP を下げ、1 回あたりの D を小さく |
| 背景が白っぽく眠い | ブラックポイントがない | Linear と Blackpoint で 1 回行う |
| ブラックポイントの後に構造が消える | 構造がまだ背景に近すぎる | ブラックポイントを戻し、さらにストレッチしてからやり直す |
| 色が薄い | Mode RGB | Use RGB working space つきの Mode Colour |
| 構造が平板 | サイクルが足りない | ストレッチ+ブラックポイントをもう 1 サイクル |
| トーンジャンプ、階調の段差 | 画像が 16 ビット | 32 ビット浮動小数点に変換してストレッチし直す |
| プレビューが明るすぎる | メイン画像の STF が有効 | Ctrl+F12 |
向いている場面・向いていない場面
| 向いている | 別のツールがよい |
|---|---|
| リニアデータを制御しながらストレッチする | グレースケールを手早くストレッチ → HistogramTransformation で Auto-STF |
| クリップせずに背景を暗くする | 非線形画像で階調域を合わせる → 自由に形を変えられるカーブで階調を割り当て直す。コントラスト、彩度、色相、特定の階調域の調整に使う。効果は画像全体に及び、局所的に効かせるにはマスクが必要。 基礎を開く → |
| 彩度を保ったままカラー画像をストレッチする | 局所的なコントラスト → 局所的なコントラストを高める。すぐ周りとわずかにしか違わない構造を、画像全体の階調をずらさずに浮かび上がらせる。 基礎を開く → |
CurvesTransformation · HaLRGB のワークフロー · StarXTerminator (SXT) · クアッドバンドフィルターを使った OSC のワークフロー · ナローバンドのワークフロー(HOO/SHO)