如何在 R 4.0.3 中为细胞计数脚本安装“rtiff”包

问题描述

我正在使用初学者手册 (https://apps.dtic.mil/dtic/tr/fulltext/u2/1079243.pdf),以便使用 Rstudio 对显微镜图像中的细胞进行计数。安装BiocManager和EBImage包后,手册推荐:

Install.packages("tiff")
Install.packages("pixmap")
Install.packages("rtiff")

但是,“rtiff”包不适用于新版本的 R 4.0.3 (2020-10-10)。所以我无法安装它:

Warning in install.packages :
  package ‘rtiff’ is not available for this version of R

A version of this package for your version of R might be available elsewhere,see the ideas at
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages

手册继续加载包,为数据集创建适当的文件路径和目录:

library("tiff")
library("pixmap")
library("rtiff")

map_path <- "C:/Cellcounting/Analysis/Images/"
map_savdir <- "C:/Cellcounting/Analysis/Mapped_image"
map_files <- list.files(map_path,pattern="tif",full.name=F)
image_path <- "C:/Cellcounting/Analysis/Mapped_image/"
image_savdir <- "C:/Cellcounting/Analysis/Image_analysis"
image_files <- list.files(image_path,pattern="tiff",full.name=F)
csv_path <- "C:/Cellcounting/Analysis/Image_matrices"

然后,我应该创建以下 for 循环来将图像转换为像素图:

 for (i in 1: length (map_files)) {
  mapped_image <- paste0 (sub (". tif",replacement = "",x = map_files [i]),"_ mapped.tiff")
  map1 <- readTiff (paste0 (map_path,map_files [i]))
  map2 <- as.matrix (map1 @ red)
  map2 [map2 <0.3] <- 0
  writeTiff (map2,paste0 (map_savdir,"/",mapped_image))
 }

此时我收到以下错误,我认为这是因为我无法安装“rtiff”包:

Error in readTiff (paste0 (map_path,map_files [i])):
  Could not find function "readTiff"

我能做什么?有没有 rtiff 的替代方案?

提前致谢,

解决方法

我遇到了同样的问题。我使用这个程序是为了在 R 中进行类似的单元格计数,但无法正确安装“rtiff”。

'rtiff' 不再在 CRAN 中,所以我一直在尝试使用以下代码从 CRAN 的存档中安装 'rtiff':

install.packages("devtools")
library(devtools)
install_github("cran/rtiff")

以及:

packageurl<-"https://cran.r- 
project.org/src/contrib/Archive/rtiff/rtiff_1.4.tar.gz"
install.packages(packageurl,repos=NULL,type="source",dependencies = T)

我得到同样的错误,即软件包的安装具有非零退出状态。我继续在互联网和各种表格中搜索以尝试安装完整的软件包。

我已经接近的一件事是通过从 CRAN 存档下载 tar.gz 文件,使用 WinZIP 解压缩内容,并将其放入 R 环境中,将函数“readTiff”和“writeTiff”导入到 R 环境中。您的存储库。示例代码如下:

setwd('C:/Users/Computer/Documents/rtiff_1.4.8/rtiff/R')
source('readTiff.R')
source('writeTiff.R')

这让我能够在 R 环境中使用这些函数,但是,在尝试运行 for 循环来创建映射图像时,更多的错误开始出现:

Error in .C("C_TiffGetWidth",as.character(fn),w = as.integer(w),PACKAGE = "rtiff") : 
"C_TiffGetWidth" not available for .C() for package "rtiff"

我将继续对此进行更多研究。我实际上与您所引用的本手册的一位作者合作,因此希望我们能够解决此问题并尽快为您更新。