提问人:Hack-R 提问时间:4/9/2016 最后编辑:Hack-R 更新时间:4/10/2016 访问量:118
通过 Bio7 从 ImageJ 发送到 R 的测试图像的列号不相等
Unequal column numbers of test images sent to R from ImageJ via Bio7
问:
今天我发现了Bio7的奇迹。这个类似 eclipse 的 IDE 结合了 R 和 ImageJ,他们的网站上有一个关于如何使用这种组合进行图像特征提取和 ML 的教程。
我已经完成了本教程,但我没有尝试对单个图像的某些部分进行分类,而是处理> 100,000 张图像。
我发现我可以获得用于测试和控制的合格数据,但前提是我没有在测试数据中选择 ROI。虽然数据对象 - 一旦传递给 R 并使用适当指定的语句进行转换,我不得不怀疑我是否没有因为不指示 ROI 而在分类方面损失了很多价值。as.data.frame(matrix(unlist()))
在 ROI 管理器中指定 ROI 后,如何获取每个图像(或图像序列的每个帧/切片)具有 1 个元素(即矩阵列表中的 1 个矩阵或其他)的 R 对象?
答:
问题在于“像素”操作仅从一个选择中传输像素数据。如果您不想使用 ImageJ 的 ROI 管理器,则此操作是额外的可用。
例如,如果导入图像序列,则可以使用“Pixel RM Stack”操作以最佳数据效率数据类型从 ROI 管理器传输一个 ROI。
文档:
http://bio7.org/manual/Main.html#toc-Subsection-4.4.3
http://bio7.org/manual/Main.html#toc-Subsubsection-4.4.3.1
此外,您还可以使用 Java API 传输图像(以堆栈形式导入图像序列),然后逐个分类和存储图像,例如使用调用 Rserve API 的 Groovy 或 Jython 脚本。
请参阅此处的示例:
http://bio7.622846.n4.nabble.com/Use-ProcessAviStack-Java-tp4640289p4640290.html
建议将映像序列作为虚拟堆栈(磁盘驻留映像)导入以节省 RAM 内存,请参阅:
https://imagej.nih.gov/ij/docs/guide/146-8.html
另请参阅YouTube:
https://www.youtube.com/watch?v=CyGB8uUjbWk&list=PLzCgXMp4TBsVKSRHZ8Q9y_3ZSlGl2kcrp&index=3
建议“选择”按钮仅传输选择坐标,而不传输像素数据。
看:
https://www.youtube.com/watch?v=P2NflfBB2Tg
评论