原始 MediaWiki 页面

我知道编辑这个网站吗?
the original version of ImageJ本页介绍与 the original version of ImageJ 相关的内容。点击徽标查看详情。

镜框

自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南

这些是一组用于处理帧数据方向的插件。 F_Project 插件使用不同的方法将方向帧的图像投影到较低的维度。 F_Profiler pulgin 通过帧方向相反 ROI 的内容。 Frame_Slider 提供倾斜,用于根据切片标签中的指标/值逐步浏览超堆栈的帧。

F_项目

F project screenshot 当从 GUI 作为插件运行时,所使用的图像将在顶行标识。切片和帧的子集可以用作源数据;请参阅 Make Substacks… 的语法。当识别的帧是“标签”时,帧按相同的标签分组。当帧由“repeats var”标识时(其中 var 是切片标签中变量的名称),这些帧将被视为数据重复。
转置? 将帧交换为切片。 提供了以下总结方法:
总和 算术总和
算术干 (μ)
StdDev 标准差 (σ) - 使用慢速方法计算数值精度
ZScore Z 分数 (μ/σ) - 对称信噪比 (SNR)
CV 变异系数 (σ/μ)
最低最低
最大 最大
中添加中添加
中心 中添加周围的加权算符算符 - 对异常值具有弹性
产品 产品 (Π si-n)n
GeoMean 几何原型 - 预缩放乘积 (Π si-n)
SumSq 平方和
幅度 毕达哥拉斯
LinReg 线性最小二乘回归 - 返回 m、b、r 的帧2
TheilSen 带中心估计器的 Theil Sen 线性回归 - 帧 m、b
Theilsen2 带中心估计器的 Theil Sen 再次回归 - a,b,c
质心 质心
Fit CurveFitter 工件 - 框架是模型参数,r2、Ψ2
偏差附加一个框架,该框架与适当的选定的摘要有适当的偏差。
如果每个帧的第一个切片都有一个可以通过正则表达式“=|=|”分割的短标签,例如var = fval,并且列表具有唯一元素,则在配件中将使用浮点fval值而不是帧编号。

还提供了静态名称方法,它们具有相同的,但都是小写,具有两种语法:method(ImagePlus,slices,frames)method(ImagePlus)save fit(..., int), fit(..., String)

TreeMap<String,Double> getVars(ImagePlus imp, int f)

从帧的切片标签中提取变量/值对。

TreeMap<String,TreeMap<Double,Double>> getVars(ImagePlus imp)

从所有帧的切片标签中提取参数/值。

LinkedHashMap<String,String> overRepeats(ImagePlus imp, String var)

确定存在的子集(键)以及关联的分隔符(值),其中var是转发器。
参见“重复标记”

TreeMap<Double,String> sortFramesByLabel(ImagePlus imp)

返回唯一每个标签的分隔符的帧列表。

void removeVarFromLabels(ImagePlus imp, String var)

从所有切片标签中删除多余的变量

void replaceVarValWithInLabel(ImagePlus imp, String var, String val)

将所有切片标签中 var 的所有值替换为 val。

int findVarInLabel(ImagePlus imp, String var)

确定 var 在切片标签中的位置。 -1 未找到或错误。

TreeMap<Double,String> sortFramesByLabel(ImagePlus imp, String var)

确定与每个变量值(键)相对应的框架(值 - 分隔分隔)。

ImagePlus extractFramesByVar(ImagePlus imp, String var, double val)

具有提取信号/值对 var/val 的所有帧。

TreeMap<Double,ImagePlus> extractFramesByVar(ImagePlus imp, String var)

提取与切片标签的每个值(键)相对应的帧(作为 ImagePlus)

ImagePlus sortFramesByVar(ImagePlus imp, String var)

以增加 var 值重新排列顺序。

double center(double[] a)

加权平均数 加权中增加

double[] theilsen(double[] ... _x)

线性泰尔森回归器。
可以称为 x[],y[] 或 xy[][] 但只计算第一对

double[] theilsen2(double[] ... _x)

方程二次的泰尔森回归器。
可以称为 x[],y[] 或 xy[][] 但只计算第一对

double[] linreg(double[] x, double[] y)

线性最小二乘回归器
可以称为 x[],y[] 或 xy[][] 但只计算第一对

double centroid(double[] x, double[] y)

质心

public interface Compute {
public double[] compute(double[] x, double[] y);
   return (x == null) ? new double[NV] : process(x,y);
   }
ImagePlus compute(ImagePlus imp, Compute fp)
ImagePlus compute(ImagePlus imp, String slices, String frames, Compute fp)
ImagePlus compute(ImagePlus imp, Compute fp, ImagePlus mask)
ImagePlus compute(ImagePlus imp, String slices, String frames, Compute fp, ImagePlus mask)
ImagePlus[] split(ImagePlus imp)

计算和计算有 ImagePlus[] method(..., ImagePlus[] imps);
imps 是语法糖。 注意:即使Z方向只有一个切片也能工作。

用途

ASL - MRI

ImagePlus aslAcquired = . . .
ImagePlus tag = F_Project.mean(aslAcquired,"all","1-100-2");
ImagePlus ctl = F_Project.mean(aslAcquired,"all","2-100-2");
ImagePlus asl = ctl.duplicate();
(new ImageCaculator()).run("Subtract 32-bit stack", asl, tag);
(new ImageCaculator()).run("Divide 32-bit stack", asl, ctl);

ADC - MRI

/* Assuming many b-values (slicelabels = "b=%f") */
ImagePlus dwiAcquired = . . .
ImagePlus dwi = dwiAcquired.duplicate();
ImagePlus dwib0 = SubHyperstackMaker.makeSubhyperstack(dwi,"1-"+dwi.getNSlices(),"1",dwiAcquired);
for(int f=0; f<dwiAcquired.getNFrames(); f++)
   (new ImageCalculator()).run("Divide 32-bit stack", dwi, dwib0);
ImagePlus adc_etal = F_Project.fit(dwi,"Exponential");

或者对异常值具有更强的适应能力。。。

IJ.run(dwi, "Log", "");
ImagePlus adc_etal = F_Project.theilsen(dwi);

任何处理

IJ.run(mask,"Convert to Mask", "method=Huang background=Default calculate");
ImagePlus[] pimp = F_Project.compute(imp, new F_Project.Compute() {
   @Override
   public double[] compute(double[] x, double[] y) {
      if (x == null) return new double[10]
      return nonlinearFit(x,y);
      }
   }, mask, new ImagePlus[0]);

F_Profiler

F profiler screenshot
Given a Hyperstack image, draw an ROI and start plugin. Manipulate the ROI and the plot changes. Check out Interactive_Fitting plugin.

框架_滑块

Frame slider screenshot
When you have one or more Hyperstacks open and want to step though the images per the variables in the slice labels, start the Frame_Slider with the dataset with the most variables, select the other datasets, and step through them using the sliders. The datasets should all be governed by the same set of variables, i.e., The two left images are the raw data with repeats and the two right images are the mean and SNR projections, to see why click the scrollbars.

安装

Frames.zip解压缩到ImageJ插件FileShow FolderPlugins或plugins/jars目录中。jar文件中的源代码。

变更日志

  • 2018年4月1日 - 初始版本。
  • 2019年4月1日-更新。