pydicom / pynetdicom

A Python implementation of the DICOM networking protocol
https://pydicom.github.io/pynetdicom
MIT License
500 stars 176 forks source link

ValueError: Presentation Context attempted to add a invalid UID #117

Closed kakazuo closed 5 years ago

kakazuo commented 6 years ago

` Association accepted by the peer 2018-03-09 11:00:53,665 pynetdicom3.acse INFO Releasing Association start fetching data on 20180308 ... 2018-03-09 11:00:53,692 pynetdicom3 WARNING More than 126 supported SOP Classes have been supplied to the Application Entity, but the Presentation Context Definition ID can only be an odd integer between 1 and 255. The remaining SOP Classes will not be included 2018-03-09 11:00:53,693 sk_dicom_interface.DicomPullClient INFO Dicom move client created:

Application Entity 'SKDICOMINT ' on localhost:11112

Available Transfer Syntax(es): Explicit VR Little Endian Implicit VR Little Endian Explicit VR Big Endian

Supported SOP Classes (SCU): Digital Mammography X-Ray Image Storage - For Processing RT Structure Set Storage Procedure Log Storage Multi-frame Grayscale Word Secondary Capture Image Storage Visual Acuity Measurements Storage X-Ray Radiation Dose SR Storage 12-lead ECG Waveform Storage Autorefraction Measurements Storage Enhanced MR Color Image Storage Legacy Converted Enhanced PET Image Storage Nuclear Medicine Image Storage Digital Mammography X-Ray Image Storage - For Presentation Intravascular Optical Coherence Tomography Image Storage - For Processing Breast Tomosynthesis Image Storage Intraocular Lens Calculations Storage Chest CAD SR Storage Multi-frame Single Bit Secondary Capture Image Storage RT Plan Storage RT Brachy Treatment Record Storage Intravascular Optical Coherence Tomography Image Storage - For Presentation Mammography CAD SR Storage Subjective Refraction Measurements Storage Macular Grid Thickness and Volume Report Storage Secondary Capture Image Storage CT Image Storage Surface Scan Point Cloud Storage Pseudo-Color Softcopy Presentation State Storage Spatial Registration Storage Digital Intra-Oral X-Ray Image Storage - For Presentation Enhanced US Volume Storage Deformable Spatial Registration Storage Encapsulated CDA Storage Wide Field Ophthalmic Photography Stereographic Projection Image Storage 1.2.840.10008.5.1.1.4.1.1.3.1 VL Whole Slide Microscopy Image Storage Ultrasound Image Storage Grayscale Softcopy Presentation State Storage Digital X-Ray Image Storage - For Presentation X-Ray 3D Craniofacial Image Storage Segmentation Storage Ophthalmic Axial Measurements Storage Enhanced MR Image Storage MR Spectroscopy Storage RT Ion Beams Treatment Record Storage Ophthalmic Photography 16 Bit Image Storage Computed Radiography Image Storage Positron Emission Tomography Image Storage Breast Projection X-Ray Image Storage - For Presentation Blending Softcopy Presentation State Storage General ECG Waveform Storage Key Object Selection Document Storage RT Image Storage Colon CAD SR Storage Spatial Fiducials Storage Spectacle Prescription Report Storage Ophthalmic Thickness Map Storage Ophthalmic Tomography Image Storage Basic Text SR Storage Enhanced CT Image Storage 1.2.840.10008.5.1.4.1.1.1.1.1.1 RT Ion Plan Storage Real World Value Mapping Storage Color Softcopy Presentation State Storage Enhanced XA Image Storage Hemodynamic Waveform Storage Respiratory Waveform Storage VL Endoscopic Image Storage Video Endoscopic Image Storage General Audio Waveform Storage Ophthalmic Photography 8 Bit Image Storage RT Dose Storage Comprehensive SR Storage Ambulatory ECG Waveform Storage Generic Implant Template Storage Cardiac Electrophysiology Waveform Storage RT Beams Treatment Record Storage Stereometric Relationship Storage Parametric Map Storage Enhanced PET Image Storage XA/XRF Grayscale Softcopy Presentation State Storage X-Ray 3D Angiographic Image Storage Arterial Pulse Waveform Storage Raw Data Storage Basic Voice Audio Waveform Storage VL Slide-Coordinates Microscopic Image Storage Ultrasound Multi-frame Image Storage Breast Projection X-Ray Image Storage - For Processing RT Beams Delivery Instruction Storage Implantation Plan SR Storage Surface Segmentation Storage Enhanced XRF Image Storage Ophthalmic Visual Field Static Perimetry Measurements Storage Extensible SR Storage X-Ray Angiographic Image Storage RT Treatment Summary Record Storage Surface Scan Mesh Storage Radiopharmaceutical Radiation Dose SR Storage Basic Structured Display Storage MR Image Storage Implant Template Group Storage Video Microscopic Image Storage Lensometry Measurements Storage Implant Assembly Template Storage X-Ray Radiofluoroscopic Image Storage Legacy Converted Enhanced CT Image Storage Enhanced SR Storage Comprehensive 3D SR Storage VL Photographic Image Storage Keratometry Measurements Storage Encapsulated PDF Storage Multi-frame True Color Secondary Capture Image Storage Multi-frame Grayscale Byte Secondary Capture Image Storage VL Microscopic Image Storage Legacy Converted Enhanced MR Image Storage Corneal Topography Map Storage Video Photographic Image Storage Wide Field Ophthalmic Photography 3D Coordinates Image Storage Patient/Study Only Query/Retrieve Information Model - FIND Patient Root Query/Retrieve Information Model - FIND Modality Worklist Information Model - FIND Study Root Query/Retrieve Information Model - FIND Study Root Query/Retrieve Information Model - MOVE Patient Root Query/Retrieve Information Model - MOVE Patient/Study Only Query/Retrieve Information Model - MOVE Study Root Query/Retrieve Information Model - GET Patient/Study Only Query/Retrieve Information Model - GET Patient Root Query/Retrieve Information Model - GET Verification SOP Class

Supported SOP Classes (SCP): None

ACSE timeout: 60 s DIMSE timeout: None s Network timeout: None s

Association(s): 0/2

2018-03-09 11:00:53,694 sk_dicom_interface.DicomPullClient INFO Start to connect dicom server 2018-03-09 11:03:00,484 pynetdicom3.acse INFO Requesting Association 2018-03-09 11:03:01,153 pynetdicom3.acse INFO Association Accepted Exception in thread Thread-43: Traceback (most recent call last): File "/Users/apple/anaconda/envs/python2.7/lib/python2.7/threading.py", line 801, in __bootstrap_inner self.run() File "/Users/apple/anaconda/envs/python2.7/lib/python2.7/site-packages/pynetdicom3/dul.py", line 245, in run if self._is_transport_event() and self._idle_timer is not None: File "/Users/apple/anaconda/envs/python2.7/lib/python2.7/site-packages/pynetdicom3/dul.py", line 466, in _is_transport_event self._check_incoming_pdu() File "/Users/apple/anaconda/envs/python2.7/lib/python2.7/site-packages/pynetdicom3/dul.py", line 369, in _check_incoming_pdu self.primitive = self.pdu.ToParams() File "/Users/apple/anaconda/envs/python2.7/lib/python2.7/site-packages/pynetdicom3/pdu.py", line 780, in ToParams primitive.presentation_context_definition_results_list.append(ii.ToParams()) File "/Users/apple/anaconda/envs/python2.7/lib/python2.7/site-packages/pynetdicom3/pdu.py", line 2368, in ToParams primitive.add_transfer_syntax(self.transfer_syntax_sub_item.ToParams()) File "/Users/apple/anaconda/envs/python2.7/lib/python2.7/site-packages/pynetdicom3/utils.py", line 238, in add_transfer_syntax raise ValueError('Presentation Context attempted to add a ' ValueError: Presentation Context attempted to add a invalid UID

2018-03-09 11:03:07,943 sk_dicom_interface.DicomPullClient ERROR Connection failed `

Got the error above when I associate with a seimens dicom server, can anyone help take a look? thanks so much

scaramallion commented 6 years ago

It looks like one or more of the presentation context's transfer syntaxes sent back by the peer isn't recognised as a UID. That's a bit weird since the peer should only return syntaxes that you've sent to it.

I'll change the exception message to include more information to help debugging.

scaramallion commented 6 years ago

I've updated the exception message and the presentation contexts have had a bit of a refactor. Could you test to see if this is still occurring?