2 Star 0 Fork 0

上海科技大学管吉松实验室/钙处理工具箱

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

钙处理工具包,依赖OME Bio-Formats 5D 扩展 ExtensionOME Big TIFF 5D数据格式规范

目录

本包中所有函数均在CaProcessing命名空间下,使用前需import。使用命名空间是一个好习惯,可以有效防止命名冲突,避免编码时不必要的代码提示干扰。

import CaProcessingToolbox.*;

BatchOir2OmeTiff 批量转换 Olympus OIR 文件到 OME TIFF 文件

BatchTiffMeasure Tiff批量测量

BatchTiffRegister 批量配准 OME BigTiff 5D 文件,输出到同目录下

ImageJRoiDiff:从一群ImageJ ROI中减去另一群ImageJ ROI

ImageJRoiSetReadout:将ImageJ的RoiSet文件读入为椭圆ROI的圆心坐标和横纵半径(以左上角为零点)

BatchOir2OmeTiff

批量转换 Olympus OIR 文件到 OME TIFF 文件

import CaProcessing.BatchOir2OmeTiff
BatchOir2OmeTiff
%打开文件选择对话框让用户手动选择要转换的OIR文件,并输出到同目录下

BatchOir2OmeTiff(Flag1,Flag2,…)
%重复指定多个特殊功能旗帜

BatchOir2OmeTiff(___,Name=Value)
%在上述任意语法基础上,额外指定名称值参数

MetaTable=BatchOir2OmeTiff(___)
%在上述任意语法基础上,返回元数据表

示例

%选择文件
OirPaths=MATLAB.UITools.OpenFileDialog(Filter="Olympus OIR|*.oir",Title="选择OIR",Multiselect=true);
OutputDirectory=uigetdir([],"选择要保存到目录位置");
%执行转码
import CaProcessing.*
MetaTable=BatchOir2OmeTiff(CaFlags.CdsAsTag,OirPaths=OirPaths,OutputDirectory=OutputDirectory);

输入参数

Flag1, Flag2, …(1,1)CaProcessing.CaFlags,指定特殊功能旗帜

Name=Value,可选指定如下名称值参数:

  • OirPaths(:,1)string,要转码的OIR文件路径,默认打开文件选择对话框要求用户手动选择
  • OutputDirectory(1,1)string,输出目录

返回值

MetaTable(:,3)table,返回每个文件的元数据和标通道(如果指定了CdsAsTag旗帜)

BatchTiffMeasure

Tiff批量测量

本函数将Tiff批量测量,并支持根据ImageJ RoiSet同时测量多个细胞亚群、多个Z层。

本函数的输出是测量文件(测量.mat),可以为每个Tiff文件输出一个测量文件,也可以将所有测量值输出到同一个文件内,取决于是否设置OneFile旗帜。若输出到多文件,则每个文件内是一个Measurements表格,每行是一个细胞亚群,每列是一个Z层。若输出到单文件,则该文件符合CaDF2.0格式。

import MATLAB.UITools.OpenFileDialog;
%选择文件和参数
CellGroups="所有细胞";
ZLayers=["Z2" "Z5"];
SizeG=numel(CellGroups);
ImageJRoiPaths=cell(SizeG,1);
for G=1:SizeG
	ImageJRoiPaths{G}=OpenFileDialog(Filter="ImageJ RoiSet|*.roi;*.zip",Multiselect=true,Title=sprintf("选择%s的所有Z层的ROI文件",CellGroups(G)));
end
ImageJRoiPaths=vertcat(ImageJRoiPaths{:});
TiffPaths=OpenFileDialog("Filter","配准Tiff|*.已配准.ob5.tif","Multiselect",true,"Title","选择已配准的Tif文件");
MeanTiff=OpenFileDialog(Filter="平均Tiff|*.平均值.ob5.tif",Title="如果需要散射光矫正,选择每个Z层的平均Tiff",Multiselect=false);
ScatterRadius=20;
%执行测量
import CaProcessing.*
BatchTiffMeasure(CaFlags.Parallel,CaFlags.OneFile,TiffPaths=TiffPaths,ImageJRoiPaths=ImageJRoiPaths,ScatterRadius=ScatterRadius,MeanTiff=MeanTiff,CellGroups=CellGroups,ZLayers=ZLayers);

重复参数

Flags(1,1)CaProcessing.CaFlags,指定特殊功能旗帜

名称值参数

TiffPaths(:,1)string,要测量的Tiff文件路径,默认打开文件选择对话框要求用户手动选择

ImageJRoiPaths(:,:)string,ImageJ RoiSet文件路径。第1维排列不同的细胞群体,第2维排列不同的Z层。默认打开文件选择对话框要求用户手动选择

ScatterRadius(1,1)double,散射光半径,半径内的平均像素值将被视为散射光而扣除

MeanTiff(1,1)string,平均值Tiff参照文件路径,仅当指定了ScatterRadius时有效。如果指定该参数,则散射光半径内,平均值Tiff的像素值低于范围内中位数的像素的平均值才会被视为散射光。文件必须按照OmeTiff规范排列所有Z层。

CellGroups(:,1)string,每个细胞群体的名称,必须与ImageJRoiPaths第1维长度一致

ZLayers(1,:)string,每个Z层的名称,必须与ImageJRoiPaths第2维长度一致

GaussianDeback(1,1)single,高斯去背景标准差。如果指定该参数,将在散射光矫正之前先对每帧作高斯模糊作为背景,然后将原图减掉背景

已知问题

仅支持输入OmeBigTiff5D格式,维度顺序XYTZC的图像

BatchTiffRegister

批量配准 OME BigTiff 5D 文件,输出到同目录下

import CaProcessing.BatchTiffRegister
BatchTiffRegister
%打开文件选择对话框要求用户手动指定要配准的文件和模板文件

BatchTiffRegister(Flag1,Flag2,…)
%重复指定多个特殊功能旗帜

BatchTiffRegister(___,Name=Value)
%在上述任意语法基础上,额外指定名称值参数

示例

%选择文件
import MATLAB.UITools.OpenFileDialog
FilesToRegister=OpenFileDialog("Filter","TIFF图像|*.ob5.tif","Multiselect",true,"Title","选择要配准的TIFF文件");
FixedImage=OpenFileDialog("Filter","Tiff图像|*.ob5.tif","Title","选择基准Tif文件,如果取消则以第1个文件的第1帧为基准");
%执行配准
CaProcessing.BatchTiffRegister(MovingPaths=FilesToRegister,FixedImage=FixedImage);

输入参数

Flag1,Flag2,…(1,1)CaProcessing.CaFlags,指定特殊功能旗帜

Name=Value,可选指定如下名称值参数

MovingPaths(:,1)string,运动图像路径,默认打开文件选择对话框要求用户手动选择

FixedImage(1,1)string,固定图像路径,默认打开文件选择对话框要求用户手动选择

MaxTranslationStep(1,1),最大平移距离,指可能的最大平移晃动

已知问题

仅支持输入OmeBigTiff5D格式,维度顺序XYTZC的图像

ImageJRoiDiff

从一群ImageJ ROI中减去另一群ImageJ ROI,即作差集。仅比较每个ROI的文件名,文件名相同即认为ROI相同。

名称-值对组参数

RoiAPath(1,1)string,被减的ImageJ RoiSet。如不指定,将打开文件选择对话框。

RoiBPath(1,1)string,要减去的ImageJ RoiSet。如不指定,将打开文件选择对话框。

RoiCPath(1,1)string,输出文件路径。这个路径要求不一定能完全实现:

  • 如果集合A被减光了,将不输出任何文件
  • 如果只剩1个,则将在此处指定的目录下放置那个剩下的.roi文件,文件名保留那个原本的文件名
  • 如果剩余多个,则按照此文件名放置一个.zip文件

返回值

RoiCPath(1,1)string,实际输出的文件路径,不一定与输入的该参数相同。如果没有输出任何文件,返回""。

ImageJRoiSetReadout

将ImageJ的RoiSet文件读入为椭圆ROI的圆心坐标和横纵半径(以左上角为零点)

ImageJ的RoiSet可以是单个.roi文件,也可以是多个ROI打包成.zip文件。每个ROI文件的第7个字节记录了ROI形状(目前仅支持2,圆形),第9~16字节是4个Big-endian的uint16,依次记录了该ROI上、左、下、右边界位置。本函数一次性将所有ROI的四个边界位置读出,并转化为椭圆ROI的圆心坐标和横纵半径

输入参数

RoiSetPath(1,1)string,ImageJ的RoiSet文件路径

返回值

Cx(:,1)double,每个ROI的圆心横坐标

Cy(:,1)double,每个ROI的圆心纵坐标

Rx(:,1)double,每个ROI的横半轴长

Ry(:,1)double,每个ROI的纵半轴长

空文件

简介

取消

发行版 (9)

全部
3年前

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ShanghaiTech-GuanLab/Ca-Processing-Toolbox.git
git@gitee.com:ShanghaiTech-GuanLab/Ca-Processing-Toolbox.git
ShanghaiTech-GuanLab
Ca-Processing-Toolbox
钙处理工具箱
master

搜索帮助