dcmtk多帧影像转单帧
  OvWMsUgUNmVP 2023年11月02日 96 0


#include <dcmtk/dcmdata/dctk.h>
void mulTest()
{
    qDebug()<<"mulTest 0";
    QString path=u8"D:/1.3.12.2.1107.5.2.47.179640.2023081511473296234285371.dcm";
    DcmFileFormat* dicomFile=new DcmFileFormat();
    DcmDataset *dset = dicomFile->getDataset();
    OFCondition status = dicomFile->loadFile(path.toLocal8Bit().data());

    unsigned long frameCount = 128;
    qDebug()<<"frameCount is:"<<frameCount;
    if(status.good())
    {
        for(int i=0;i<frameCount;i++)
        {
            DcmFileFormat newFileFormat;
            unsigned long flags = CIF_UsePartialAccessToPixelData | CIF_AcrNemaCompatibility;
            DicomImage* dcmImage=new DicomImage(dset, dset->getOriginalXfer(), flags, i, 1);


            char newUID[100];
            dcmGenerateUniqueIdentifier(newUID, SITE_INSTANCE_UID_ROOT);
            DcmMetaInfo *newMetaInfo = newFileFormat.getMetaInfo();
            newMetaInfo->putAndInsertString(DCM_MediaStorageSOPClassUID, UID_MRImageStorage);
            newMetaInfo->putAndInsertString(DCM_MediaStorageSOPInstanceUID, newUID);
            DcmDataset *newDataset = newFileFormat.getDataset();


            // 获取图像像素数据
             const DiPixel* pixelData = dcmImage->getInterData();

             // 将图像像素数据添加到DcmDataset中
             if (pixelData)
             {
                 newDataset->putAndInsertUint8Array(DCM_PixelData, (Uint8*)pixelData->getData(), pixelData->getCount());
             }

            // 复制部分信息和标签
            newDataset->putAndInsertString(DCM_PatientName, "New Patient Name");
            newDataset->putAndInsertString(DCM_Modality, "CT");

            QString name=QString(u8"D:/mul/%1.dcm").arg(i);
            newFileFormat.saveFile(name.toLocal8Bit().data(), EXS_LittleEndianExplicit);

        }
    }
}

目前还有问题,待以后修复

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
OvWMsUgUNmVP