У меня есть изображение dicom, которое я преобразовал в TIFF с помощью DCMTK и выполнил некоторую обработку изображения. У меня есть результирующее изображение как .bmp, но я хочу знать, возможно ли сохранить его как .dcm со всеми свойствами исходного исходного файла. Мой пример кода: —
// for converting dcm to tiff//
///src_path is the path for the diccom image///
src_dcm = new DicomImage(src_path);
if (src_dcm != NULL)
{
if (src_dcm->getStatus() == EIS_Normal)
{
if (src_dcm->isMonochrome())
{
src_dcm->setMinMaxWindow();
Uint8 *pixelData = (Uint8 *)(src_dcm->getOutputData(16 /* bits */));
if (pixelData != NULL)
{
src_dcm->writeBMP("source.tiff",24); /* do something useful with the pixel data */
}
}
}
else
cerr << "Error: cannot load DICOM image (" << DicomImage::getString(src_dcm->getStatus()) << ")" << endl;
}
После обработки у меня получается результирующее изображение в маске IplImage *. Сейчас я сохраняю его как .bmp, но я хотел бы сохранить его как .dcm со всеми свойствами (например, umber, xy columns и т. Д.) Исходного изображения dicom.
По сути, целью класса DicomImage является обработка и рендеринг изображений (как документация состояния). Поэтому я обычно рекомендую использовать возможности, предоставляемые модулем «dcmdata» (а не «dcmimgle / dcmimage»). Тем не менее, есть некоторые помощники с DicomImage :: writeFrameToDataset () а также DicomImage :: writeImageToDataset ().
Других решений пока нет …