修改判断多帧图像
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
7b5b7e4ffa
commit
0cb2015aae
|
|
@ -1085,20 +1085,21 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
{
|
{
|
||||||
#region 将多帧合并为一帧
|
#region 将多帧合并为一帧
|
||||||
|
|
||||||
// 如果你是从 stream 打开
|
|
||||||
var dicomFile = await DicomFile.OpenAsync(source);
|
|
||||||
|
|
||||||
// 获取 Pixel Data 标签
|
|
||||||
var pixelData = DicomPixelData.Create(dicomFile.Dataset);
|
|
||||||
|
|
||||||
//获取像素是否为封装形式
|
|
||||||
var syntax = dicomFile.Dataset.InternalTransferSyntax;
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
// 如果你是从 stream 打开
|
||||||
|
var dicomFile = await DicomFile.OpenAsync(source);
|
||||||
|
|
||||||
|
//获取像素是否为封装形式
|
||||||
|
var syntax = dicomFile.Dataset.InternalTransferSyntax;
|
||||||
|
|
||||||
//对于封装像素的文件做转换
|
//对于封装像素的文件做转换
|
||||||
if (syntax.IsEncapsulated)
|
if (syntax.IsEncapsulated)
|
||||||
{
|
{
|
||||||
|
// 获取 Pixel Data 标签
|
||||||
|
var pixelData = DicomPixelData.Create(dicomFile.Dataset);
|
||||||
|
|
||||||
// 创建一个新的片段序列
|
// 创建一个新的片段序列
|
||||||
var newFragments = new DicomOtherByteFragment(DicomTag.PixelData);
|
var newFragments = new DicomOtherByteFragment(DicomTag.PixelData);
|
||||||
|
|
@ -1117,6 +1118,9 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
// 替换原有的片段序列
|
// 替换原有的片段序列
|
||||||
dicomFile.Dataset.AddOrUpdate(newFragments);
|
dicomFile.Dataset.AddOrUpdate(newFragments);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await dicomFile.SaveAsync(entryStream);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
@ -1126,7 +1130,6 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
await dicomFile.SaveAsync(entryStream);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -1984,24 +1987,23 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
await using var entryStream = entry.Open();
|
await using var entryStream = entry.Open();
|
||||||
await using var source = await _oSSService.GetStreamFromOSSAsync(instance.Path);
|
await using var source = await _oSSService.GetStreamFromOSSAsync(instance.Path);
|
||||||
|
|
||||||
|
|
||||||
if (instance.IsEncapsulated)
|
if (instance.IsEncapsulated)
|
||||||
{
|
{
|
||||||
|
|
||||||
#region 将多帧合并为一帧
|
#region 将多帧合并为一帧
|
||||||
|
|
||||||
// 如果你是从 stream 打开
|
|
||||||
var dicomFile = await DicomFile.OpenAsync(source);
|
|
||||||
|
|
||||||
// 获取 Pixel Data 标签
|
|
||||||
var pixelData = DicomPixelData.Create(dicomFile.Dataset);
|
|
||||||
//获取像素是否为封装形式
|
|
||||||
var syntax = dicomFile.Dataset.InternalTransferSyntax;
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
// 如果你是从 stream 打开
|
||||||
|
var dicomFile = await DicomFile.OpenAsync(source);
|
||||||
|
|
||||||
|
//获取像素是否为封装形式
|
||||||
|
var syntax = dicomFile.Dataset.InternalTransferSyntax;
|
||||||
|
|
||||||
//对于封装像素的文件做转换
|
//对于封装像素的文件做转换
|
||||||
if (syntax.IsEncapsulated)
|
if (syntax.IsEncapsulated)
|
||||||
{
|
{
|
||||||
|
// 获取 Pixel Data 标签
|
||||||
|
var pixelData = DicomPixelData.Create(dicomFile.Dataset);
|
||||||
|
|
||||||
// 创建一个新的片段序列
|
// 创建一个新的片段序列
|
||||||
var newFragments = new DicomOtherByteFragment(DicomTag.PixelData);
|
var newFragments = new DicomOtherByteFragment(DicomTag.PixelData);
|
||||||
|
|
@ -2020,6 +2022,9 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
// 替换原有的片段序列
|
// 替换原有的片段序列
|
||||||
dicomFile.Dataset.AddOrUpdate(newFragments);
|
dicomFile.Dataset.AddOrUpdate(newFragments);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await dicomFile.SaveAsync(entryStream);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
@ -2028,15 +2033,12 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
await dicomFile.SaveAsync(entryStream);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
await source.CopyToAsync(entryStream, 32 * 1024, abortToken);
|
await source.CopyToAsync(entryStream, 32 * 1024, abortToken);
|
||||||
}
|
|
||||||
|
|
||||||
//
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue