Преобразование изображения GDCM в Java BufferedImage

Я использую GDCM для чтения изображений DICOM. Есть ли простой способ прочитать файл dicom с помощью GDCM, а затем преобразовать его в Java BufferedImage? Пока у меня есть следующее

String filename = "C:\\test.dcm";
    gdcm.ImageReader reader = new gdcm.ImageReader();
    reader.SetFileName(filename);
    reader.Read();
    gdcm.Image image = reader.GetImage();
    BufferedImage bufferedImage = new BufferedImage((int)image.GetRows(, (int)image.GetColumns(), BufferedImage.TYPE_USHORT_GRAY);
    // How do I populate bufferedImage?;

Может ли кто-нибудь сказать мне, на правильном ли я пути и как завершить этот пример.

Спасибо


person Jon    schedule 14.04.2011    source источник


Ответы (1)


Вы можете получить необработанный буфер пикселя, используя:

  byte[] str1 = new byte[ image.GetBufferLength()];
  image.GetBuffer( str1 );

См. полный пример по адресу:

or

или даже

person malat    schedule 14.04.2011
comment
Для меня image.GetBuffer(str1) выдает исключение. В частности, image.GetBuffer() принимает gdcm.SWIGTYPE_p_‹type›, где ‹type› = short, float, byte, double и т. д. Как преобразовать gdcm.SWIGTYPE_p_‹type› в массив Java? - person Jon; 14.04.2011
comment
Ссылка не работает, вы можете найти полный пример по адресу: gdcm.sourceforge.net/html/ ScanDirectory_8java-example.html - person Arash; 01.12.2015