当前位置: 首页 > news >正文

中网互联网站建设什么职位做网站

中网互联网站建设,什么职位做网站,济宁做网站公司,怎么说服客户做网站转自#xff1a;医学影像处理相关知识整理#xff08;一#xff09; - 知乎 Segmentation to RT structure 近日做医疗影像处理相关的内容#xff0c;感慨于这方面资料不全、散碎#xff0c;遂记录自己获得的一些资料以供日后查阅。 DICOM DICOM 是医学图像和相关信息…转自医学影像处理相关知识整理一 - 知乎 Segmentation to RT structure 近日做医疗影像处理相关的内容感慨于这方面资料不全、散碎遂记录自己获得的一些资料以供日后查阅。 DICOM DICOM 是医学图像和相关信息的国际标准它定义了满足临床需要的可用于数据交换的医学图像格式被广泛用于放射、成像的诊疗诊断设备。也就是说在医院放射科使用的设备上读取的影像基本都是DICOM格式包括CT、MRI、超声等。 DICOM格式的图像每一张都带有除像素体素信息之外的大量信息。其信息组成主要有以下几部分 Patient病人信息Study诊疗信息如检查时间、检查部位、ID等Series序列号、图像坐标信息等。图像坐标信息主要关注 SliceThickness层厚即每张切片之间的间距ImagePositionPatient该张切片坐标原点图像左上角二维图中向下为y轴向右为x轴在空间中的坐标xyzImageOritentationPatient六元组当前切片的x、y轴与解剖学坐标系间的关系。 此处涉及矢状面、冠状面、横断面 简单的记忆方式是矢状面即一支箭射中人所形成的面正中二分人体。 冠状面可想象古代官帽从头顶向地面的切面。 横断面即腰斩平面。 在下图中红色切面为矢状面紫色切面为冠状面绿色切面为横断面。六元组所表示的即是与这三个面的夹角关系以余弦值呈现。 影像上正方向为L、S、P。 用x1x2x3y1y2y3来表示的话x1、x2、x3分别表示x轴与L、P、S间的夹角余弦值y1、y2、y3则表示y轴与L、P、S间的夹角余弦值。 使用这个六元组可以判断图像区域是否为矩形两向量点乘为0以及与解剖学坐标的关系。当这个六元组只含有0、1、-1时代表切片一定与某解剖学平面平行。 更多内容可以参见此博客讲解得很详细。https://blog.csdn.net/zssureqh/article/details/61636150Image图像信息。主要关注 PixelSpacing二元组。用来表示当前二维图像坐标上xy轴的单位长度在实际坐标系中所占据的长度。Rows、Columns行列信息。Bits Allocated、Bits Stored每个像素分配的位数、存储位数Window Center、Window Width窗位、窗宽Rescale Slope、Rescale Intercept 斜率、截距。主要用在图像可视化中。除了上述四个部分 tag 信息外就是 PixelData 信息。此处存储的既是该张切片的像素信息。 DICOM 文件可以使用 pydicom 库来进行读写该库提供了非常全面的操作。 在 vscode 中搜索 dicom 有一个插件可以用来看 dicom 文件信息。 segmentation segmentatiom 是对 DICOM 序列文件进行器官分割、靶区勾画后的结果以 nifti 格式给出也可以为其他格式但存储形式基本都是裸数据直接给出分割结果的数组。其中的信息为三维数组形式每个体素点存储该点对应图像的分割结果 0代表此点为background或此次标注中不关注的区域 1~n代表此点为对应的区域。 其中 1~n 所代表的器官、区域由分割程序定义 RT structure RT structure 文件是导入到放疗系统中所需的 DICOM 文件其中存储了每个结构区域的组成以及相对应的原始 DICOM 序列标识和部分病人信息。其主要结构分为三个部分 首先为头部信息其中存储了诸如 patientname、patientid 一类的病人信息以及 DICOM 信息。第二部分为 reference 信息即该 RT structure 文件参考的 dicom 序列文件。第三部分即是结构信息存储各个区域的构成点、参考dicom文件等。若要解析 RT structure 文件可以从以上三部分入手 segmentation to RT structure 近期所做的工作主要是将已经生成的分割、勾画信息结合原始的 DICOM 序列文件生成 RT structure 文件后简称 RTs 以供医生后续使用。 主要思路为nifti-mha-RTs nifti-mha mha 是一种 metadata 格式其中存储了头部信息和像素信息。与 mha 格式类似的是 mhd 格式区别在于 mhd 将头部信息存储于一个单独的 .raw 文件中本身只存储数据信息。 上图即为一个 mha 文件所存储的头部信息可以看到它存储了维度、原点、方向、像素间距等信息这部分信息在后续构建 RTs 时是非常重要的。 那么在初步了解 mha 文件的构成后要将 nii 文件转换为 mha 文件就比较简单了。 思路为 使用 SimpleITK 库读取 nii 文件中储存的体素信息。使用 pydicom 库读取参考的 DICOM 序列文件信息。然后使用这里得到的信息用于构建 mha 头部信息。最后再使用 SimpleITK 库写 mha 文件 一个简单的可执行示例代码如下 import SimpleITK as sitk import pydicom readersitk.ReadImage(labels.nii) referencectpydicom.read_file(file_path.dcm)##输入参考的 dicom 文件一个即可 ​ ConstPixelSpacing (float(referencect.PixelSpacing[0]), float(referencect.PixelSpacing[1]), float(referencect.SliceThickness)) ​ Origin referencect.ImagePositionPatient ​ imgsitk.GetArrayFromImage(reader) #z y x img2sitk.GetImageFromArray(img) #z y x img2.SetSpacing(ConstPixelSpacing) img2.SetOrigin(Origin) sitk.WriteImage(img2,testmha.mha) 上例代码仅显示如何构建一个 mha 文件在 nii 转化 mha 中还有很多细节需要主要 在一个 DICOM 序列中你最终参考的 DICOM 文件将决定你构建的 mha 文件头部信息中 offset 项该项将影响到构建 RTs 时切片的走向。例如若你选择的 DICOM 文件为切片中最顶部的一张则你的整个结构由于层厚大于0将向上生长与真实结构相反。因此选择哪张切片作为参考要结合层厚来确定。通常层厚大于0因此选择最底部的切片作为参考。SimpleITK 库在读入 nii 文件生成数组时将以 (z,y,x) 形式生成数组如果同样以 SimpleITK 库写文件可以不用注意但若还有其他诸如可视化等需求应注意坐标对应。写 mha 文件时可能出现 PixelSpacing、Origin 由于浮点数精度而不完全等于元数据的问题。如下图所示此问题我暂未想到解决方案但由于在后续生成 RTs 并无影响因此暂时忽略此问题。mha-RTs 将 mha 转换为 RTs 文件是一个比较棘手的问题一开始我预备在了解 RTs 文件的结构后手动构造 RTs 文件但考虑到可靠性有可能信息转换不完全或兼容性不够好毕竟医学的东西谨慎一点更好最终没有采用手动构造的方法而是使用了 plastimatch 这个比较成熟的软件来进行。但不排除后续使用自己写的代码来完成这个步骤的可能性。 plastimatch 提供了 DICOM RT 导出功能支持从 mha 文件导出 RTs同时也支持 nii 导出 RTs。 在我成功从 mha 导出 RTs 后试图简化步骤直接从 nii 到 RTs但经过尝试后发现 nii 到 RTs 的结果与 mha 到 RTs 并不相同很奇怪且并不正确同时从 nii 到 RTs 所需的时间非常久在五分钟以上而使用 nii-mha-RTs 耗时不到 30s 这个结果令人费解mha 文件的信息都是从 nii 中解析得到导出 RTs 所使用的参考 dicom 序列也都相同却导向了不同的结果。我最初猜测是由于 nii 中数组方向可能有问题但在我修改方向重写 nii 后结果依然不对。那么在安装 plastimatch 后使用如下三条指令即可使用 mha 生成 RTs plastimatch adjust --input testmha.mha --pw-linear 0,0,1,1,2,2,3,4,4,8,5,16 --output TEMP-1.mha plastimatch convert --input TEMP-1.mha --output-img TEMP-2.mha --output-type uint32 plastimatch convert --input-ss-img TEMP-2.mha input-ss-list structure_ref.txt --referenced-ct renference_files/ --output-dicom DICOM-OUT 接下来解释一下上述三条指令 第一条指令的目的是将 mha 文件存储的体素的信息做一个变换遵循 0-01-12-23-44-8依次类推。如果你的勾画结果并非是以位图方式存储即第 0bit 为 1 表示该点为第 0 种结构第 1bit 为 1 表示该点为第 1 种结构那么你就需要这个操作将其转换为该格式以方便后续处理。第二条指令的目的是转换 mha 文件中的信息为 uint32 存储。第三条指令生成 RTs 文件其中input-ss-list structure_ref.txt 后续阐述。referenced-ct renference_files/ 指定要参考的 DICOM 序列所在的文件夹最终将在 DICOM-OUT 目录下生成 RTs 文件。 structure_ref.txt 该文件遵循下述格式 0|0 255 0|Bladder 1|0 0 255|Femoral_Head-L 2|255 0 255|Femoral_Head-R 3|0 255 255|Femur-L 4|255 255 0|Femur-R 5|122 122 122|Rectum 在未指定该文件时生成的 RTs 文件中结构名是没有指定的将以 unknown structure 的名字呈现这对后续医生的操作是不利的因此需要指定上述文件以形成 value-color-structure_name 的对应关系。此处的 value即 0、1、2...等值是指对应 bit 位为 1。因此前述第一条指令的转换操作就是不可缺少的将普通的值转换为对应的 bit 位为 1 的值才能正确标识结构名字。 others 此处列出一些可能有用的库 SimpleITK支持较多格式的文件提供了一些处理图像内容的操作。 pydicom提供对 DICOM 文件读写、修改的操作。 itk、vtk前者提供处理后者提供显示是医学影像处理中常用的库。 dicom2niftidicom 文件转 nii 文件等操作。 gdcm2vtk提供 vtk 支持的格式文件转换 dicom 文件等操作。 此外还有 gdcm、dcmtk 等库尚未详看。 plastimatch 这个软件也提供了很丰富的功能最重要的是在它的 mail list 中开发者会回复使用相关问题。 后续可能会调研图像显示相关的资料并更新。 不过没搞明白一通操作下来是什么目的既然已有勾画信息再弄rts有什么其他用途 因为勾画信息不是医生做的是用AI做的。AI做的勾画信息不是RTs结构的医生没办法在现在的放疗系统上使用所以要转一下。 mha可以转回nii吗要怎么转 从mha文件里面提取像素信息然后保存为nii就可以了nii本质上就是裸数据
http://wiki.neutronadmin.com/news/214324/

相关文章:

  • 新乡集团网站建设软文文案
  • 招聘网站建设策划书防控政策优化
  • 做健身网站开题报告可以做书的网站
  • 浙江网站建设推广公司找哪家河北健康码app官网下载
  • php做网站安性如何国内org域名的网站
  • 可以做问卷赚钱的网站网站改标题关键词描述
  • 河北省住房和城乡建设部网站首页个人合法网站怎么做
  • 有没有免费的网站网站建设既有书籍又有光盘
  • 行业门户型网站制作广州网站制作系统
  • 网站建设与设计试题贵阳建筑公司网站建设
  • 网站的标题符号北京公司网站建设推荐
  • 一般网站开发的硬件要求网站建设公司推荐q479185700顶上
  • 国际网站建设公司网站建设运营部部长岗位职责
  • 网站建设公司一般多少钱汕头网站外包
  • 做网站 嵌入支付官方网站下载地址
  • 网站建设业务员好做吗网络规划设计师吧
  • 玉树州wap网站建设公司郴州建设企业网站
  • 做外贸需要网站网络营销课程心得体会
  • 云南网站开发培训机构排行上海设计公司排名榜
  • 无忧网站建设费用北京 网站策划公司
  • 网站制作软件手机版网站设计方案怎么做
  • 做夜夜做网站wordpress 本地打开很慢
  • 深圳 做网站网络推广好做吗?
  • 视频网站建设方案wordpress模板首页
  • 免费建站工具有哪些惠州仲恺住房和城乡建设局网站
  • 莆田企业免费建站北京品牌建设网站
  • 百度注册网站网站调用新浪微博
  • 做网站需要哪些费用支出简易的网站制作
  • 网站新闻标题字数湘潭做网站 都来磐石网络
  • 桂林北站地址网站转app工具