这是 dcmodify 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
dcmodify - 修改 DICOM 文件
概要
dcmodify [选项] dcmfile-in...
商品描述
修改 是一种允许在 DICOM 中修改、插入和删除标签和项目的工具
文件。 还支持具有值多重性 > 1 的序列和标签。 元标题
信息和标签的 VR 不能直接修改 修改 此时。 在
除了标签修改, 修改 提供一些输入选项 - 强制
修改 按照用户指定的方式处理其输入文件 - 以及要控制的输出选项
结果文件的输出格式。
如果必须进行多次修改, 修改 是否修改
与它们在命令行中出现的顺序相同。 请注意 修改 才不是
检查给定值是否与其值表示 (VR) 匹配。 通常,一个错误
消息被打印出来,但通常用户应该注意正确的 VR 使用。
If 修改 不知道它应该插入的标签,然后标签的 VR 设置为 UN 并且
命令行上提供的值被解释为一系列十六进制数字
(就像它们是为 VR=OB 提供的)。 请将这些标签插入字典以避免
这种行为。 此外,指定 -iun 选项,可以强制 修改 离开
联合国价值观未受影响。 使用选项 -u 让 修改 将所有 VR=UN 属性保存为 OB。
修改 能够使用所谓的标签路径来按顺序访问标签。 这
(伪形式化)语法是
{sequence[item-no].}*元素
其中“sequence”是一个序列标签,如 (0008,1111) 或标签的字典名称。 '物品-
no' 描述了要访问的项目编号(从零开始计数)。 “元素”定义了
要处理的目标标签。 标签可以直接指定为 (0010,0010) 或通过
对应的字典名称“PatientName”。 “*”表示可以重复
序列语句以访问 DICOM 文件中的更深层次(参见示例部分)。 为了
'item-no',也可以使用通配符 '*' 选择周围的所有项目
序列(参见下面的通配符部分)。
当插入由多个节点(即不是单个元素)组成的标签路径时,使用
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -i 选项,插入任何缺失的路径元素(项目、序列、叶元素)
丢失时自动。 这不适用于项目通配符:当没有单个项目时
存在于周围序列中 修改 当然不能决定,应该多少项目
被生成。 但是,如果指定像“5”这样的项目编号,则所有 6 个项目(从
零)可以(并且是)在插入模式下自动生成。 如果已经有 2 个项目
存在,其余 (4) 将被插入。
请注意,有一些关于修改私有标签的问题(见
PRIVATE TAGS 部分)和用于更改 UID(CHANGING UIDs 部分)。
有无库存
dcmfile-in 要修改的 DICOM 输入文件名
配置
一般 选项
-h --帮助
打印此帮助文本并退出
- 版
打印版本信息并退出
--参数
打印扩展的命令行参数
-q --安静
安静模式,不打印警告和错误
-v --详细
详细模式,打印处理细节
-d --调试
调试模式,打印调试信息
-ll --log-level [l]evel: 字符串常量
(致命、错误、警告、信息、调试、跟踪)
记录器使用级别 l
-lc --log-config [f] 文件名:字符串
将配置文件 f 用于记录器
输入 选项
输入文件格式:
+f --读取文件
读取文件格式或数据集(默认)
+fo --只读文件
仅读取文件格式
-f --读取数据集
读取没有文件元信息的数据集
+fc --创建文件
如果文件不存在则创建文件格式
输入传输语法:
-t= --read-xfer-auto
使用 TS 识别(默认)
-td --读取 xfer 检测
忽略文件元头中指定的 TS
-te --read-xfer-little
使用显式 VR 小端 TS 读取
-tb --read-xfer-大
使用显式 VR 大端 TS 读取
-ti --read-xfer-隐式
使用隐式 VR 小端 TS 读取
奇数长度属性的解析:
+ao --接受奇数长度
接受奇数长度属性(默认)
+ae --假设-偶数长度
假设实际长度大一字节
自动数据校正:
+dc --enable-更正
启用自动数据校正(默认)
-dc --disable-更正
禁用自动数据校正
压缩输入的比特流格式:
+bd --bitstream-放气
期望压缩比特流(默认)
+bz --bitstream-zlib
期望压缩的 zlib 比特流
加工 选项
备份输入文件:
--备份
修改前备份文件(默认)
-nb --无备份
不要备份文件(危险)
插入模式:
-i --insert "[t]ag-path=[v]alue"
在位置 t 插入(或覆盖)具有值 v 的路径
-if --insert-from-file "[t]ag-path=[f] 文件名"
使用文件 f 中的值在位置 t 插入(或覆盖)路径
-nrc --无保留检查
不要检查私人预订
修改模式:
-m --modify "[t]ag-path=[v]alue"
将位置 t 处的标签修改为值 v
-mf --modify-from-file "[t]ag-path=[f] 文件名"
将位置 t 的标签修改为文件 f 中的值
-ma --modify-all "[t]ag=[v]alue"
将文件中所有匹配的标签 t 修改为值 v
擦除模式:
-e --erase "[t]ag-path"
擦除位置 t 处的标签/项目
-ea --erase-all "[t]ag"
删除文件中所有匹配的标签 t
-ep --擦除私有
从文件中删除所有私人数据
唯一标识符:
-gst --gen-stud-uid
生成新的研究实例 UID
-gse --gen-ser-uid
生成新的系列实例 UID
-gin --gen-inst-uid
生成新的 SOP 实例 UID
-nmu --无元 uid
如果相关,不要更新元标题 UID
数据集中的 UID 被修改
错误处理:
-ie --ignore-错误
继续文件,如果发生修改错误
-imt --忽略缺失标签
将“未找到标签”视为成功
修改或删除文件时
-iun --忽略非值
不要尝试向元素写入任何值
拥有联合国的 VR
产量 选项
输出文件格式:
+F --写入文件
写入文件格式(默认)
-F --写数据集
写入没有文件元信息的数据集
输出传输语法:
+t= --write-xfer-相同
使用与输入相同的 TS 写入(默认)
+te --write-xfer-little
使用显式 VR 小端 TS 编写
+tb --write-xfer-大
使用显式 VR 大端 TS 编写
+ti --write-xfer-隐式
用隐式 VR 小端 TS 写
1993 年后的价值表现:
+u --启用新 VR
启用对新 VR (UN/UT) 的支持(默认)
-u --禁用新 VR
禁用对新 VR 的支持,转换为 OB
组长编码:
+g= --组长度重新计算
如果存在,则重新计算组长度(默认)
+g --组长度-创建
总是用组长元素写
-g --组长度删除
总是在没有组长度元素的情况下写入
序列和项目中的长度编码:
+le --length-显式
使用显式长度写入(默认)
-le --length-未定义
以未定义的长度写入
数据集尾随填充(不使用 --write-dataset):
-p= --填充-保留
不更改填充(如果不是 --write-dataset,则为默认值)
-p --填充关闭
无填充(如果 --write-dataset 则隐式)
+p --padding-create [f]ile-pad [i]tem-pad: 整数
在多个 f 字节和项目上对齐文件
i 字节的倍数
私人 标签
在使用私有标签时,您必须考虑一些问题。 然而
保留标签 (gggg,00xx) 的插入或修改应始终有效。
插入
如果您想插入私人标签(不是使用 gggg,00xx 预订),请确保
你已经把它列在你的字典里了(见 /datadict.txt 详情)。 如果不是
列出, 修改 将使用 VR=UN 插入它。 此外,在某些情况下,插入甚至可能会失败
对于某些值。
如果你的字典里有你的私人标签, 修改 作用如下:当它发现
标签封闭数据集中的保留,其私有创建者匹配,插入是
使用字典中找到的 VR 和命令行上给出的值完成。 但如果
私人创建者不匹配或没有设置, 修改 将返回错误。 如果一个
无论预订是否存在,都应插入私有标签,选项
-nrc 可以使用,强制插入。 但是,VR 设置为 UN,因为标签
然后在字典中找不到。
请参阅上面的说明如何处理将值插入具有未知 VR 的元素。
修改
如果您修改私有标签值, 修改 不会根据字典检查其 VR。 所以
请注意仅输入与标签的 VR 匹配的值。
如果您希望更改私有标签值 和 VR,因为您刚刚将此标签添加到您的
字典,你可以删除它 修改 并重新插入。 然后 修改 使用你的
字典条目以确定正确的 VR(另见小节插入)。
另外,请参阅上面的说明如何将值插入具有未知 VR 的元素中
处理。
删除项
当您使用 修改 要删除私人预订标签,请注意 修改 不会
触摸此预订下的私人标签。 用户被迫处理
预订及其相关私人标签之间的一致性。
对于删除私人非保留标签没有特殊问题。
改变 用户界面设计系统
修改 将自动更正“媒体存储 SOP 类 UID”和“媒体存储 SOP”
元标题中的实例 UID',如果您对数据集中的相关标签进行更改
(“SOP 类 UID”和“SOP 实例 UID”)通过插入或修改模式选项。 你可以
通过使用禁用此行为 -nmu 选项。
如果您生成新的 UID -消费税, -gse or -杜松子酒, 这只会影响您选择的 UID
生成。 所以如果你使用 -消费税 生成新的“研究实例 UID”,然后生成“系列”
Instance UID' 和 'SOP Instance UID' 不会受到影响! 这给了你可能
分别生成每个值。 通常,您还会修改“基础”UID。
作为这种灵活性的一个缺点,用户必须确保在创建“新的”
带有新 UID 的 DICOM 文件 修改, 其他 UID 必须由用户更新为
必要。
当选择 -杜松子酒 选项,相关的元标题标签('Media Storage SOP Instance
UID') 会自动更新。 无法禁用此行为。
创作 新品 FILES
附加选项 --创建文件 让 修改 如果磁盘上不存在文件,则创建一个文件。
这可用于通过连续执行从头开始创建文件
带有选项的插入,如 - 插入. 这在创建时可能特别方便
查询文件等工具 芬斯库 or 移动库. 如果没有特定的输出传输语法
被定义, 修改 选择 Little Endian Explicit Uncompressed 作为输出。 文件
新创建的总是写为 DICOM 文件格式,即选项 --写数据集 is
不允许与 - 创建. 这样,至少元标题被写入并且没有
在没有插入的情况下创建零字节长度的文件
修改 呼叫。
ELEMENT 王斌金璟閣的價值觀 从 文件
为了从文件中读取元素值而不是在命令中指定它
行,选项 -mf 和 -如果 可以使用。 请注意,对于 OW 元素,数据为
预计是小端排序,如有必要将被交换。 文件大小
应始终为偶数字节,即不执行自动填充。
通配符
修改 还允许对路径中的项目编号使用通配符“*”
表达式,例如 'ContentSequence[*].CodeValue' 选择所有 'Code Value' 属性
ContentSequence 的所有项目。 所有基本操作都可以使用通配符,
即修改 -m,插入 -i 和 -e 选项,连同自动
创建中间路径节点是构建和处理的强大工具
复杂的数据集。
选项 -嘛 和 -ea 用于修改或删除所有基于 DICOM 元素的出现
在它的标签上不接受任何通配符,但只适用于单个元素(即单个
字典名称或标签键)。
示例
-i --插入:
dcmodify -i "(0010,0010)=A Name" file.dcm
将 PatientName 标签插入到第 1 级的“file.dcm”中。
如果标签已经存在, -i 将覆盖它! 如果你想
插入一个元素的多重性 > 1 (例如 4) 你
可以这样做: dcmodify -i "(0018,1310)=1\2\3\4"
dcmodify -i "(0008,1111)[0].PatientName=另一个名字"*.dcm
将 PatientName 标签插入序列的第一项
(0008,1111)。 请注意,文件通配符的使用是
可能的。 您也可以指定更长的标签路径(例如
"(0008,1111)[0].(0008,1111)[1].(0010,0010)=A Third One").
如果路径的任何部分,例如序列或项目“0”
不存在,由dcmodify自动插入。
dcmodify -i "(0008,1111)[*].PatientName=另一个名字"*.dcm
将 PatientName 标签插入到序列的 _every_ 项中
(0008,1111)。 请注意,文件通配符的使用是
可能的。 您也可以指定更长的标签路径(例如
“(0008,1111)[*].(0008,1111)[*].(0010,0010)=第三个”)。
-if --从文件插入:
dcmodify -if "PixelData=pixel.raw" file.dcm
将文件“pixel.raw”的内容插入到 PixelData 元素中
'file.dcm'。 文件的内容将按原样读取。
OW 数据预计为小端排序,并将
必要时交换。 不会进行任何检查以确保
就其他属性而言,数据量是合理的,例如
行或列。
-m --修改:
dcmodify -m "(0010,0010)=A Name" file.dcm
将第一层的标签 (0010,0010) 更改为“A Name”。
此选项还允许更长的标记路径,如图所示
以上为-i。 如果叶元素或任何中间
路径的一部分不存在,未按原样插入
如果使用 '-i' 选项。
dcmodify -m "(0010,0010)=A Name" -imt file.dcm
将第一层的标签 (0010,0010) 更改为“A Name”。 因为
给定选项“-imt”,返回成功而不是“未找到标签”,
如果元素/项目(或较长路径中的任何中间节点)
不存在。
请注意,对于“-m”选项,路径中的最后一个节点必须是
叶元素,即不是序列或项目。
-mf --从文件修改:
dcmodify -mf "PixelData=pixel.raw" file.dcm
与 -if 相同,以防已经存在 PixelData 元素
在'file.dcm'中。 否则什么都不会改变。
-ma --修改全部:
dcmodify -ma "(0010,0010)=新名称" file.dcm
与 -m 相同,但适用于在中找到的所有匹配标签
'文件.dcm'。 因此,它搜索整个数据集,包括
标记 (0010,0010) 的序列并将它们更改为“新名称”
-e --擦除:
dcmodify -e "(0010,0010)" *.dcm
在第一级擦除所有 *.dcm 文件中的标签 (0010,0010)。
此选项还允许更长的标记路径,如图所示
以上为-i。
dcmodify -e "(0010,0010)" -imt *.dcm
在第一级擦除所有 *.dcm 文件中的标签 (0010,0010)。 因为
给定选项“-imt”,返回成功而不是“未找到标签”,
如果元素/项目(或较长路径中的任何中间节点)
不存在。
-ea --erase-all:
dcmodify -ea "(0010,0010)" *.dcm
与 -e 相同,但也搜索序列和项目。
-ep --erase-private:
dcmodify -ep *.dcm
删除所有私有标签(即具有奇数组号的标签)
当前目录中与 *.dcm 匹配的所有文件。
-gst --gen-stud-uid:
dcmodify -gst 文件.dcm
这会为 StudyInstanceUID 生成一个新值
(0020,000d)。 其他UID不修改!
-gse --gen-ser-uid:
dcmodify -gse 文件.dcm
这将为 SeriesInstanceUID 生成一个新值
(0020,000e)。 其他UID不修改!
-gin --gen-inst-uid:
dcmodify -gin 文件.dcm
此命令为 SOPInstanceUID 生成一个新值
(0008,0018)。 对应的 MediaStorageSOPInstanceUID
(0002,0003) 自动调整为新值。
请注意,无法避免使用此元标题
通过 -nmu 选项更新。
-nmu --no-meta-uid:
dcmodify -m "SOPInstanceUID=[UID]" -nmu *.dcm
这会将 SOPInstanceUID 修改为给定的 [UID],
但是 -nmu 避免了,dcmodify 会调整
元标题中的 MediaStorageSOPInstanceUID 也是..fi
ERROR 搬运
修改 尝试执行命令行上给出的每个修改操作:如果返回一个
错误,其他的正在执行。 但是,如果有任何错误,修改后的
文件不会被保存,除非 --忽略错误 选项被指定。 如果那个选项是
选择, 修改 还继续修改命令行上指定的其他文件;
除此以外 修改 在第一个有修改错误的文件后退出。
如果 --忽略缺失标签 选项已启用,任何修改或擦除操作(即不
- 插入) 由于不存在的标签而失败被视为成功。 那
如果有人想确保文件中不存在特定标签,这确实有意义
或者 - 如果它们存在 - 它们被设置为特定值。
记录
各种命令行工具和底层库的日志输出级别可以
由用户指定。 默认情况下,仅将错误和警告写入标准
错误流。 使用选项 --详细 还有信息性消息,如处理细节
被报道。 选项 -调试 可用于获取有关内部活动的更多详细信息,
例如用于调试目的。 可以使用选项选择其他日志记录级别 - 日志-
水平。在 - 安静的 模式只报告致命错误。 在如此严重的错误事件中,
申请通常会终止。 有关不同日志记录级别的更多详细信息,
请参阅模块“oflog”的文档。
如果应该将日志输出写入文件(可选择使用日志文件轮换),
到系统日志 (Unix) 或事件日志 (Windows) 选项 --日志配置 可以使用。 这个
配置文件还允许仅将某些消息定向到特定输出
流并根据模块或应用程序过滤某些消息
生成。 提供了一个示例配置文件 /logger.cfg.
指挥 LINE
所有命令行工具都使用以下参数表示法:方括号括起来
可选值 (0-1),三个尾随点表示允许多个值
(1-n),两者的组合意味着 0 到 n 值。
命令行选项通过前导“+”或“-”符号与参数区分开来,
分别。 通常,命令行选项的顺序和位置是任意的(即它们
可以出现在任何地方)。 但是,如果选项相互排斥,则最右边的外观
用来。 此行为符合常见 Unix shell 的标准评估规则。
此外,可以使用“@”符号作为前缀来指定一个或多个命令文件
文件名(例如 @命令.txt)。 这样的命令参数被替换为
相应的文本文件(多个空格被视为单个分隔符,除非
在任何进一步评估之前,它们出现在两个引号之间)。 请注意
命令文件不能包含另一个命令文件。 这种简单而有效的方法
允许总结选项/参数的常见组合并避免冗长和
令人困惑的命令行(文件中提供了一个示例 /dumppat.txt).
环境
这个 修改 实用程序将尝试加载指定的 DICOM 数据字典
DCMDICT路径 环境变量。 默认情况下,即如果 DCMDICT路径 环境变量
未设置,文件 /dicom.dic 除非构建字典,否则将被加载
进入应用程序(Windows 的默认设置)。
默认行为应该是首选的,并且 DCMDICT路径 仅环境变量
当需要替代数据字典时使用。 这 DCMDICT路径 环境变量
具有与 Unix shell 相同的格式 PATH 冒号 (':') 分隔的变量
条目。 在 Windows 系统上,分号 (';') 用作分隔符。 数据字典
代码将尝试加载指定的每个文件 DCMDICT路径 环境变量。 它
如果无法加载数据字典,则是一个错误。
版权
版权所有 (C) 2003-2014 OFFIS eV, Escherweg 2, 26121 Oldenburg, Germany。
使用 onworks.net 服务在线使用 dcmodify