你怎么能对一批图像中提取元数据? 我首先想到的是录制宏,然后修改它的文件名列表进行操作。
本着这一精神,我尝试录制宏做这样的事情:
按Ctrl-O # Open a file
12.dm3 输入 # Select file to open
CTRL-I # Open metadata in a new window
按Ctrl-S # Save file
信息的12.txt 输入 # Name of file being saved
CTRL-W # Close current window
CTRL-W # Close current window
当我手动做这些,这些步骤起作用。 这导致下面的宏,这似乎是最缺少什么,我试图记录:
open("/path/to/file/12.dm3");
run("Show Info...");
run("Close");
run("Close");
修改是应该从图像中提取维度元Jython脚本 :
from java.io import File
from loci.formats import ImageReader
from loci.formats import MetadataTools
import glob
# Create output file
outFile = open('./pixel_sizes.txt','w')
# Get list of DM3 files
filenames = glob.glob('*.dm3')
for filename in filenames:
# Open file
file = File('.', filename)
# parse file header
imageReader = ImageReader()
meta = MetadataTools.createOMEXMLMetadata()
imageReader.setMetadataStore(meta)
imageReader.setId(file.getAbsolutePath())
# get pixel size
pSizeX = meta.getPixelsPhysicalSizeX(0)
# close the image reader
imageReader.close()
outFile.write(filename + "\t" + str(pSizeX) + "\n")
# Close the output file
outFile.close()
( 要点 )。
你可以使用getImageInfo(),而不是运行(“显示信息......”)。 这将创建包含运行(“显示信息...”)输出的宏字符串,但只要你喜欢就可以进行修改。 见http://rsb.info.nih.gov/ij/developer/macro/functions.html#getImageInfo以获取更多信息。