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

【BUG】ValueError: Unable to find out axis 2.0 in start_ornt

ValueError: Unable to find out axis 2.0 in start_ornt

问题分析:

这个错误信息来自 nibabelornt_transform 函数,它是在尝试根据方向信息转换图像轴时出错了:

ValueError: Unable to find out axis 2.0 in start_ornt

这通常说明你传给 ornt_transform(start_ornt, end_ornt) 的参数中有问题,比如:

  • start_orntend_ornt 的格式不正确
  • 轴的数量不一致或不符合预期(不是标准的 3D 图像)

解决办法:

  1. 检测轴的格式是否正确

    1. 若出现nan,则表明其格式不正确
    img = nib.load(input_path)
    print(f"{input_path}", end=" ")
    start_ornt = nib.orientations.io_orientation(img.affine)
    print(list(start_ornt))
    
  2. 修复轴的格式

    1. 获取图像的directionspacingorigin 计算获取affine
    2. affine信息写入图像即可
    def sitk_to_affine(image):direction = np.array(image.GetDirection()).reshape(3, 3)spacing = np.array(image.GetSpacing())origin = np.array(image.GetOrigin())affine = np.eye(4)affine[:3, :3] = direction * spacing[np.newaxis, :]  # 列缩放affine[:3, 3] = originreturn affineimage = sitk.ReadImage(input_path)
    affine = sitk_to_affine(image)img = nib.load(input_path)
    data = img.get_fdata()
    fixed_img = nib.Nifti1Image(data, affine)
    nib.save(fixed_img, output_path)
    
http://www.dtcms.com/a/282199.html

相关文章:

  • TCP重传
  • TCP 拥塞控制算法 —— 慢启动(Slow Start)笔记
  • Python练习(4)Python参数传递的20道核心实战练习题(含答案与深度解析)(上)
  • Hadoop(二)
  • neovim的文件结构
  • 数据结构:栈(区间问题)
  • 2025秋招突围战:AI智能监考如何重构远程笔试公平防线?
  • API Gateway HTTP API 控制客户端访问 IP 源
  • 【用图片内容改名】水印相机拍的照片,将照片的名字批量改为水印内容,根据水印内容批量命名图片的操作步骤和注意事项
  • Java大厂面试实录:从Spring Boot到AI大模型的深度技术拷问
  • SM3算法工程中添加bouncycastle.bcprov.jdk15on库
  • 【数据结构】双链表--从原理到(用C语言)实现全解析
  • 【Linux 学习指南】网络编程基础:从 IP、端口到 Socket 与 TCP/UDP 协议详解
  • 第二十一 篇 PDF文档自动化:Python一键合并、分割、水印、提取与加密解密!你的PDF全能管家!
  • [AI-video] 字幕服务 | 视频素材服务 | 视频生成服务
  • MySQL索引及其底层原理(上)(10)
  • C++ 计数排序、归并排序、快速排序
  • SpringCloud之Config
  • Android动态获取当前应用占用的内存PSS,Java
  • 【25】MFC入门到精通——MFC静态文本框 中字符串 连续输出 不覆盖先前的文本 换行输出
  • RK3568项目(十)--linux驱动开发之基础外设与LVDS屏幕
  • spring-ai之工具调用(Tool Calling)
  • 【18】MFC入门到精通——MFC(VS2019)+ OpenCV 显示图片的3种方法
  • Linux Java环境配置
  • xss-labs 1-8关
  • 智芯Z20K11xM MCU开发之TDG触发Adc
  • 新疆兵团第六师新湖农场食记
  • 企业级AI项目未达预期:非结构化数据处理背后有何玄机?
  • es启动问题解决
  • Python 日志轮换处理器的参数详解