Добавить изображение jpg как изображение jpg в файл DICOM - PullRequest
0 голосов
/ 04 октября 2018

Добрый день,

Я читаю изображение jpg и пытаюсь сохранить его в файле DICOM как jpg.Я хочу как можно меньше манипуляций, чтобы предотвратить потерю или изменения профиля ICC.

Я пробовал:

...
data.Add(DicomTag.TransferSyntaxUID, DicomUID.JPEGLSLossless);

data.Add(DicomTag.PhotometricInterpretation, PhotometricInterpretation.Rgb);
data.Add(DicomTag.SamplesPerPixel, "3");
data.Add(DicomTag.PlanarConfiguration, "0");
data.Add(DicomTag.BitsAllocated, (ushort)8);
data.Add(DicomTag.BitsStored, (ushort)8);
data.Add(DicomTag.HighBit, (ushort)7);
data.Add(DicomTag.PixelRepresentation, "0");
data.Add(DicomTag.BurnedInAnnotation, "NO");
data.Add(DicomTag.LossyImageCompression, "01");
data.Add(DicomTag.LossyImageCompressionRatio, "10");
data.Add(DicomTag.LossyImageCompressionMethod, "ISO_10918_1");
...

DicomPixelData pixelData = DicomPixelData.Create(data, true);

using (System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(imageFilename))
{
    byte[] pixels = GetPixels(bitmap);
    MemoryByteBuffer buffer = new MemoryByteBuffer(pixels);
    pixelData.AddFrame(buffer);
}

and

using (Image image = Image.FromFile(imageFilename))
{
    byte[] pixels = ImageToByteArray(image);
    MemoryByteBuffer buffer = new MemoryByteBuffer(pixels);
    pixelData.AddFrame(buffer);
}

Похоже, что изображение сохраняется как BMP, так как размерФайл DICOM раздувается невероятно.

Я пробовал разные комбинации DicomTag.TransferSyntaxUID:

data.Add(DicomTag.TransferSyntaxUID, DicomUID.JPEGLSLossless);
data.Add(DicomTag.TransferSyntaxUID, DicomUID.JPEGBaseline1);
data.Add(DicomTag.TransferSyntaxUID, DicomUID.JPEGLosslessNonHierarchical14);

Мысли?

(примечание: это было задано нагруппа пользователей dicom)

1 Ответ

0 голосов
/ 04 октября 2018

Мы нашли ответ:

DicomDataset data = new DicomDataset() { };

изменено на:

DicomDataset data = new DicomDataset(DicomTransferSyntax.JPEGProcess1) { };

Это основано на этой статье:

https://github.com/fo-dicom/fo-dicom/issues/553

...