Skip to content
Yusuke SETO edited this page Jul 21, 2022 · 20 revisions

IPAnalyzerでは、Pythonによるマクロ(作業の自動化)を組むことが出来ます。

以下のマクロ例は、IPAnalyzerのMacro ウィンドウにコピペして使用することが出来ます。

同一フォルダ内の複数のファイルを一次元プロファイルに変換し保存 (ファイルが単一画像を含む場合)

# 同一フォルダ内の複数のファイルを一次元プロファイルに変換し保存したい 
# (ファイルが単一画像を含む場合)

#まずファイルの名前(複数可)を取得
filelist = IPA.File.GetFileNames()
#filelistをfor文で回す
for filename in filelist:
  #拡張子がstlの場合
  if filename.endswith('.stl'):
    #ファイルを読み込む
    IPA.File.ReadImage(filename) 
    #GetProfile前に中心検索したい場合はTrueに。したくない場合はFalseに。
    IPA.Profile.FindCenterBeforeGetProfile = True
    #GetProfile前にスポット検索したい場合はTrueに。したくない場合はFalseに。
    IPA.Profile.FindSpotsBeforeGetProfile = True
    #GetProfile後にプロファイルをファイル保存したい場合はTrueに。したくない場合はFalseに。
    IPA.Profile.SaveProfileAfterGetProfile = True
    #CSV形式で保存したい場合はTrueに。他にもSaveProfileAsTSV, SaveProfileAsPDIがある。
    IPA.Profile.SaveProfileAsCSV =True
    #GetProfileを実行し、指定したファイル名でにプロファイルをファイル保存。
    IPA.Profile.GetProfile(filename)

同一フォルダ内の複数のファイルを一次元プロファイルに変換し保存 (ファイルが複数の画像を含む場合)

# 同一フォルダ内の複数のファイルを一次元プロファイルに変換し保存したい
# (ファイルが複数の画像を含む場合)

# まずファイルの名前(複数可)を取得
filelist = IPA.File.GetFileNames()
# 上記のfilelistをfor文で回す
for filename in filelist:
  #拡張子がhisの場合
  if filename.endswith('.his'):
    # ファイルを読み込む
    IPA.File.ReadImage(filename) 
    #GetProfile前に中心検索したい場合は以下をTrueに。したくない場合はFalseに。
    IPA.Profile.FindCenterBeforeGetProfile = True
    #GetProfile前にスポット検索したい場合は以下をTrueに。したくない場合はFalseに。
    IPA.Profile.FindSpotsBeforeGetProfile = True
    #GetProfile後にプロファイルを保存したい場合は以下をTrueに。したくない場合はFalseに。
    IPA.Profile.SaveProfileAfterGetProfile = True
    #CSV形式で保存したい場合は以下をTrueに。他にもSaveProfileAsTSV, SaveProfileAsPDIがある。
    IPA.Profile.SaveProfileAsCSV =True
    #含まれている画像の数 (IPA.Sequential.Count)だけループを回す 
    for num in range(IPA.Sequential.Count):
      #インデックスを指定
      IPA.Sequential.SelectedIndex = num
      #GetProfileを実行し、指定したファイル名でにプロファイルをファイル保存。
      IPA.Profile.GetProfile(filename + '_' + str(num))

同一フォルダ内の複数のファイル(stl, hisなど)を一度にtiffなどフォーマットに変換

# 同一フォルダ内の複数のファイル(stl, hisなど)を一度にtiffフォーマット変換したい

# IPA.File.GetFileNames() でファイル(複数可)を取得
filelist = IPA.File.GetFileNames()
# 上記のfilelistをfor文で回す
for filename in filelist:
  #拡張子がhisの場合
  if filename.endswith('.his'):
    IPA.File.ReadImage(filename) # ファイルを読み込む
    IPA.File.SaveImageAsTIFF(filename.replace('.his','.tif')) # tif形式で保存
  #拡張子がstlの場合
  if filename.endswith('.stl'):
    IPA.File.ReadImage(filename) # ファイルを読み込む
    IPA.File.SaveImageAsTIFF(filename.replace('.stl','.tif')) # tif形式で保存