Imagej/Fiji编写Python脚本(Jython & ImageJ)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44217573/article/details/115181039

前言

Imagej是生物和光学显微成像领域的一款非常实用,强大的软件。但是其GUI的界面往往不利于对批量的图像进行操作,FIJI可以通过Jython编写脚本,来实现.py文件的运行。

由于python执行速度较慢,imagej基于java编写而成,运行速度快,因此一些imagej里的操作可以通过编写python脚本的方式来代替python的算法,从而加快运行速度

读取图像

from ij import IJ, ImagePlus  

# read a image   
imp = IJ.getImage()
# get its ImageProcessor 
ip = imp.getProcessor() 

操作

找到使用某一个函数对应的Java类

比如说,我想使用ImageJ对一幅图像进行高斯滤波,先打开Plugins -- Utilities -- Find Commands..
在这里插入图片描述
在search一栏中搜索gauss
在这里插入图片描述
可以知道Gaussian Blur...对应的Java类 ij.plugin.filter.GaussianBlur

from ij.plugin.filter import GaussianBlur

对一个函数,如何知道需要输入那些参数?

1、通过ImageJ宏命令的记录, 来确定需要函数需要什么输入

在这里插入图片描述
然后再FIJI里找到你想使用的函数:
在这里插入图片描述
这样就会记录下你刚才点击的函数所对应的imagej宏操作
在这里插入图片描述

2、查找ImageJ官方文档, 来确定需要函数需要什么输入
imagej 的API的查询

https://imagej.net/developer/api/

GaussianBlur函数调用的参数的查询

https://imagej.net/developer/api/ij/plugin/filter/GaussianBlur.html
在这里插入图片描述
可以找到该类下面所对应的方法:
在这里插入图片描述

保存

from ij.io import FileSaver
# save picture
fs = FileSaver(imp)

folder = "E:\\Desktop\\pictures\\"
filepath = folder + "\\" + "galaxy256_blur.tif"   
fs.saveAsTiff(filepath)

code

from ij import IJ, ImagePlus       
from ij.plugin.filter import GaussianBlur
from ij.process import FloatProcessor   
from ij.io import FileSaver
 
# read a image   
imp = IJ.getImage()
# get its ImageProcessor 
ip = imp.getProcessor() 
GaussianBlur().blurGaussian(ip,2)
# show results  
imp = ImagePlus( "galaxy256_blur", ip) 
imp.show()

# save picture
fs = FileSaver(imp)

folder = "E:\\Desktop\\pictures\\"
filepath = folder + "\\" + "galaxy256_blur.tif"   
fs.saveAsTiff(filepath)


效果展示

在这里插入图片描述
如果对您有启发,欢迎您给我点赞👍支持!

参考资料

https://syn.mrc-lmb.cam.ac.uk/acardona/fiji-tutorial/#command-finder
https://imagej.net/Jython_Scripting_Examples.html#Language_basics

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值