Fiji/ImageJのJython scriptでBio-formatsプラグインを使う

Olympus FV1000で取得したoibファイルなどをFiji/ImageJのBio-Formatsプラグインを使って一括でtiffファイルに変換するJython script


Jython scriptでのBio-Formatsの使い方は以下のページを参照

Jython example script for working with the Bio-Formats API in Fiji.


一応、動いたけどきちんとした動作確認はしていないので自己責任で

from loci.plugins import BF
from loci.plugins.in import ImporterOptions
import os, glob

def run():
    #変換したいファイルが入ったフォルダを選択(それ以外のファイルを入れないこと)
	inputDir = DirectoryChooser("Choose input directory").getDirectory() 
	if inputDir is None: #キャンセルした場合
		return

	#出力先のフォルダを選択
	targetDir = DirectoryChooser("Choose target directory").getDirectory()
	if targetDir is None: #キャンセルした場合
		return

    #入力ディレクトリからファイルだけを抽出する
	files = glob.glob(os.path.join(inputDir, "*.*"))

	for file in files: 
		options = ImporterOptions()
		options.setColorMode(ImporterOptions.COLOR_MODE_GRAYSCALE) #関係ないかも
		options.setId(file)
		imps = BF.openImagePlus(options)
		imp = imps[0] #impsはImagePlusオブジェクトのリストになってる?
		filename = file.split(os.sep)[-1].rsplit(".", 1)[0] #パスからファイル名だけを抽出
		output = os.path.join(targetDir, filename + ".tif")
		IJ.saveAsTiff(imp, output)
run()