[waveletReducer]
levelX        =   Track(5,0,5, ,,"横方向の解析回数")
levelY        =   Track(5,0,5, ,,"縦方向の解析回数")
func          =   Track(0,0,2, ,,"展開するプレーンを設定します。\n0:輝度\n1:Cb\n2:Cr")

threshold1    =   Track(20,0,255, ,,"各レベルに対する閾値です。上げすぎると輪郭が荒れます。上限はありませんが、普段は20程度にしておくべきでしょう。")
threshold2    =   Track(20,0,255, ,,"各レベルに対する閾値です。上げすぎると輪郭が荒れます。上限はありませんが、普段は20程度にしておくべきでしょう。")
threshold3    =   Track(20,0,255, ,,"各レベルに対する閾値です。上げすぎると輪郭が荒れます。上限はありませんが、普段は20程度にしておくべきでしょう。")
threshold4    =   Track(35,0,255, ,,"各レベルに対する閾値です。上げすぎると輪郭が荒れます。上限はありませんが、普段は20程度にしておくべきでしょう。")
threshold5    =   Track(40,0,255, ,,"各レベルに対する閾値です。上げすぎると輪郭が荒れます。上限はありませんが、普段は20程度にしておくべきでしょう。")

type          =   Track(5,0,5, ,,"MotherWaveletの種類です。
0:Haar(2Block分)
1:N=2のDaubechies(4Block分)
2:N=3のDaubechies(6Block分)
3:N=2のCoiflet(6Block分)
4:N=4のDaubechies(8Block分)
5:N=6のDaubechies(12Block分)
数値が大きいほど重くなりますが、輪郭の荒れ方が変わります。Haarは最も軽いですが、Wavelet縮退ではブロックノイズが出易いので使わない方が良いでしょう。多重解像度解析分解2DNRの時はHaarのWaveletでも使用に耐えます。数値が大きい程、閾値を上げても輪郭が四角くなり難くなります。")

mode          =   Track(2,0,4, ,,"NRの方法を選択します。
0:Wavelet縮退によるNR
1:多重解像度解析分解2DNR
2:Wavelet縮退によるNR(SoftThreshold)
3:Wavelet縮退によるNR(分布対応SoftThreshold)
4:Wavelet縮退によるNR(割り算縮退)")

rate          =   Track(100,0,100, ,,"mode2,3のSoftThresholdにおいて、通常面に対してThreshold値をどれだけ効かせるかを0～100で設定します。
mode4では縮退の度合いの強さの設定に使用するようになりました。mode4時には0以上で、上限は設けてありません。")

debug         =   Check(false,"デバッグ用フラグ","普段は0で使用して下さい。wavelet展開値を見る事が出来るので、パラメータの調整には良いかもしれません。")
d2nr          =   Track(0,0,3,Hint="2DNRした結果をどうするか？
0:そもそも2DNRしない、1:平均する、2:中央値を取る、3:Wavelet展開しない(2DNROnlyモード)")
d2range       =   Track(2,1,255,Hint="2DNRする範囲")
d2Threshold   =   Track(30,0,255,Hint="2DNR用閾値")
autoThreshold =   Check(false,"閾値自動設定モードフラグ")



[wavelet2DNR]
level         =   Track(4,0,4, ,,"解析回数")
func          =   Track(0,0,2, ,,"展開するプレーンを設定します。\n0:輝度\n1:Cb\n2:Cr")
threshold1    =   Track(25,0,255, ,,"各レベルに対する閾値です。上げすぎると輪郭が薄くなります。\nボケて周りに拡散する事は殆どありませんが、のっぺりとした質感になってきますので程々にしておきましょう。\n上限はありません。")
threshold2    =   Track(60,0,255, ,,"各レベルに対する閾値です。上げすぎると輪郭が薄くなります。\nボケて周りに拡散する事は殆どありませんが、のっぺりとした質感になってきますので程々にしておきましょう。\n上限はありません。")
threshold3    =   Track(70,0,255, ,,"各レベルに対する閾値です。上げすぎると輪郭が薄くなります。\nボケて周りに拡散する事は殆どありませんが、のっぺりとした質感になってきますので程々にしておきましょう。\n上限はありません。")
threshold4    =   Track(75,0,255, ,,"各レベルに対する閾値です。上げすぎると輪郭が薄くなります。\nボケて周りに拡散する事は殆どありませんが、のっぺりとした質感になってきますので程々にしておきましょう。\n上限はありません。")
threshold5    =   Track(70,0,255, ,,"各レベルに対する閾値です。上げすぎると輪郭が薄くなります。\nボケて周りに拡散する事は殆どありませんが、のっぺりとした質感になってきますので程々にしておきましょう。\n上限はありません。")

type          =   Track(5,0,5, ,,"MotherWaveletの種類です。
0:Haar(2Block分)
1:N=2のDaubechies(4Block分)
2:N=3のDaubechies(6Block分)
3:N=2のCoiflet(6Block分)
4:N=4のDaubechies(8Block分)
5:N=6のDaubechies(12Block分)
数値が大きい程重くなります。またWavelet縮退を利用したNRとは違い、NRの手法自体は昔ながらの
2DNRの為、HaarのWaveletでも見た目おかしくなる事は殆どありません。但し、レベル4,5辺りの閾値をとても大きな値にするとHaarを使用している時にブロックノイズが見えてきます。この場合はtypeの
値を大きくしていって下さい。")

