feat: add big endian Explicit trans syntax support to move&query

This commit is contained in:
kradchen
2025-09-09 08:46:01 +08:00
parent 59de3a2412
commit 046c8345f8
3 changed files with 13 additions and 1 deletions

View File

@@ -12,8 +12,13 @@ MoveStoreThread::MoveStoreThread(const std::string aAETitle, unsigned short aPor
OFList<OFString> syntaxes; OFList<OFString> syntaxes;
syntaxes.push_back(UID_LittleEndianExplicitTransferSyntax); syntaxes.push_back(UID_LittleEndianExplicitTransferSyntax);
syntaxes.push_back(UID_LittleEndianImplicitTransferSyntax); syntaxes.push_back(UID_LittleEndianImplicitTransferSyntax);
//添加Big Endian Explicit transfer syntax的支持
//解决SCU只支持Big Endian Explicit transfer syntax的情况
syntaxes.push_back(UID_BigEndianExplicitTransferSyntax);
mScp->addPresentationContext(UID_CTImageStorage,syntaxes); mScp->addPresentationContext(UID_CTImageStorage,syntaxes);
mScp->addPresentationContext(UID_MRImageStorage,syntaxes); //移除MRI图像接收的支持
// mScp->addPresentationContext(UID_MRImageStorage,syntaxes);
connect(mScp, &MoveStoreScp::movePorgress, this, &MoveStoreThread::moveProgress,Qt::DirectConnection); connect(mScp, &MoveStoreScp::movePorgress, this, &MoveStoreThread::moveProgress,Qt::DirectConnection);
} }

View File

@@ -62,6 +62,10 @@ bool MoveWorker::initDcmSCU()
OFList<OFString> syntaxes; OFList<OFString> syntaxes;
syntaxes.push_back(UID_LittleEndianExplicitTransferSyntax); syntaxes.push_back(UID_LittleEndianExplicitTransferSyntax);
syntaxes.push_back(UID_LittleEndianImplicitTransferSyntax); syntaxes.push_back(UID_LittleEndianImplicitTransferSyntax);
//添加Big Endian Explicit transfer syntax的支持
//解决SCP只支持Big Endian Explicit transfer syntax的情况
syntaxes.push_back(UID_BigEndianExplicitTransferSyntax);
mScu->addPresentationContext(UID_MOVEStudyRootQueryRetrieveInformationModel, syntaxes); mScu->addPresentationContext(UID_MOVEStudyRootQueryRetrieveInformationModel, syntaxes);
OFCondition cond = mScu->initNetwork(); OFCondition cond = mScu->initNetwork();

View File

@@ -38,6 +38,9 @@ bool QueryWorker::initDcmSCU()
OFList<OFString> syntaxes; OFList<OFString> syntaxes;
syntaxes.push_back(UID_LittleEndianExplicitTransferSyntax); syntaxes.push_back(UID_LittleEndianExplicitTransferSyntax);
syntaxes.push_back(UID_LittleEndianImplicitTransferSyntax); syntaxes.push_back(UID_LittleEndianImplicitTransferSyntax);
//添加Big Endian Explicit transfer syntax的支持
//解决SCU只支持Big Endian Explicit transfer syntax的情况
syntaxes.push_back(UID_BigEndianExplicitTransferSyntax);
// m_Scu->addPresentationContext(UID_FINDPatientRootQueryRetrieveInformationModel, syntaxes); // m_Scu->addPresentationContext(UID_FINDPatientRootQueryRetrieveInformationModel, syntaxes);
m_Scu->addPresentationContext(UID_FINDStudyRootQueryRetrieveInformationModel, syntaxes); m_Scu->addPresentationContext(UID_FINDStudyRootQueryRetrieveInformationModel, syntaxes);