Fiji —— 基于 imageJ 的免费且开源的图像处理软件

文章目录

  • 一、Fiji —— 用于科学图像处理和分析
    • 1.1、工具安装(免费)
    • 1.2、源码下载(免费)
  • 二、功能详解
    • 2.0、Fiji - ImageJ(Web应用程序)
    • 2.1、常用功能(汇总)
    • 2.2、Fiji - Plugins(插件)
      • (1)labkit:显微镜图像分割
      • (2)Cellpose:一种通用的、基于深度学习的细胞分割方法。

在这里插入图片描述

一、Fiji —— 用于科学图像处理和分析

Fiji 与 ImageJ 的比较,就如同 Ubuntu 与 Linux 的比较一样。

  • ImageJ:用于处理和分析科学图像的开源软件。
    • 由美国国立卫生研究院(NIH)开发
    • ImageJ:是最初的桌面应用程序,自 1997 年开始开发。
    • ImageJ2:是针对科学多维图像数据的 ImageJ 新版本。
  • Fiji(Fiji is just imageJ):用于科学图像分析的 ImageJ 的 " 内置功能 " 发行版。
    • 它在 ImageJ 的基础上预装了大量常用插件和脚本,简化了安装和配置过程,特别适合生物图像分析。Fiji 还集成了更新管理功能,方便用户获取最新插件和工具。

在这里插入图片描述

  1. 核心基础
    两者都基于 ImageJ 的核心代码,因此具有相同的图像处理和分析功能。
    两者使用相同的编程语言(Java)和脚本语言(如宏和 JavaScript)。

  2. 开源与免费
    两者都是开源软件,用户可以免费下载和使用。
    源代码公开,允许用户根据需要修改和扩展功能。

  3. 跨平台支持
    两者都支持跨平台运行,可在 Windows、macOS 和 Linux 系统上使用。

  4. 插件扩展
    两者都支持通过插件扩展功能,用户可以根据需要添加特定工具或算法。
    共享大量相同的插件生态系统(拥有数千个插件)。

  5. 图像处理与分析功能
    提供丰富的图像处理功能,如滤波、分割、增强、形态学操作等。
    提供测量工具,用于定量分析(如长度、面积、强度等)。

  6. 科学应用
    广泛应用于科学研究领域,如生物学、医学、材料科学等。
    支持处理显微镜图像、医学影像、时间序列图像等。
    支持多种图像格式(如 TIFF、JPEG、PNG、DICOM 等)。

1.1、工具安装(免费)

  • 【Fiji】https://fiji.sc/
  • Fiji 拥有数千个插件:https://imagej.net/list-of-extensions!

1.2、源码下载(免费)

  • 【imageJ or imageJ2】https://github.com/imagej
  • 【Fiji】https://github.com/fiji
  • 项目搭建:通过 IntelliJ IDEA 加载项目(源码),并完成配置环境,最后执行项目。
    • Java 环境配置 + IntelliJ IDEA 使用指南
  • 使用建议:通过源码启动工具,可以分析其每个步骤(函数或算法)的执行逻辑(像素级)。
    • 用于加速学习和理解,而且可以快速复现功能。

实测结果:Fiji 开源版本对 SDK 版本有特定要求,最终测定并安装成功。

  • JDK版本号:Oracle OpenJDK version 1.8.0_77(官网下载安装)
    • 已测试版本(失败):Oracle OpenJDK version 1.8.0_441(官网下载安装)
    • 已测试版本(失败):Amazon Corretto version 1.8.0_442(使用IntelliJ IDEA在配置中自动下载)
    • 已测试版本(失败):Amazon Corretto version 18.0.2(使用IntelliJ IDEA在配置中自动下载)
    • 已测试版本(失败):Oracle OpenJDK version 20.0.1(官网下载安装)
    • 已测试版本(失败):Oracle OpenJDK version 23.0.2(使用IntelliJ IDEA在配置中自动下载)
  • maben版本(该工具版本没要求):apache-maven-3.9.2
错误提示如下:
Exception in thread "main" java.lang.NoClassDefFoundError: io/scif/SCIFIOServiceat net.imagej.ImageJ.<init>(ImageJ.java:75)at sc.fiji.Main.main(Main.java:50)
Caused by: java.lang.ClassNotFoundException: io.scif.SCIFIOServiceat java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)... 2 more

官方:我们致力于开源。开源不仅允许其他开发人员将应用程序移植到原作者未曾想到的新平台上,还允许科学家研究代码以了解所用算法的内部工作原理,并允许其他人以全新的方式使用该程序,并以所有可以想象的方式对其进行改进。

二、功能详解

2.0、Fiji - ImageJ(Web应用程序)

Fiji - ImageJ(Web应用程序):https://ij.imjoy.io

在这里插入图片描述

2.1、常用功能(汇总)

以下是个人使用使用过程中常用的功能,由于Fiji集成功能非常庞大,仅供参考。

	功能			操作步骤												快捷键
"""加载超大内存图像	Fiji - File + Import + TIFF Virtual Stack保存图像			Fiji - File + Save as + TIFF/Image Sequence保存Screenshot														Ctrl + Shift + G查看三视图															Ctrl + Shift + H绘制直方图															Ctrl + H截取图像			Fiji - 绘制矩形框 + 鼠标右键 + Duplicate + Range(3D)Image数据类型转换		Fiji - Image + Type对比度调整		Fiji - Image + Adjust + Brightness/Contrast			Ctrl + Shift + C灰度阈值分割		Fiji - Image + Adjust + Threshold					Ctrl + Shift + T最大强度投影		Fiji - Image + Stacks + Z Project + Max Intensity切换观察视角		Fiji - Image + Stacks + Reslice + Start atProcess轮廓提取			Fiji - Process + Find Edges去除背景			Fiji - Process + Subtract Background直方图均衡化		Fiji - Process + Enhance Contrast添加噪声			Fiji - Process + Noise + 随机噪声/高斯噪声/椒盐噪声gamma值调整		Fiji - Process + Math + GammaFFT				Fiji - Process + FFT + FFT or Inverse FFT高斯滤波			Fiji - Process + Filters + Gaussian Blur - sigma(Radius)Analyze绘制信号分布图	Fiji - 绘制矩形框 + Analyze + Plot Profile			Ctrl + K同步窗口			Fiji - Analyze + Tools + Synchronize Windows同步ROI			Fiji - 绘制矩形框 + T
"""

2.2、Fiji - Plugins(插件)

(1)labkit:显微镜图像分割

Fiji - labkit(官网介绍 + 视频教程):用于显微镜 2D 或 3D 图像的手动和自动分割

细胞分割效果较好,脑图像分割效果较差(需要精调)
在这里插入图片描述

(2)Cellpose:一种通用的、基于深度学习的细胞分割方法。

基于预训练模型(cellpose提供基于细胞质、细胞核等七个不同数据集训练得到的模型),然后在自己的数据集上预测,并手动标记ROI进行模型微调。

只适用于细胞分割(细胞质、细胞核),不适用于神经元分割(如下图)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/896820.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyQT(PySide)的上下文菜单策略设置setContextMenuPolicy()

在 Qt 中&#xff0c;QWidget 类提供了几种不同的上下文菜单策略&#xff0c;这些策略通过 Qt::ContextMenuPolicy 枚举类型来定义&#xff0c;用于控制控件&#xff08;如按钮、文本框等&#xff09;在用户右键点击时如何显示上下文菜单。 以下是 Qt::ContextMenuPolicy 枚举中…

快慢指针【等分链表、判断链表中是否存在环】

一、等分链表&#xff1a;找到链表的中间节点 Java 实现 class ListNode {int val;ListNode next;ListNode(int val) {this.val val;this.next null;} }public class MiddleOfLinkedList {public ListNode findMiddleNode(ListNode head) {if (head null) {return null;}L…

系统架构设计师—计算机基础篇—计算机网络

文章目录 网络互联模型网络协议与标准应用层协议FTP协议TFTP协议 HTTP协议HTTPS协议 DHCP动态主机配置协议DNS协议迭代查询递归查询 传输层协议网络层协议IPV4协议IPV6协议IPV6数据报的目的地址IPV4到IPV6的过渡技术 网络设计分层设计接入层汇聚层核心层 网络布线综合布线系统工…

计算机基础面试(操作系统)

操作系统 1. 什么是进程和线程&#xff1f;它们的核心区别是什么&#xff1f; 专业解答&#xff1a; 进程是操作系统分配资源的基本单位&#xff0c;拥有独立的内存空间&#xff1b;线程是进程内的执行单元&#xff0c;共享同一进程的资源。区别在于&#xff1a;进程间资源隔离…

考研408数据结构线性表核心知识点与易错点详解(附真题示例与避坑指南)

一、线性表基础概念 1.1 定义与分类 定义&#xff1a;线性表是由n&#xff08;n≥0&#xff09;个相同类型数据元素构成的有限序列&#xff0c;元素间呈线性关系。 分类&#xff1a; 顺序表&#xff1a;元素按逻辑顺序存储在一段连续的物理空间中&#xff08;数组实现&…

【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.2.2倒排索引原理与分词器(Analyzer)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 1.2.2倒排索引原理与分词器&#xff08;Analyzer&#xff09;1. 倒排索引&#xff1a;搜索引擎的基石1.1 正排索引 vs 倒排索引示例数据对比&#xff1a; 1.2 倒排索引核心结…

Springboot项目本地连接并操作MySQL数据库

目录 前提 准备工作 用cmd在本地创建数据库、表&#xff1a; 1.创建springboot项目&#xff08;已有可跳过&#xff09; 2.编辑Mybatis配置 3.连接数据库 4.创建模型类&#xff0c;用于与数据库里的数据表相连 5.创建接口mapper&#xff0c;定义对数据库的操作 6.创建…

《宝塔 Nginx SSL 端口管理实战指南:域名解析、端口冲突与后端代理解析》

&#x1f4e2; Nginx & SSL 端口管理分析 1️⃣ 域名解析与 SSL 申请失败分析 在使用宝塔申请 www.mywebsite.test 的 SSL 证书时&#xff0c;遇到了解析失败的问题。最初&#xff0c;我认为 www 只是一个附加的前缀&#xff0c;不属于域名的关键部分&#xff0c;因此只为…

java和Springboot和vue开发的企业批量排班系统人脸识别考勤打卡系统

演示视频&#xff1a; https://www.bilibili.com/video/BV1KU9iYsEBU/?spm_id_from888.80997.embed_other.whitelist&t52.095574&bvidBV1KU9iYsEBU 主要功能&#xff1a; 管理员管理员工&#xff0c;采集员工人脸特征值存入数据库&#xff0c;可选择多个员工批量排班…

DeepSeek学习规划

DeepSeek是一个专注于深度学习和人工智能技术研究与应用的平台&#xff0c;旨在通过系统化的学习和实践&#xff0c;帮助用户掌握深度学习领域的核心知识和技能。为了在DeepSeek平台上高效学习&#xff0c;制定一个科学合理的学习规划至关重要。以下是一个详细的学习规划&#…

打开 Windows Docker Desktop 出现 Docker Engine Stopped 问题

一、关联文章: 1、Docker Desktop 安装使用教程 2、家庭版 Windows 安装 Docker 没有 Hyper-V 问题 3、安装 Windows Docker Desktop - WSL问题 二、问题解析 打开 Docker Desktop 出现问题,如下: Docker Engine Stopped : Docker引擎停止三、解决方法 1、检查服务是否…

突破Ajax跨域困境,解锁前端通信新姿势

一、引言 在当今的 Web 开发领域&#xff0c;前后端分离的架构模式已经成为主流&#xff0c;它极大地提升了开发效率和项目的可维护性。在这种开发模式下&#xff0c;前端通过 Ajax 技术与后端进行数据交互&#xff0c;然而&#xff0c;跨域问题却如影随形&#xff0c;成为了开…

Mercury、LLaDA 扩散大语言模型

LLaDA 参考&#xff1a; https://github.com/ML-GSAI/LLaDA https://ml-gsai.github.io/LLaDA-demo/ 在线demo&#xff1a; https://huggingface.co/spaces/multimodalart/LLaDA Mercury 在线demo&#xff1a; https://chat.inceptionlabs.ai/ 速度很快生成

Rust~String、str、str、String、Box<str> 或 Box<str>

Rust语言圣经中定义 str Rust 语言类型大致分为两种&#xff1a;基本类型和标准库类型&#xff0c;前者由语言特性直接提供&#xff0c;后者在标准库中定义 str 是唯一定义在 Rust 语言特性中的字符串&#xff0c;但也是几乎不会用到的字符串类型 str 字符串是 DST 动态大小…

大数据SQL调优专题——底层调优

引入 上一篇我们提到了调优的常见切入点&#xff0c;核心就是通过数据产出情况发现问题&#xff0c;借助监控等手段收集信息排查瓶颈在哪&#xff0c;最后结合业务理解&#xff0c;等价重写思路去解决问题。 在实际工作场景中&#xff0c;去保证数据链路产出SLA的时候&#x…

Hue 编译异常:ImportError: cannot import name ‘six‘ from ‘urllib3.packages‘

个人博客地址&#xff1a;Hue 编译异常&#xff1a;ImportError: cannot import name six from urllib3.packages | 一张假钞的真实世界 在编译Hue的时候出现错误信息如下&#xff1a; Running /home/zhangjc/ysten/git/ysten-hue/build/env/bin/hue makemigrations --noinpu…

计算机网络——详解TCP三握四挥

文章目录 前言一、三次握手1.1 三次握手流程1.2 tcp为什么需要三次握手建立连接&#xff1f; 二、四次挥手2.1 四次挥手流程2.2 为什么是四次&#xff0c;不是三次&#xff1f;2.3 为什么要等待2msl&#xff1f;2.4 TCP的保活计时器 前言 TCP和UDP是计算机网络结构中运输层的两…

# C# 中堆(Heap)与栈(Stack)的区别

在 C# 中&#xff0c;堆和栈是两种不同的内存分配机制&#xff0c;它们在存储位置、生命周期、性能和用途上存在显著差异。理解堆和栈的区别对于优化代码性能和内存管理至关重要。 1. 栈&#xff08;Stack&#xff09; 1.1 定义 栈是一种后进先出&#xff08;LIFO&#xff0…

如何把图片或者图片地址存到 MySQL 数据库中以及如何将这些图片数据通过 JSP 显示在网页中

如何优雅地管理图片&#xff1a;从MySQL数据库存储到JSP展示的全流程解析 在互联网时代&#xff0c;一张引人入胜的图片往往能为网站带来巨大的流量。而作为开发者的我们&#xff0c;如何高效地管理和展示这些图片资源则成为了一项重要的技术挑战。今天&#xff0c;我们就一起…

「拼好帧」小黄鸭 Lossless Scaling 软件介绍与下载

「拼好帧」小黄鸭 Lossless Scaling 软件介绍与下载 在游戏和视频播放时&#xff0c;你是否遇到过分辨率不匹配、画质模糊的问题&#xff1f;今天给大家介绍一款神器——Lossless Scaling&#xff08;拼好帧&#xff09;&#xff0c;也被玩家们亲切地称为“小黄鸭”&#xff0…