如何从使用ImageJ DM3文件的批量提取元数据?(How do I batch extract

2019-09-26 13:40发布

你怎么能对一批图像中提取元数据? 我首先想到的是录制宏,然后修改它的文件名列表进行操作。

本着这一精神,我尝试录制宏做这样的事情:

按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");

Answer 1:

修改是应该从图像中提取维度元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()

( 要点 )。



Answer 2:

你可以使用getImageInfo(),而不是运行(“显示信息......”)。 这将创建包含运行(“显示信息...”)输出的宏字符串,但只要你喜欢就可以进行修改。 见http://rsb.info.nih.gov/ij/developer/macro/functions.html#getImageInfo以获取更多信息。



文章来源: How do I batch extract metadata from DM3 files using ImageJ?
标签: imagej