Error in read in multi-files
Moderator: Moderator Team
Error in read in multi-files
I have a dicom file (9MB) which includes over 100 small dicom files. When DCMTK read in this large dicom file, it output "Association aborted" since the PDU head type is DUL_TYPEABORT, also the length read in is no right.
Is there any way to solve this problem? THX
Is there any way to solve this problem? THX
-
- OFFIS DICOM Team
- Posts: 1449
- Joined: Tue, 2004-11-02, 17:22
- Location: Oldenburg, Germany
- Contact:
failed to receive multi-frame file
I am using dcmtk-3.5.4, operating system is windows 2000, compiler is Visual c++ 6.0.
I am runing dcmqrscp files and read in one compressed dicom file and the dcmqrscp.exe file stopped at DIMSE receiveCommand.
Here is the output :
-----------------------------------------------------------------------
Association Received (EPITOME:KPServer -> CONQUESTSRV1) Wed Dec 28 16:32:34 200
Parameters:
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID: 1.2.840.10008.5.1.4.1.1.7.0.1.0
Their Implementation Version Name: C-PACS
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: KPServer
Called Application Name: CONQUESTSRV1
Responding Application Name:
Our Max PDU Receive Size: 65536
Their Max PDU Receive Size: 16384
Presentation Contexts:
Context ID: 1 (Proposed)
Abstract Syntax: =UltrasoundMultiframeImageStorage
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=LittleEndianExplicit
Context ID: 3 (Proposed)
Abstract Syntax: =UltrasoundMultiframeImageStorage
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=BigEndianExplicit
=LittleEndianImplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Constructing Associate AC PDU
Association Acknowledged (Max Send PDV: 16372)
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID: 1.2.840.10008.5.1.4.1.1.7.0.1.0
Their Implementation Version Name: C-PACS
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: KPServer
Called Application Name: CONQUESTSRV1
Responding Application Name:
Our Max PDU Receive Size: 65536
Their Max PDU Receive Size: 16384
Presentation Contexts:
Context ID: 1 (Accepted)
Abstract Syntax: =UltrasoundMultiframeImageStorage
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianExplicit
Context ID: 3 (Accepted)
Abstract Syntax: =UltrasoundMultiframeImageStorage
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =BigEndianExplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
DIMSE receiveCommand
Association Aborted
---------------------------------------------------------------------
So what's the problem? Thank you
I am runing dcmqrscp files and read in one compressed dicom file and the dcmqrscp.exe file stopped at DIMSE receiveCommand.
Here is the output :
-----------------------------------------------------------------------
Association Received (EPITOME:KPServer -> CONQUESTSRV1) Wed Dec 28 16:32:34 200
Parameters:
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID: 1.2.840.10008.5.1.4.1.1.7.0.1.0
Their Implementation Version Name: C-PACS
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: KPServer
Called Application Name: CONQUESTSRV1
Responding Application Name:
Our Max PDU Receive Size: 65536
Their Max PDU Receive Size: 16384
Presentation Contexts:
Context ID: 1 (Proposed)
Abstract Syntax: =UltrasoundMultiframeImageStorage
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=LittleEndianExplicit
Context ID: 3 (Proposed)
Abstract Syntax: =UltrasoundMultiframeImageStorage
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=BigEndianExplicit
=LittleEndianImplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Constructing Associate AC PDU
Association Acknowledged (Max Send PDV: 16372)
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID: 1.2.840.10008.5.1.4.1.1.7.0.1.0
Their Implementation Version Name: C-PACS
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: KPServer
Called Application Name: CONQUESTSRV1
Responding Application Name:
Our Max PDU Receive Size: 65536
Their Max PDU Receive Size: 16384
Presentation Contexts:
Context ID: 1 (Accepted)
Abstract Syntax: =UltrasoundMultiframeImageStorage
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianExplicit
Context ID: 3 (Accepted)
Abstract Syntax: =UltrasoundMultiframeImageStorage
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =BigEndianExplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
DIMSE receiveCommand
Association Aborted
---------------------------------------------------------------------
So what's the problem? Thank you
-
- OFFIS DICOM Team
- Posts: 1449
- Joined: Tue, 2004-11-02, 17:22
- Location: Oldenburg, Germany
- Contact:
Without knowing the contents of the DIMSE message received, it is difficult to say why the tool (or the remote SCU) has aborted the association. However, you should note that the association negotiation has only negotiated uncompressed transfer syntaxes, i.e. a compressed DICOM image cannot be transferred over the association as negotiated here. I would expect this to be the reason for the abort.
here are DIMSE messages
The file (image.dcm) I want to transfer contains around 100 dcms and it is 9MB. When I run the storescu.exe
to transfer this file, here is part of output. I use dcmtk-3.5.4, and I checked it can deal with
the compressed dcm images.
////////////////////////////////////////////////////////////////////////
Sending file: images\image.dcm
Transfer: JPEGBaseline -> LittleEndianExplicit
Store SCU RQ: MsgID 1, (US)
XMIT:DIMSE Command To Send:
# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0000,0000) UL 0 # 4, 1 CommandGroupLen
gth
(0000,0002) UI =UltrasoundMultiframeImageStorage # 28, 1 AffectedSOPClas
sUID
(0000,0100) US 1 # 2, 1 CommandField
(0000,0110) US 1 # 2, 1 MessageID
(0000,0700) US 2 # 2, 1 Priority
(0000,0800) US 1 # 2, 1 DataSetType
(0000,1000) UI [1.2.410.200001.1.4000.1.20051028104843207.1.5] # 46, 1 Affected
SOPInstanceUID
DIMSE sendDcmDataset: sending 142 bytes
DIMSE sendDcmDataset: sending 1222 bytes
.
DIMSE receiveCommand 1
DIMSE receiveCommand: 1 pdv's (142 bytes), presID=221
DIMSE Command Received:
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0000,0002) UI =UltrasoundMultiframeImageStorage # 28, 1 AffectedSOPClas
sUID
(0000,0100) US 32769 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingR
espondedTo
(0000,0800) US 257 # 2, 1 DataSetType
(0000,0900) US 0 # 2, 1 Status
(0000,1000) UI [1.2.410.200001.1.4000.1.20051028104843207.1.5] # 46, 1 Affected
SOPInstanceUID
C-Store RSP: MsgID: 1 [Status=Success]
AffectedSOPClassUID: =UltrasoundMultiframeImageStorage
AffectedSOPInstanceUID: 1.2.410.200001.1.4000.1.20051028104843207.1.5
Data Set: Not Present
Releasing Association
///////////////////////////////////////////////////////////////////////
The transfered file I got is only 1.5KB. I think dcmtk-3.5.4 can transfer the compressed dcm image, right? Thank you
to transfer this file, here is part of output. I use dcmtk-3.5.4, and I checked it can deal with
the compressed dcm images.
////////////////////////////////////////////////////////////////////////
Sending file: images\image.dcm
Transfer: JPEGBaseline -> LittleEndianExplicit
Store SCU RQ: MsgID 1, (US)
XMIT:DIMSE Command To Send:
# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0000,0000) UL 0 # 4, 1 CommandGroupLen
gth
(0000,0002) UI =UltrasoundMultiframeImageStorage # 28, 1 AffectedSOPClas
sUID
(0000,0100) US 1 # 2, 1 CommandField
(0000,0110) US 1 # 2, 1 MessageID
(0000,0700) US 2 # 2, 1 Priority
(0000,0800) US 1 # 2, 1 DataSetType
(0000,1000) UI [1.2.410.200001.1.4000.1.20051028104843207.1.5] # 46, 1 Affected
SOPInstanceUID
DIMSE sendDcmDataset: sending 142 bytes
DIMSE sendDcmDataset: sending 1222 bytes
.
DIMSE receiveCommand 1
DIMSE receiveCommand: 1 pdv's (142 bytes), presID=221
DIMSE Command Received:
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0000,0002) UI =UltrasoundMultiframeImageStorage # 28, 1 AffectedSOPClas
sUID
(0000,0100) US 32769 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingR
espondedTo
(0000,0800) US 257 # 2, 1 DataSetType
(0000,0900) US 0 # 2, 1 Status
(0000,1000) UI [1.2.410.200001.1.4000.1.20051028104843207.1.5] # 46, 1 Affected
SOPInstanceUID
C-Store RSP: MsgID: 1 [Status=Success]
AffectedSOPClassUID: =UltrasoundMultiframeImageStorage
AffectedSOPInstanceUID: 1.2.410.200001.1.4000.1.20051028104843207.1.5
Data Set: Not Present
Releasing Association
///////////////////////////////////////////////////////////////////////
The transfered file I got is only 1.5KB. I think dcmtk-3.5.4 can transfer the compressed dcm image, right? Thank you
Here is error message.
/*--------------------------------------------------------------------------------
Sending file: images\image.dcm
Transfer: JPEGBaseline -> LittleEndianExplicit
Store SCU RQ: MsgID 1, (US)
XMIT:DIMSE Warning: (STORESCU,ANY-SCP): sendMessage: unable to convert dataset from 'JPEG Baseline' transfer syntax to 'LittleEndianExplicit'.
storescu: Store Failed, file: images\image.dcm:
0006:020e DIMSE Failed to send message
storescu: SCU Failed:
0006:020e DIMSE Failed to send message
Aborting Association
---------------------------------------------------------------------------------*/
why is cann't transfer from JPEGBaseline to LittleEndianExplicit? anyway to fix it? thanks
/*--------------------------------------------------------------------------------
Sending file: images\image.dcm
Transfer: JPEGBaseline -> LittleEndianExplicit
Store SCU RQ: MsgID 1, (US)
XMIT:DIMSE Warning: (STORESCU,ANY-SCP): sendMessage: unable to convert dataset from 'JPEG Baseline' transfer syntax to 'LittleEndianExplicit'.
storescu: Store Failed, file: images\image.dcm:
0006:020e DIMSE Failed to send message
storescu: SCU Failed:
0006:020e DIMSE Failed to send message
Aborting Association
---------------------------------------------------------------------------------*/
why is cann't transfer from JPEGBaseline to LittleEndianExplicit? anyway to fix it? thanks
-
- ICSMED DICOM Services
- Posts: 2217
- Joined: Fri, 2004-10-29, 21:38
- Location: Oldenburg, Germany
See this thread.
I use this command : storescu -v -d -xs localhost
it doesn't work and also tried with all the other -x? options , still have with the same error:
-----------------------------------------------------------------------------------
Sending file: images\image.dcm
Transfer: JPEGBaseline -> LittleEndianExplicit
Store SCU RQ: MsgID 1, (US)
XMIT:DIMSE Warning: (STORESCU,ANY-SCP): sendMessage: unable to convert dataset
from 'JPEG Baseline' transfer syntax to 'LittleEndianExplicit'.
storescu: Store Failed, file: images\image5.dcm:
0006:020e DIMSE Failed to send message
storescu: SCU Failed:
0006:020e DIMSE Failed to send message
Aborting Association
------------------------------------------------------------------------
I tested all transfer syntaxs (total 30) in E_TransferSyntax, only one transfer syntax works for
JPEGBaseline, that is EXS_JPEGProcess1TransferSyntax. I did change the syntax in one file
xferSyntax = EXS_JPEGProcess1TransferSyntax, and then function
sendDcmDataset(assoc, dataObject, presID, xferSyntax,DUL_DATASETPDV, callback, callbackContext) function
works fine, that means all data been send. but when I go to check saved file, it only 1.5kb, not 9MB.\
I think I only change the sytax locally, not globally. So it still use old syntax in some other functions.
But there is no command option in storescu for this transfer syntax. What should I do?
it doesn't work and also tried with all the other -x? options , still have with the same error:
-----------------------------------------------------------------------------------
Sending file: images\image.dcm
Transfer: JPEGBaseline -> LittleEndianExplicit
Store SCU RQ: MsgID 1, (US)
XMIT:DIMSE Warning: (STORESCU,ANY-SCP): sendMessage: unable to convert dataset
from 'JPEG Baseline' transfer syntax to 'LittleEndianExplicit'.
storescu: Store Failed, file: images\image5.dcm:
0006:020e DIMSE Failed to send message
storescu: SCU Failed:
0006:020e DIMSE Failed to send message
Aborting Association
------------------------------------------------------------------------
I tested all transfer syntaxs (total 30) in E_TransferSyntax, only one transfer syntax works for
JPEGBaseline, that is EXS_JPEGProcess1TransferSyntax. I did change the syntax in one file
xferSyntax = EXS_JPEGProcess1TransferSyntax, and then function
sendDcmDataset(assoc, dataObject, presID, xferSyntax,DUL_DATASETPDV, callback, callbackContext) function
works fine, that means all data been send. but when I go to check saved file, it only 1.5kb, not 9MB.\
I think I only change the sytax locally, not globally. So it still use old syntax in some other functions.
But there is no command option in storescu for this transfer syntax. What should I do?
-
- ICSMED DICOM Services
- Posts: 2217
- Joined: Fri, 2004-10-29, 21:38
- Location: Oldenburg, Germany
I am using K-Pacs send the image.dcm to dcmqrscp. As I know K-Pacs support JPEG Baseline. But why dcmqrscp outputs this error message?
--------------------------------------------------------------------------------
Association Received (127.0.0.1:IQSERVER -> CONQUESTSRV1) Fri Feb 10 14:20:46 2006
Association Acknowledged (Max Send PDV: 16372)
Received Store SCP: C-Store RQ: MsgID: 3
AffectedSOPClassUID: =UltrasoundMultiframeImageStorage
AffectedSOPInstanceUID: 1.2.410.200001.1.4000.1.20051028104843207.1.5
Priority: 0
Data Set: Present
RECV:.DIMSE Warning: (IQSERVER,CONQUESTSRV1): DIMSE_receiveDataSetInMemory: dset->read() Failed (Illegal Call, perhaps wrong parameters)
DcmQueryRetrieve: Store SCP Failed:0006:020d DIMSE Failed to receive message
DcmQueryRetrieve: DIMSE Failure (aborting association):
0006:020d DIMSE Failed to receive message
---------------------------------------------------------------------------------
I use storescu to test if the DCMTK can transfer JPEG baseline, but My final purpose is to use K-Pacs to send the image. When K-Pasc send the image how do dcmqrscp know should use JPEGProcess1TransferSyntax?
Thank you very much for your answer.
--------------------------------------------------------------------------------
Association Received (127.0.0.1:IQSERVER -> CONQUESTSRV1) Fri Feb 10 14:20:46 2006
Association Acknowledged (Max Send PDV: 16372)
Received Store SCP: C-Store RQ: MsgID: 3
AffectedSOPClassUID: =UltrasoundMultiframeImageStorage
AffectedSOPInstanceUID: 1.2.410.200001.1.4000.1.20051028104843207.1.5
Priority: 0
Data Set: Present
RECV:.DIMSE Warning: (IQSERVER,CONQUESTSRV1): DIMSE_receiveDataSetInMemory: dset->read() Failed (Illegal Call, perhaps wrong parameters)
DcmQueryRetrieve: Store SCP Failed:0006:020d DIMSE Failed to receive message
DcmQueryRetrieve: DIMSE Failure (aborting association):
0006:020d DIMSE Failed to receive message
---------------------------------------------------------------------------------
I use storescu to test if the DCMTK can transfer JPEG baseline, but My final purpose is to use K-Pacs to send the image. When K-Pasc send the image how do dcmqrscp know should use JPEGProcess1TransferSyntax?
Thank you very much for your answer.
-
- Posts: 49
- Joined: Wed, 2005-02-16, 16:27
Although K-PACS can display lossy compressed images it will not propose jpeg lossy transfer syntaxes (but will do so soon). Meanwhile you should avoid loading in lossy compressed images if you want to send them to a remote AE. To do so, uncheck the "don't decompress images" checkbox in the "filesystem" dialog. All lossy compressed images will then be spooled to a decompressor (dcmdjpeg) before registration into the local database. Be aware that most viewer applications will not display any warnings about the fact that these images had been lossy compressed beforehand.
regards,
Andreas Knopke
regards,
Andreas Knopke
-
- Posts: 49
- Joined: Wed, 2005-02-16, 16:27
-
- Posts: 49
- Joined: Wed, 2005-02-16, 16:27
Thanks for the file,
I think I found the bug. K-PACS got confused by the private attribute
7FDF,0010 which is used by CONQUEST for their private NKI compression. In your case it is used by MEDISON_US.
I fixed the bug and you should be able to transfer these images with K-PACS to dcmqrscp with the next version.
regards,
Andreas
I think I found the bug. K-PACS got confused by the private attribute
7FDF,0010 which is used by CONQUEST for their private NKI compression. In your case it is used by MEDISON_US.
I fixed the bug and you should be able to transfer these images with K-PACS to dcmqrscp with the next version.
regards,
Andreas
Thank you again
Hi Andreas,
Can I get know when the new version of K-PACS will be released?
I really want get the new version as soon as possible.
Thanks lot
Can I get know when the new version of K-PACS will be released?
I really want get the new version as soon as possible.
Thanks lot
Who is online
Users browsing this forum: Ahrefs [Bot], Bing [Bot], Google [Bot] and 1 guest