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の出入力