奇怪的问题
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
37b942f0a6
commit
4240015056
|
|
@ -498,51 +498,22 @@ namespace IRaCIS.Core.SCP.Service
|
||||||
|
|
||||||
var newFragments = new DicomOtherByteFragment(DicomTag.PixelData);
|
var newFragments = new DicomOtherByteFragment(DicomTag.PixelData);
|
||||||
|
|
||||||
var newDicomFile = dicomFile.Clone();
|
#region test
|
||||||
|
//var newDicomFile = dicomFile.Clone();
|
||||||
|
|
||||||
var newDataset = newDicomFile.Dataset;
|
//var newDataset = newDicomFile.Dataset;
|
||||||
|
|
||||||
var dstPd = DicomPixelData.Create(newDataset, true);
|
//var dstPd = DicomPixelData.Create(newDataset, true);
|
||||||
|
|
||||||
for (int i = 0; i < pixelData.NumberOfFrames; i++)
|
//for (int i = 0; i < pixelData.NumberOfFrames; i++)
|
||||||
{
|
|
||||||
var frame = pixelData.GetFrame(i);
|
|
||||||
|
|
||||||
dstPd.AddFrame(frame);
|
|
||||||
|
|
||||||
var data = frame.Data;
|
|
||||||
int offset = 0;
|
|
||||||
|
|
||||||
while (offset < data.Length)
|
|
||||||
{
|
|
||||||
int size = Math.Min(fragmentSize, data.Length - offset);
|
|
||||||
var buffer = new byte[size];
|
|
||||||
Buffer.BlockCopy(data, offset, buffer, 0, size);
|
|
||||||
|
|
||||||
newFragments.Fragments.Add(new MemoryByteBuffer(buffer));
|
|
||||||
|
|
||||||
offset += size;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
var newOffsetTable = newDataset.GetDicomItem<DicomOtherByteFragment>(DicomTag.PixelData).OffsetTable;
|
|
||||||
|
|
||||||
newFragments.OffsetTable.AddRange(newOffsetTable.ToArray());
|
|
||||||
|
|
||||||
#region 暂时废弃
|
|
||||||
|
|
||||||
//for (int n = 0; n < pixelData.NumberOfFrames; n++)
|
|
||||||
//{
|
//{
|
||||||
// var frameData = pixelData.GetFrame(n); // 获取完整一帧
|
// var frame = pixelData.GetFrame(i);
|
||||||
// var data = frameData.Data;
|
|
||||||
|
// dstPd.AddFrame(frame);
|
||||||
|
|
||||||
|
// var data = frame.Data;
|
||||||
// int offset = 0;
|
// int offset = 0;
|
||||||
|
|
||||||
// bot.Add(botOffset);
|
|
||||||
|
|
||||||
// botOffset += (uint)data.Length + 8; // 累加帧长度
|
|
||||||
|
|
||||||
// while (offset < data.Length)
|
// while (offset < data.Length)
|
||||||
// {
|
// {
|
||||||
// int size = Math.Min(fragmentSize, data.Length - offset);
|
// int size = Math.Min(fragmentSize, data.Length - offset);
|
||||||
|
|
@ -553,20 +524,53 @@ namespace IRaCIS.Core.SCP.Service
|
||||||
|
|
||||||
// offset += size;
|
// offset += size;
|
||||||
|
|
||||||
// }
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
////保留原始偏移表
|
|
||||||
|
|
||||||
//if (originOffsetTable.Count == pixelData.NumberOfFrames)
|
|
||||||
//{
|
|
||||||
// newFragments.OffsetTable.AddRange(originOffsetTable.ToArray());
|
|
||||||
|
|
||||||
//}
|
//}
|
||||||
//else
|
//var newOffsetTable = newDataset.GetDicomItem<DicomOtherByteFragment>(DicomTag.PixelData).OffsetTable;
|
||||||
//{
|
|
||||||
// newFragments.OffsetTable.AddRange(bot.ToArray());
|
//newFragments.OffsetTable.AddRange(newOffsetTable.ToArray());
|
||||||
//}
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#region 暂时废弃
|
||||||
|
|
||||||
|
for (int n = 0; n < pixelData.NumberOfFrames; n++)
|
||||||
|
{
|
||||||
|
var frameData = pixelData.GetFrame(n); // 获取完整一帧
|
||||||
|
var data = frameData.Data;
|
||||||
|
int offset = 0;
|
||||||
|
|
||||||
|
bot.Add(botOffset);
|
||||||
|
|
||||||
|
botOffset += (uint)data.Length + 8; // 累加帧长度
|
||||||
|
|
||||||
|
while (offset < data.Length)
|
||||||
|
{
|
||||||
|
int size = Math.Min(fragmentSize, data.Length - offset);
|
||||||
|
var buffer = new byte[size];
|
||||||
|
Buffer.BlockCopy(data, offset, buffer, 0, size);
|
||||||
|
|
||||||
|
newFragments.Fragments.Add(new MemoryByteBuffer(buffer));
|
||||||
|
|
||||||
|
offset += size;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//保留原始偏移表
|
||||||
|
|
||||||
|
if (originOffsetTable.Count == pixelData.NumberOfFrames)
|
||||||
|
{
|
||||||
|
newFragments.OffsetTable.AddRange(originOffsetTable.ToArray());
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
newFragments.OffsetTable.AddRange(bot.ToArray());
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue