データを解析していくうえでは、計測条件(例えば倍率など)などのメタデータが必要です。DititalMicrographではそれぞれの画像データにメタデータが保存されており、Image Info (Cnt+D)として参照できます。このページではImage Infoの取り扱いを説明します。
具体的な参照方法は下記の通りです。
データを解析する場合に、image infoを参照する必要が出てきます。画像の表示方法はDisplay、実験条件やキャリブレーションはImageに書かれています。
例えば一般的な画像ファイル(例えば.jpg, .bmp)をDMで開いたのち、変換(例えばRGB → Real)することにより数値データとして取り扱うことはできますが、メタデータがないために倍率がcalibrationされていません。その場合calibrationの数値を入力する必要があります。
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)
ここでは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)