I'm trying to print a DICOM image to an AGFA Drystar AXYS printer using the dcmpsprt and dcmprscu tools, with no success. The process fails when creating the basic film box with an 'Invalid attribute value (0x106)' status. Unfortunately, the printer does not give any hint on which attribute in invalid.
I've captured some DICOM messages with Wireshark and the request that failed, along with the corresponding response, is as follows:
Code: Select all
DICOM, N-CREATE-RQ ID=3
PDU Type: Data (0x04)
PDU Length: 78
PDV, N-CREATE-RQ ID=3
PDV Length: 74
Context: 0x01 (Implicit VR Little Endian: Default Transfer Syntax for DICOM, Basic Grayscale Print Management Meta SOP Class)
Flags: 0x03 (Command, Last Fragment)
(0000,0000) 4 Command Group Length 60
(0000,0002) 22 Affected SOP Class UID 1.2.840.10008.5.1.1.2 (Basic Film Box SOP Class)
(0000,0100) 2 Command Field N-CREATE-RQ
(0000,0110) 2 Message ID 3
(0000,0800) 2 Command Data Set Type 1
DICOM, N-CREATE-RQ-DATA
PDU Type: Data (0x04)
PDU Length: 248
PDV, N-CREATE-RQ-DATA
PDV Length: 244
Context: 0x01 (Implicit VR Little Endian: Default Transfer Syntax for DICOM, Basic Grayscale Print Management Meta SOP Class)
Flags: 0x02 (Data, Last Fragment)
(2010,0000) 4 Group Length 230
(2010,0010) 12 Image Display Format STANDARD\1,1
(2010,0040) 8 Film Orientation PORTRAIT
(2010,0050) 10 Film Size ID 10INX12IN
(2010,0100) 6 Border Density BLACK
(2010,0110) 6 Empty Image Density BLACK
(2010,0120) 2 Min Density 0
(2010,0130) 2 Max Density 0
(2010,0140) 2 Trim NO
(2010,0500) <udef> Referenced Film Session Sequence
(fffe,e000) <udef> Item
(0008,0000) 4 Group Length 74
(0008,1150) 22 Referenced SOP Class UID 1.2.840.10008.5.1.1.1 (Basic Film Session SOP Class)
(0008,1155) 36 Referenced SOP Instance UID 1.3.51.0.1.7568953.20230105145947.47
(fffe,e00d) 0 Item Delimitation Item
(fffe,e0dd) 0 Sequence Delimitation Item
Code: Select all
DICOM, N-CREATE-RSP (Invalid attribute value)
PDU Type: Data (0x04)
PDU Length: 132
PDV, N-CREATE-RSP (Invalid attribute value)
PDV Length: 128
Context: 0x01 (Implicit VR Little Endian: Default Transfer Syntax for DICOM, Basic Grayscale Print Management Meta SOP Class)
Flags: 0x03 (Command, Last Fragment)
(0000,0000) 4 Command Group Length 114
(0000,0002) 22 Affected SOP Class UID 1.2.840.10008.5.1.1.2 (Basic Film Box SOP Class)
(0000,0100) 2 Command Field N-CREATE-RSP
(0000,0120) 2 Message ID Being Responded To 3
(0000,0800) 2 Command Data Set Type 257
(0000,0900) 2 Status Invalid attribute value (0x106)
(0000,1000) 36 Affected SOP Instance UID 1.3.51.0.1.2965381.20230105145947.48
Code: Select all
DICOM, N-CREATE-RQ ID=2
PDU Type: Data (0x04)
PDU Length: 78
PDV, N-CREATE-RQ ID=2
PDV Length: 74
Context: 0x01 (Implicit VR Little Endian: Default Transfer Syntax for DICOM, Basic Grayscale Print Management Meta SOP Class)
Flags: 0x03 (Command, Last Fragment)
(0000,0000) 4 Command Group Length 60
(0000,0002) 22 Affected SOP Class UID 1.2.840.10008.5.1.1.2 (Basic Film Box SOP Class)
(0000,0100) 2 Command Field N-CREATE-RQ
(0000,0110) 2 Message ID 2
(0000,0800) 2 Command Data Set Type 0
DICOM, N-CREATE-RQ-DATA
PDU Type: Data (0x04)
PDU Length: 262
PDV, N-CREATE-RQ-DATA
PDV Length: 258
Context: 0x01 (Implicit VR Little Endian: Default Transfer Syntax for DICOM, Basic Grayscale Print Management Meta SOP Class)
Flags: 0x02 (Data, Last Fragment)
(2010,0000) 4 Group Length 244
(2010,0010) 12 Image Display Format STANDARD\1,1
(2010,0030) 6 Annotation Display Format ID SomeID
(2010,0040) 8 Film Orientation PORTRAIT
(2010,0050) 10 Film Size ID 10INX12IN
(2010,0100) 6 Border Density BLACK
(2010,0110) 6 Empty Image Density BLACK
(2010,0120) 2 Min Density 0
(2010,0130) 2 Max Density 0
(2010,0140) 2 Trim NO
(2010,0500) <udef> Referenced Film Session Sequence
(fffe,e000) <udef> Item
(0008,0000) 4 Group Length 74
(0008,1150) 22 Referenced SOP Class UID 1.2.840.10008.5.1.1.1 (Basic Film Session SOP Class)
(0008,1155) 36 Referenced SOP Instance UID 1.3.51.0.1.1992528.20230105133809.21
(fffe,e00d) 0 Item Delimitation Item
(fffe,e0dd) 0 Sequence Delimitation Item
Code: Select all
DICOM, N-CREATE-RSP ID=2 (Success)
PDU Type: Data (0x04)
PDU Length: 132
PDV, N-CREATE-RSP ID=2 (Success)
PDV Length: 128
Context: 0x01 (Implicit VR Little Endian: Default Transfer Syntax for DICOM, Basic Grayscale Print Management Meta SOP Class)
Flags: 0x03 (Command, Last Fragment)
(0000,0000) 4 Command Group Length 114
(0000,0002) 22 Affected SOP Class UID 1.2.840.10008.5.1.1.2 (Basic Film Box SOP Class)
(0000,0100) 2 Command Field N-CREATE-RSP
(0000,0120) 2 Message ID Being Responded To 2
(0000,0800) 2 Command Data Set Type 1
(0000,0900) 2 Status Success (0x00)
(0000,1000) 36 Affected SOP Instance UID 1.3.51.0.1.1960335.20230105133809.22
DICOM, N-CREATE-RSP-DATA
PDU Type: Data (0x04)
PDU Length: 112
PDV, N-CREATE-RSP-DATA
PDV Length: 108
Context: 0x01 (Implicit VR Little Endian: Default Transfer Syntax for DICOM, Basic Grayscale Print Management Meta SOP Class)
Flags: 0x02 (Data, Last Fragment)
(2010,0510) <udef> Referenced Image Box Sequence
(fffe,e000) <udef> Item
(0008,1150) 22 Referenced SOP Class UID 1.2.840.10008.5.1.1.4 (Basic Grayscale Image Box SOP Class)
(0008,1155) 36 Referenced SOP Instance UID 1.3.51.0.1.7502367.20230105133809.23
(fffe,e00d) 0 Item Delimitation Item
(fffe,e0dd) 0 Sequence Delimitation Item
Code: Select all
// set the handling of group length elements when reading/writing a dataset (EGL_withoutGL, EGL_withGL, EGL_recalcGL)
g_dimse_send_groupLength_encoding = EGL_withGL; // DCMTK default is EGL_recalcGL
// set the sequence encoding type, either EET_UndefinedLength or EET_ExplicitLength
g_dimse_send_sequenceType_encoding = EET_UndefinedLength; // DCMTK default is EET_ExplicitLength
For my test I'm running the following command:
Code: Select all
dcmpsprt -d -c printers.cfg -p AGFA -s --copies 1 --medium-type "BLUE FILM" --priority MED --portrait --filmsize 10INX12IN --annotation "SomeID" --no-trim --border BLACK --empty-image BLACK --max-density 0 --min-density 0 BREAST_LMLO_4997.dcm
The configuration file I'm using is available at https://itfitec-my.sharepoint.com/:u:/g ... Q?e=giKRxU
The program output is available at https://itfitec-my.sharepoint.com/:t:/g ... g?e=rAdRd0.
Additionally, the Wireshark capture files for both scenarios are here:
- successful print (with 3rd party application): https://itfitec-my.sharepoint.com/:u:/g ... g?e=9eDi9r
failed print (with dcmpsprt and dcmprsc): https://itfitec-my.sharepoint.com/:u:/g ... Q?e=RdwKTp