Quiet
  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我

bajiu

  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我
Quiet主题
  • R语言

使用oro.dicom查看Dicom数据

bajiu
生物信息学

2023-03-28 16:01:00

链接: https://rigorousanalytics.blogspot.com/

API: https://rdrr.io/rforge/oro.dicom/api/

安装

install.packages('oro.dicom')

单文件的读取

#单个DICOM数据的读取
fname <-system.file(file.path("dcm", "Abdo.dcm"),package="oro.dicom")
abdo <- readDICOMFile(fname)
names(abdo)
head(abdo$hdr)

多文件的读取

##多DICOM文件的读取
fname <-"C:/data/test"
hk40 <- readDICOM(fname)

#查看文件数量
unlist(lapply(hk40,length))
##获取文件信息
hk40.info <- dicomTable(hk40$hdr)
write.csv(hk40.info,file="hk40_header.csv")

## 查看图像

pixel_data <- hk40$img
# 将pixelData转换为数据框
pixel_data_df <- as.data.frame(pixel_data)
write.csv(pixel_data_df, "pixel_data.csv",row.names = FALSE)

常用方法

##获取其中的一些信息
load(system.file("hk-40/hk40.RData",package="oro.dicom"))
hk40.info <- dicomTable(hk40$hdr)##获取文件信息
sliceloc.col <- which(hk40$hdr[[1]]$name == "SliceLocation")
sliceLocation <- as.numeric(hk40.info[, sliceloc.col])

##获取时间序列信息
seriesTime <- extractHeader(hk40$hdr, "SeriesTime", numeric=FALSE)

##时间格式转化
str2time(seriesTime)

##单文件展示
image(t(abdo$img),col=grey(0:64/64), axes=FALSE, xlab="", ylab="")

##多文件展示
hk40n <- dicom2nifti(hk40)##格式转化
image(hk40n)

##添加坐标,定位
orthographic(hk40n,col.crosshairs="green")

##jpeg保存
jpeg("hk40n_image.jpeg",width=480, height=480, quality=95, bg="black")
image(hk40n,zlim=c(0,1024))
dev.off()

##NIfTI保存
writeNIfTI(hk40n,"asa.nifti")
上一篇

HDF5 介绍

下一篇

R语言数据操作和清洗包dplyr

©2024 By bajiu.