Error in read in multi-files

All other questions regarding DCMTK

Moderator: Moderator Team

Message
Author
newuser
Posts: 12
Joined: Fri, 2005-12-09, 21:43

Error in read in multi-files

#1 Post by newuser »

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

Marco Eichelberg
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 1449
Joined: Tue, 2004-11-02, 17:22
Location: Oldenburg, Germany
Contact:

#2 Post by Marco Eichelberg »

Which tools are you using? Which operating system? Which compiler? What kind of file? Which "end" of the network communication (which you seem to use) aborts the association? Without sufficient information, there is no help, sorry.

newuser
Posts: 12
Joined: Fri, 2005-12-09, 21:43

failed to receive multi-frame file

#3 Post by newuser »

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

Marco Eichelberg
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 1449
Joined: Tue, 2004-11-02, 17:22
Location: Oldenburg, Germany
Contact:

#4 Post by Marco Eichelberg »

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.

newuser
Posts: 12
Joined: Fri, 2005-12-09, 21:43

here are DIMSE messages

#5 Post by newuser »

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

newuser
Posts: 12
Joined: Fri, 2005-12-09, 21:43

#6 Post by newuser »

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

Jörg Riesmeier
ICSMED DICOM Services
ICSMED DICOM Services
Posts: 2217
Joined: Fri, 2004-10-29, 21:38
Location: Oldenburg, Germany

#7 Post by Jörg Riesmeier »

See this thread.

newuser
Posts: 12
Joined: Fri, 2005-12-09, 21:43

#8 Post by newuser »

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?

Jörg Riesmeier
ICSMED DICOM Services
ICSMED DICOM Services
Posts: 2217
Joined: Fri, 2004-10-29, 21:38
Location: Oldenburg, Germany

#9 Post by Jörg Riesmeier »

The correct option for storescu would be -xy (--propose-jpeg8). As far as I can read from your previous posts you're using dcmqrscp as a server. In this case you also need to specify option +xy (--prefer-jpeg8) for dcmqrscp.

newuser
Posts: 12
Joined: Fri, 2005-12-09, 21:43

#10 Post by newuser »

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.

AndreasKnopke
Posts: 49
Joined: Wed, 2005-02-16, 16:27

#11 Post by AndreasKnopke »

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

newuser
Posts: 12
Joined: Fri, 2005-12-09, 21:43

Thank you

#12 Post by newuser »

I uncheck the "don't decompress images" checkbox in the "filesystem" dialog. But still output same error message. Thank you

AndreasKnopke
Posts: 49
Joined: Wed, 2005-02-16, 16:27

#13 Post by AndreasKnopke »

Could you e-mail the file to Andreas<at>K-PACS.de
I would like to check it and tell you whats wrong.

regards,
Andreas

AndreasKnopke
Posts: 49
Joined: Wed, 2005-02-16, 16:27

#14 Post by AndreasKnopke »

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

newuser
Posts: 12
Joined: Fri, 2005-12-09, 21:43

Thank you again

#15 Post by newuser »

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

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Bing [Bot], Google [Bot] and 1 guest