DM入門 Home>

III. データ解析に必要なImage Info

Ver. 1.2: 2022.11.20
木本浩司

1. Image Infoとは

データを解析していくうえでは、計測条件(例えば倍率など)などのメタデータが必要です。DititalMicrographではそれぞれの画像データにメタデータが保存されており、Image Info (Cnt+D)として参照できます。このページではImage Infoの取り扱いを説明します。


画像強度の表示範囲(左のDisplay-ContrastのContrast Limits)のほか、カラー表示化する機能(Color)や、詳細なTag情報(Image-Tags)があります。

2. Image Infoの参照方法

具体的な参照方法は下記の通りです。


Dimensionは上からx,y,z,...。Scaleは1pixelの長さ、Originはpixel単位で左上が0、Unitは単位で任意のstringが可能。

3. Image Tagを使う場面

データを解析する場合に、image infoを参照する必要が出てきます。画像の表示方法はDisplay、実験条件やキャリブレーションはImageに書かれています。
例えば一般的な画像ファイル(例えば.jpg, .bmp)をDMで開いたのち、変換(例えばRGB → Real)することにより数値データとして取り扱うことはできますが、メタデータがないために倍率がcalibrationされていません。その場合calibrationの数値を入力する必要があります。

4. Image infoのためのScripts

Image infoに含まれる豊富な情報を一つ一つ編集するのではなく、まとめて処理する際には、Scriptが有効です。Scriptの基本的な使い方については別ページで説明します。
ここでは、そのまま利用できるscript codeを示します。

// Copy Image>Calibration from image to image
image imgfrom, imgto
if(!GetTwoLabeledImagesWithPrompt("Select 'Source' and 'Target' images","Copy ALL Tags.", "from", imgfrom, "to", imgto)) exit(0)
ImageCopyCalibrationFrom(imgto, imgfrom)
// Copy ImageCalibration from image to image
image imgfrom, imgto
if(!GetTwoLabeledImagesWithPrompt("Select 'Source' and 'Target' images","Copy Calibrations.", "from", imgfrom, "to", imgto)) exit(0)
ImageDisplay dspFrom = imgFrom.ImageGetImageDisplay( 0 )
ImageDisplay dspTo   =   imgTo.ImageGetImageDisplay( 0 )
// Get display info
number low, high, bright, contrast, gamma
dspFrom.ImageDisplayGetContrastLimits( low, high )
dspFrom.ImageDisplayGetContrastParameters( bright, contrast )
gamma = ImageDisplayGetGammaCorrection(dspFrom)
    //Image colorTableIN  := dspFrom.ImageDisplayGetInputColorTable(  ) 
// Set display info
dspTo.ImageDisplaySetContrastLimits( low, high )
dspTo.ImageDisplaySetContrastParameters( bright, contrast )
dspTo.ImageDisplaySetGammaCorrection(gamma)
    //dspTo.ImageDisplaySetInputColorTable( colorTableIN ) 
// Copy Image>Tags from image to image  
image imgfrom, imgto  
if(!GetTwoLabeledImagesWithPrompt("Select 'Source' and 'Target' images","Copy Image-Tags.", "from", imgfrom, "to", imgto)) exit(0)  
TagGroup SourceTags =ImageGetTagGroup(imgfrom)  
TagGroup TargetTags =ImageGetTagGroup(imgto)
TagGroupCopyTagsFrom(TargetTags, SourceTags)
// See and Save ImageTag as .gtg file
Image img := GetFrontImage()
TagGroup Itg = img.ImageGetTagGroup()
Itg.TagGroupOpenBrowserWindow( GetName(img) + "_tg", 0 ) 
if(!OkCancelDialog("Save this image tag?")) exit(0)
string path
SaveAsDialog("Save this global tags as .gtg", path, path)
TagGroupSaveToFile(Itg,path)

(補足) Global Tagについて

ここではimageTagを説明しましたが、そのほかにglobal tagと呼ばれるものがあります。Image tagはデータ毎のメタデータですが、global tagはソフトウエアの設定でpersistent tagなどとも呼ばれます。

// How to See and Save Global Tag as .gtg
TagGroup Gtg =GetPersistentTagGroup( )
Gtg.TagGroupOpenBrowserWindow( "Global tags", 0 )
if(!OkCancelDialog("Save global tag?")) exit(0)
string path
if(!SaveAsDialog("Save this global tags as .gtg", path, path)) exit(0)
TagGroupSaveToFile(Gtg,path)

5. DigitalMicrographの出入力