# include“Ltdic.h”
L_LTDIC_APIL_UINT16L_DicomChangeTransferSyntax2(hDS, pszOutfile, pszUID, nQFactor, uFlags, uSaveFlags)
更改数据集的传输语法。
数据集的DICOM句柄。
包含输出文件名的字符串。
包含新传输语法的UID的字符串。可能取值为:
价值 | 意义 |
---|---|
UID_IMPLICIT_VR_LITTLE_ENDIAN | “1.2.840.10008.1.2” |
UID_EXPLICIT_VR_LITTLE_ENDIAN | “1.2.840.10008.1.2.1” |
UID_EXPLICIT_VR_BIG_ENDIAN | “1.2.840.10008.1.2.2” |
UID_JPEG_BASELINE_1 | “1.2.840.10008.1.2.4.50” |
UID_JPEG_EXTENDED_2_4 | “1.2.840.10008.1.2.4.51” |
UID_JPEG_LOSSLESS_NONHIER_14 | “1.2.840.10008.1.2.4.57” |
UID_JPEG_LOSSLESS_NONHIER_14B | “1.2.840.10008.1.2.4.70” |
TRANSFER_SYNTAX_JPEG_LS_LOSSLESS | “1.2.840.10008.1.2.4.80” |
TRANSFER_SYNTAX_JPEG_LS_LOSSY | “1.2.840.10008.1.2.4.81” |
UID_JPEG2000_LOSSLESS_ONLY | “1.2.840.10008.1.2.4.90” |
UID_JPEG2000 | “1.2.840.10008.1.2.4.91” |
TRANSFER_SYNTAX_JPEG_2000_PART_2_MULTI_COMPONENT_IMAGE_COMPRESSION_LOSSLESS_ONLY | “1.2.840.10008.1.2.4.92” |
TRANSFER_SYNTAX_JPEG_2000_PART_2_MULTI_COMPONENT_IMAGE_COMPRESSION | “1.2.840.10008.1.2.4.93” |
UID_RLE_LOSSLESS | “1.2.840.10008.1.2.5” |
质量因子(Q因子)是一个决定压缩过程中损失程度的数字。您可以设置一个从2到255的值,其中2是最高质量,255是最大压缩。此参数仅适用于新传输语法涉及使用有损压缩压缩像素数据时。
标志,指示如何执行压缩。可能取值为:
价值 | 意义 |
---|---|
DICOM_CHANGETRAN_MINIMIZE_JPEG_SIZE | [0x00000001]如果设置,并且新的传输语法使用JPEG压缩,JPEG压缩引擎将使用优化的霍夫曼表,这将导致更好的压缩,但速度较慢。 |
DICOM_CHANGETRAN_RESCALE_MODALITY_LUT_WHEN_LOSSY_COMPRESSED | [0x00000002]如果设置了,并且新的传输语法使用JPEG有损压缩,则当前的任何模态LUT都将被重新缩放,以考虑由于有损压缩而导致的最小和最大灰度值的变化。 |
DICOM_CHANGETRAN_YBR_FULL | [0x00000100]此标志仅对彩色图像有效,如果pszUID是下列之一: |
——UID_IMPLICIT_VR_LITTLE_ENDIAN | |
——UID_EXPLICIT_VR_LITTLE_ENDIAN | |
——UID_EXPLICIT_VR_BIG_ENDIAN | |
——UID_RLE_LOSSLESS | |
对于所有其他传输语法值,它将被忽略。如果设置,这将RGB图像数据转换为YCbCr,这是一个亮度(Y)和两个色度平面(CB和CR)。 |
标志,指示如何执行压缩。可能取值为:
价值 | 意义 |
---|---|
DS_METAHEADER_PRESENT | [0x0001]出现报头。这可以用于压缩或未压缩的图像。 |
DS_METAHEADER_ABSENT | [0x0002]头不存在。这只能用于未压缩的图像。 |
DS_GROUP_LENGTHS | [0x0040]在文件中包含每个组的条目,其中包含组号和该组拥有的元素数量。 |
DS_LENGTH_EXPLICIT | [0x0080]序列的长度(以字节为单位)被编码为32位整数,序列的末尾没有包含序列定界项。 |
DS_EXCLUDE_METAHEADER_GROUP | [0x0100]标记号为0x0002xxxx的元素不会保存在文件中。 |
价值 | 意义 |
---|---|
DICOM_SUCCESS | 活动很成功。 |
> 0 | 发生错误。指返回代码. |
该函数将数据集的传输语法转换为pszUID中指定的传输语法,维护数据集中的所有元素和值。此外,生成的数据集被保存为文件pszOutFile所指定的特性uSaveFlags.
调用此函数后,之前对数据集中数据元素的所有引用都将不再有效。
方法发送C_STORE_REQ消息时,此函数特别有用L_DicomSendCStoreRequest函数。用户可以将数据集传输语法与SCP的传输语法相匹配。
如果这个函数返回错误DICOM_ERROR_WRITE,其中一个原因可能是您的系统缺少LEADTOOLS文件过滤器LFCMPU.DLL。具体来说,如果原始传输语法或新的传输语法是以下其中之一,则将返回此错误:
L_DicomChangeTransferSyntax2做所有L_DicomChangeTransferSyntax是否,但另外保存一个数据集与新的传输语法在位置pszOutFile指定的保存选项uSaveFlags.请注意,L_DicomChangeTransferSyntax2应该在尝试使用新的传输语法生成文件时使用,而不是L_DicomChangeTransferSyntax接电话L_DicomSaveDS.使用L_DicomChangeTransferSyntax2生成文件的速度将显著加快,并使用更少的资源(内存和磁盘),特别是对于大文件。
通过零为pszOutFile如果不希望将结果数据集另存为文件。在这种情况下,uSaveFlags将被忽略。这在功能上等同于调用L_DicomChangeTransferSyntax.
确保lfcpuu . dll与其他LEAD dll位于同一文件夹中。有关更多信息,请参阅应用程序中包含的文件.
请注意:此函数不能用于编码不属于主要医疗SDK的DICOM传输语法(例如视频压缩支持),并且只能通过LEADTOOLS医疗模块.
必需的dll和库
Win32, x64, Linux。
L_INT DicomChangeTransferSyntax2Example (L_VOID)
{
L_UINT16 nRet;
HDICOMDS = L_DicomCreateDS(NULL);
//加载数据集
nRet = l_dicomloadd (hDS,MAKE_IMAGE_PATH(TEXT(“Image1.dcm”)), 0);
如果(nRet != DICOM_SUCCESS)
{
L_DicomFreeDS (hDS);
返回nRet;
}
//修改传输语法为Explicit VR Big Endian,保存新数据集
nRet = L_DicomChangeTransferSyntax2(hDS, MAKE_IMAGE_PATH(TEXT(“Result.dcm”)), uid_explicit_vr_big_endian, 0,0,0);
如果(nRet != DICOM_SUCCESS)
{
L_DicomFreeDS (hDS);
返回nRet;
}
L_DicomFreeDS (hDS);
返回nRet;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。