NIfTI 体数据检查
qwen-mm-plugins-nifti 是 Qwen 多模态插件集合中的 NIfTI 体数据检查工具,以 MCP 服务器形式提供,包含两个工具,可按请求分别使用。
一、用途与工具划分
nifti_inspect:当用户询问形状、数据类型、体素间距、单位、仿射矩阵、方向、斜切角或三维体数量时,读取 NIfTI 头信息。它以文本块中的 JSON 返回结果,不扫描体素强度,也不渲染图像,因此无法仅凭像素判断强度范围、模态或解剖结构。
nifti_render_slices:按可配置的切片选择与强度/窗映射渲染图像。查看时可直接调用,头信息检查是可选的,并非前置条件或有状态的初始化步骤。
在可用时,应优先使用这两个工具处理各自的 NIfTI 任务;若用户明确要求使用其他工具,应遵从。
二、读取与验证
两个工具都接收绝对路径的 .nii 或 .nii.gz 文件,均只读取源文件、不做修改。默认原生模式下渲染返回文本块和图像块;若 QWEN_MM_NATIVE_MODE=0,框架的 caption 回退机制可将渲染切片发送到已配置的 VL 端点。
仅提供 file_path 时,nifti_render_slices 沿源体素轴 2 选择三张均匀间隔的内部切片;位置来自去掉端点的五点网格并四舍五入到源索引,维度较小时可能解析出更少的唯一�片。轴 2 不一定是解剖学轴位/Z 轴,应检查报告的仿射矩阵、最接近的方向码和斜切角。面内轴会为显示重新排序/翻转,但不进行解剖学重采样。
对 4D 输入,渲染默认使用第一个三维体。volumes 按从 1 开始的体积页选择,例如 "1,3";max_volumes 限制该选择。第四维不会自动解释为时间。空间单位遵循头信息,未知单位会明确报告为假定毫米。
三、切片与强度选择
设置 slice_axis 为 0、1 或 2,并用 num_slices 指定均匀间隔的切片数。
需要精确位置时,设置 slice_indices(从 0 开始)或 slice_positions(沿源轴 0–1 的相对位置),二者会覆盖 num_slices,且不能同时使用。重复解析出的索引只返回一次,按请求顺序排列。
intensity_mode="auto_volume" 对每个选中的三维体使用共享的 P1–P99 范围,percentile_low 和 percentile_high 可调整边界;大体积使用确定性网格近似,响应会标明统计为精确还是采样以及有效范围。采样统计不会对显示的平面做子采样。
intensity_mode="window" 需要同时提供 window_center 和 window_width。
intensity_mode="preset" 需要 window_preset,可选 ct_brain、ct_soft_tissue、ct_lung 或 ct_bone。预设假定为类 HU 的 CT 值;仅凭 NIfTI 无法确定模态或已校准的强度单位。当用户要求或有用户提供的采集背景支持时使用预设,并区分建议窗与已实际应用的窗。
四、输出报告
仅需元数据时,报告相关头信息值,保留单位假设以及体素轴与解剖轴的区别;检查不选择切片、不应用归一化,不要为这类响应虚构显示设置。第四维不一定是时间。
渲染视图时,报告所用工具、选中的体积、源轴及解析索引、强度模式与有效边界,以及统计是否采样;提及与请求相关的响应大小截断或假定的单位。应使用返回的配置而非根据请求参数重建。如需更多切片,可在另一次调用中请求省略的索引/体积。该工具仅提供可视化,不构成临床诊断。