LoginSignup
0
0

More than 3 years have passed since last update.

DigitalMicrographのColor Table作成

Posted at

Custom Color Table の作成

 DigitalMicrographにてモノクロ画像に色を付ける場合、右クリックメニューのImage infoからColorタブを選択し、Color Tableから好みのグラデーションを選択する。プリセットのColor Tableは正直今一つであると思う。モノクロ印刷したときに輝度値で強度が判定できるようなColor Tableを採用しているのであろうか。カラー印刷やディスプレイ上での見栄えは今一つ。そこで自分好みのColor Tableを作る。
参考:
https://stackoverflow.com/questions/25922047/how-to-save-customized-color-tables-in-digitalmicrograph-gms-2-x
 .dm3と.dm4の両方を「C:\Users_USERNAME_\AppData\Local\Gatan\ColorTables\」に保存しないと Color Table に反映されないとあるが、GMS 3.xではバグは修正された?ただし.dm4では認識せず、.dm3を保存すると認識した。GMS3でも.dm3で保存する必要があるようだ。ColorTablesフォルダはインストール直後には存在せず、自分で作成する必要がある。Prefsフォルダがある階層。
 また、公開されているscriptではColorTableを編集するものがあるが、Color LookUp Table (CLUT)という名前がつけられているので検索時の参考まで。
http://www.dmscripting.com/applyclut.html

RGBカラーのColor Tableを生成するscript

 デフォルトのColorTableにはRainbowがあり、光の波長の変化を表現するには最適。ただし、強度を表現する場合、色と強度の対応が直観的でない。強度が弱いときは青、強いときは赤としたいのだが、Rainbowでは逆である。そこで青から赤に連続的に変化するColor Tableを作成する。モノクロ印刷には向かない。
rainbow.png
これはデフォルトで入っているRainbow Color Table

 上図のようにColor Tableは16x16のサイズを持つ256ピクセルの画像データである。最初に256階調の1次元データ(clut)を作成し、それを16x16(clutimg)に整形する。

青-緑-赤のグラデーションのColor Table
blue2red.s
//custom color lookup table
//blue-green-red
number x=256
image clut:=RGBImage("",4,x,1)
clut[0,0,1,x/4]=rgb(0,icol*4,x)
clut[0,x/4,1,x/2]=rgb(0,x,x-icol*4)
clut[0,x/2,1,x*(3/4)]=rgb(icol*4,x,0)
clut[0,x*(3/4),1,x]=rgb(x,x-icol*4,0)

number xx=16
image clutimg:=RGBImage("blue to red",4,xx,xx)
for(number i=0;i<xx;i++)
{
    clutimg[i,0,i+1,xx]=clut[0,16*i,1,xx*i+xx]
}
clutimg.showimage()

 生成した画像を.dm3形式でC:\Users_USERNAME_\AppData\Local\Gatan\ColorTables\に保存すると、新しいColor Tableとして様々な画像のカラー化に適用することができる。
blue to red.png

黒-青-緑-赤-白のグラデーションのColor Table

 青の前に黒を入れると、強度が弱いところを表現しやすい(気がする)。最大強度は赤でも良いが、紫-白とすることで、強度が飽和する感が出る(気がする)。これもモノクロ印刷には不向き。電子線マイクロアナライザーEPMAの元素マッピングデータにおいてよく使われるカラースケールと類似のものを目指した。

blue2purple.s
//custom color lookup table
//blue-green-red-purple
//lowest: black, highest, white

number x=256
number n=7
image clut:=RGBImage("",4,x,1)
clut[0,0,1,x/n]=rgb(0,0,icol*n)
clut[0,x/n,1,2*x/n]=rgb(0,icol*n,x)
clut[0,2*x/n,1,3*x/n]=rgb(0,x,x-icol*n)
clut[0,3*x/n,1,4*x/n]=rgb(icol*n,x,0)
clut[0,4*x/n,1,5*x/n]=rgb(x,x-icol*n,0)
clut[0,5*x/n,1,6*x/n]=rgb(x,0,icol*n)
clut[0,6*x/n,1,7*x/n]=rgb(x,icol*n,x)

number xx=16
image clutimg:=RGBImage("blue to purple",4,xx,xx)
for(number i=0;i<xx;i++)
{
    clutimg[i,0,i+1,xx]=clut[0,16*i,1,xx*i+xx]
}
clutimg.showimage()

blue to purple.png

 TEMの電子回折図形はこれらのColor Tableで疑似的に着色すると、弱い回折斑点が見やすくなることがある。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0