You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab使用dicm2nii时如何自定义.json、.gz输出文件名

dicm2nii 输出文件批量追加自定义字符串操作方法

两种实现路径,新手优先选第一种,零侵入不破坏原脚本功能。

方案1:转换后批量重命名(推荐)

不需要修改原dicm2nii脚本,正常完成格式转换后,用几行Matlab代码统一重命名即可,后续脚本升级也不会受影响:

  • 第一步:将Matlab当前工作目录切换到转换后文件的存放文件夹
  • 第二步:把下方代码中append_str的赋值替换成你需要追加的字符串,比如要追加被试编号_sub001就对应修改,直接运行即可完成所有.json、.nii、.nii.gz文件的重命名
% 自定义要追加的字符串
append_str = '_自定义追加内容';
% 匹配所有目标格式文件
file_set = [dir('*.json'); dir('*.nii'); dir('*.nii.gz')];
for idx = 1:length(file_set)
    old_fullname = file_set(idx).name;
    % 单独处理双后缀的.nii.gz格式
    if endsWith(old_fullname, '.nii.gz')
        new_fullname = [old_fullname(1:end-7), append_str, '.nii.gz'];
    else
        [~, fname_part, ext_part] = fileparts(old_fullname);
        new_fullname = [fname_part, append_str, ext_part];
    end
    movefile(old_fullname, new_fullname);
end

方案2:修改脚本实现转换时自动追加后缀

如果需要每次转换自动带上固定后缀,不需要事后重命名,只需要修改一处核心文件名生成逻辑即可,不需要改动save_json相关代码:

  • 第一步:用Matlab编辑器打开dicm2nii.m,按Ctrl+F搜索定位到输出文件名赋值的代码行,特征是变量名为fnm、拼接了输出路径和文件名主体,不同版本脚本位置略有差异,通常在1100-1300行区间
  • 第二步:在文件名拼接逻辑中插入自定义字符串即可,参考修改示例:
% 提前定义要追加的固定字符串
append_str = '_自定义追加内容';
% 原脚本的文件名定义行格式类似:fnm = [outPath filesep file_name_str];
% 修改为如下形式即可
fnm = [outPath filesep file_name_str append_str];

注意:该位置是所有输出文件的公共命名入口,修改后生成的.nii、.nii.gz、.json文件都会自动带上追加的字符串,save_json函数仅接收传入的完整文件路径执行写操作,本身不独立生成文件名,不需要单独修改该函数内的逻辑。

新手修改脚本前建议先备份一份原文件,修改出错直接替换备份文件即可恢复原有功能。

内容的提问来源于stack exchange,提问作者Chunker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 02:54:40