pydicom / pynetdicom

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

Abstract Syntax not supported #591

Closed privateOmega closed 3 years ago

privateOmega commented 3 years ago

Package versions

pynetdicom = "^1.5.6" pydicom = "^1.4.2"

Issue

Abstract Syntax not supported

I am trying to send a dicom from Horos to a StoreSCP implementation and I am encountering this error

DICOM StoreSCU operation failed.

DICOM Network Failure (STORE-SCU) SCU Failed 0006:0208 DIMSE No valid Presentation Context ID

So on setting up debug logger, I got the following

``` D: Request Parameters: D: ======================= INCOMING A-ASSOCIATE-RQ PDU ======================== D: Their Implementation Class UID: 1.2.276.0.7238010.5.0.3.5.4 D: Their Implementation Version Name: OSIRIX D: Application Context Name: 1.2.840.10008.3.1.1.1 D: Calling Application Name: xxxxxxxxxx D: Called Application Name: xxxxxxxxxx D: Their Max PDU Receive Size: 16384 D: Presentation Contexts: D: Context ID: 1 (Proposed) D: Abstract Syntax: =Ambulatory ECG Waveform Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 3 (Proposed) D: Abstract Syntax: =Ambulatory ECG Waveform Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 5 (Proposed) D: Abstract Syntax: =Basic Text SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 7 (Proposed) D: Abstract Syntax: =Basic Text SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 9 (Proposed) D: Abstract Syntax: =Basic Voice Audio Waveform Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 11 (Proposed) D: Abstract Syntax: =Basic Voice Audio Waveform Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 13 (Proposed) D: Abstract Syntax: =Blending Softcopy Presentation State Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 15 (Proposed) D: Abstract Syntax: =Blending Softcopy Presentation State Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 17 (Proposed) D: Abstract Syntax: =CT Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 19 (Proposed) D: Abstract Syntax: =CT Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 21 (Proposed) D: Abstract Syntax: =Cardiac Electrophysiology Waveform Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 23 (Proposed) D: Abstract Syntax: =Cardiac Electrophysiology Waveform Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 25 (Proposed) D: Abstract Syntax: =Chest CAD SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 27 (Proposed) D: Abstract Syntax: =Chest CAD SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 29 (Proposed) D: Abstract Syntax: =Color Softcopy Presentation State Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 31 (Proposed) D: Abstract Syntax: =Color Softcopy Presentation State Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 33 (Proposed) D: Abstract Syntax: =Comprehensive SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 35 (Proposed) D: Abstract Syntax: =Comprehensive SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 37 (Proposed) D: Abstract Syntax: =Computed Radiography Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 39 (Proposed) D: Abstract Syntax: =Computed Radiography Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 41 (Proposed) D: Abstract Syntax: =Digital Intra-Oral X-Ray Image Storage - For Presentation D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 43 (Proposed) D: Abstract Syntax: =Digital Intra-Oral X-Ray Image Storage - For Presentation D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 45 (Proposed) D: Abstract Syntax: =Digital Intra-Oral X-Ray Image Storage - For Processing D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 47 (Proposed) D: Abstract Syntax: =Digital Intra-Oral X-Ray Image Storage - For Processing D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 49 (Proposed) D: Abstract Syntax: =Digital Mammography X-Ray Image Storage - For Presentation D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 51 (Proposed) D: Abstract Syntax: =Digital Mammography X-Ray Image Storage - For Presentation D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 53 (Proposed) D: Abstract Syntax: =Digital Mammography X-Ray Image Storage - For Processing D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 55 (Proposed) D: Abstract Syntax: =Digital Mammography X-Ray Image Storage - For Processing D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 57 (Proposed) D: Abstract Syntax: =Digital X-Ray Image Storage - For Presentation D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 59 (Proposed) D: Abstract Syntax: =Digital X-Ray Image Storage - For Presentation D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 61 (Proposed) D: Abstract Syntax: =Digital X-Ray Image Storage - For Processing D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 63 (Proposed) D: Abstract Syntax: =Digital X-Ray Image Storage - For Processing D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 65 (Proposed) D: Abstract Syntax: =Encapsulated PDF Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 67 (Proposed) D: Abstract Syntax: =Encapsulated PDF Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 69 (Proposed) D: Abstract Syntax: =Enhanced CT Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 71 (Proposed) D: Abstract Syntax: =Enhanced CT Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 73 (Proposed) D: Abstract Syntax: =Enhanced MR Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 75 (Proposed) D: Abstract Syntax: =Enhanced MR Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 77 (Proposed) D: Abstract Syntax: =Enhanced SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 79 (Proposed) D: Abstract Syntax: =Enhanced SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 81 (Proposed) D: Abstract Syntax: =Enhanced XA Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 83 (Proposed) D: Abstract Syntax: =Enhanced XA Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 85 (Proposed) D: Abstract Syntax: =Enhanced XRF Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 87 (Proposed) D: Abstract Syntax: =Enhanced XRF Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 89 (Proposed) D: Abstract Syntax: =General ECG Waveform Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 91 (Proposed) D: Abstract Syntax: =General ECG Waveform Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 93 (Proposed) D: Abstract Syntax: =Grayscale Softcopy Presentation State Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 95 (Proposed) D: Abstract Syntax: =Grayscale Softcopy Presentation State Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 97 (Proposed) D: Abstract Syntax: =Enhanced PET Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 99 (Proposed) D: Abstract Syntax: =Enhanced PET Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 101 (Proposed) D: Abstract Syntax: =Key Object Selection Document Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 103 (Proposed) D: Abstract Syntax: =Key Object Selection Document Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 105 (Proposed) D: Abstract Syntax: =MR Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 107 (Proposed) D: Abstract Syntax: =MR Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 109 (Proposed) D: Abstract Syntax: =MR Spectroscopy Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 111 (Proposed) D: Abstract Syntax: =MR Spectroscopy Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 113 (Proposed) D: Abstract Syntax: =Mammography CAD SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 115 (Proposed) D: Abstract Syntax: =Mammography CAD SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 117 (Proposed) D: Abstract Syntax: =Multi-frame Grayscale Byte Secondary Capture Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 119 (Proposed) D: Abstract Syntax: =Multi-frame Grayscale Byte Secondary Capture Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 121 (Proposed) D: Abstract Syntax: =Multi-frame Grayscale Word Secondary Capture Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 123 (Proposed) D: Abstract Syntax: =Multi-frame Grayscale Word Secondary Capture Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 125 (Proposed) D: Abstract Syntax: =Multi-frame True Color Secondary Capture Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 127 (Proposed) D: Abstract Syntax: =Multi-frame True Color Secondary Capture Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 129 (Proposed) D: Abstract Syntax: =Nuclear Medicine Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 131 (Proposed) D: Abstract Syntax: =Nuclear Medicine Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 133 (Proposed) D: Abstract Syntax: =Ophthalmic Photography 16 Bit Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 135 (Proposed) D: Abstract Syntax: =Ophthalmic Photography 16 Bit Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 137 (Proposed) D: Abstract Syntax: =Ophthalmic Photography 8 Bit Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 139 (Proposed) D: Abstract Syntax: =Ophthalmic Photography 8 Bit Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 141 (Proposed) D: Abstract Syntax: =Ophthalmic Tomography Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 143 (Proposed) D: Abstract Syntax: =Ophthalmic Tomography Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 145 (Proposed) D: Abstract Syntax: =Positron Emission Tomography Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 147 (Proposed) D: Abstract Syntax: =Positron Emission Tomography Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 149 (Proposed) D: Abstract Syntax: =Procedure Log Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 151 (Proposed) D: Abstract Syntax: =Procedure Log Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 153 (Proposed) D: Abstract Syntax: =Pseudo-Color Softcopy Presentation State Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 155 (Proposed) D: Abstract Syntax: =Pseudo-Color Softcopy Presentation State Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 157 (Proposed) D: Abstract Syntax: =RT Beams Treatment Record Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 159 (Proposed) D: Abstract Syntax: =RT Beams Treatment Record Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 161 (Proposed) D: Abstract Syntax: =RT Brachy Treatment Record Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 163 (Proposed) D: Abstract Syntax: =RT Brachy Treatment Record Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 165 (Proposed) D: Abstract Syntax: =RT Dose Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 167 (Proposed) D: Abstract Syntax: =RT Dose Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 169 (Proposed) D: Abstract Syntax: =RT Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 171 (Proposed) D: Abstract Syntax: =RT Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 173 (Proposed) D: Abstract Syntax: =RT Plan Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 175 (Proposed) D: Abstract Syntax: =RT Plan Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 177 (Proposed) D: Abstract Syntax: =RT Structure Set Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 179 (Proposed) D: Abstract Syntax: =RT Structure Set Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 181 (Proposed) D: Abstract Syntax: =RT Treatment Summary Record Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 183 (Proposed) D: Abstract Syntax: =RT Treatment Summary Record Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 185 (Proposed) D: Abstract Syntax: =Raw Data Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 187 (Proposed) D: Abstract Syntax: =Raw Data Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 189 (Proposed) D: Abstract Syntax: =Secondary Capture Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 191 (Proposed) D: Abstract Syntax: =Secondary Capture Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 193 (Proposed) D: Abstract Syntax: =X-Ray 3D Angiographic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 195 (Proposed) D: Abstract Syntax: =X-Ray 3D Angiographic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 197 (Proposed) D: Abstract Syntax: =Spatial Registration Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 199 (Proposed) D: Abstract Syntax: =Spatial Registration Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 201 (Proposed) D: Abstract Syntax: =X-Ray 3D Craniofacial Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 203 (Proposed) D: Abstract Syntax: =X-Ray 3D Craniofacial Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 205 (Proposed) D: Abstract Syntax: =Breast Tomosynthesis Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 207 (Proposed) D: Abstract Syntax: =Breast Tomosynthesis Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 209 (Proposed) D: Abstract Syntax: =12-lead ECG Waveform Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 211 (Proposed) D: Abstract Syntax: =12-lead ECG Waveform Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 213 (Proposed) D: Abstract Syntax: =Ultrasound Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 215 (Proposed) D: Abstract Syntax: =Ultrasound Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 217 (Proposed) D: Abstract Syntax: =Enhanced US Volume Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 219 (Proposed) D: Abstract Syntax: =Enhanced US Volume Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 221 (Proposed) D: Abstract Syntax: =Ultrasound Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 223 (Proposed) D: Abstract Syntax: =Ultrasound Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 225 (Proposed) D: Abstract Syntax: =Ultrasound Multi-frame Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 227 (Proposed) D: Abstract Syntax: =Ultrasound Multi-frame Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 229 (Proposed) D: Abstract Syntax: =VL Endoscopic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 231 (Proposed) D: Abstract Syntax: =VL Endoscopic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 233 (Proposed) D: Abstract Syntax: =VL Microscopic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 235 (Proposed) D: Abstract Syntax: =VL Microscopic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 237 (Proposed) D: Abstract Syntax: =VL Photographic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 239 (Proposed) D: Abstract Syntax: =VL Photographic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 241 (Proposed) D: Abstract Syntax: =Video Endoscopic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 243 (Proposed) D: Abstract Syntax: =Video Endoscopic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 245 (Proposed) D: Abstract Syntax: =X-Ray Angiographic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 247 (Proposed) D: Abstract Syntax: =X-Ray Angiographic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 249 (Proposed) D: Abstract Syntax: =X-Ray Radiofluoroscopic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 251 (Proposed) D: Abstract Syntax: =X-Ray Radiofluoroscopic Image Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Context ID: 253 (Proposed) D: Abstract Syntax: =X-Ray Radiation Dose SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntax: D: =Explicit VR Little Endian D: Context ID: 255 (Proposed) D: Abstract Syntax: =X-Ray Radiation Dose SR Storage D: Proposed SCP/SCU Role: Default D: Proposed Transfer Syntaxes: D: =Explicit VR Big Endian D: =Implicit VR Little Endian D: Requested Extended Negotiation: None D: Requested Common Extended Negotiation: None D: Requested Asynchronous Operations Window Negotiation: None D: Requested User Identity Negotiation: None D: ========================== END A-ASSOCIATE-RQ PDU ========================== I: Accepting Association D: Accept Parameters: D: ======================= OUTGOING A-ASSOCIATE-AC PDU ======================== D: Our Implementation Class UID: 1.2.826.0.1.3680043.9.3811.1.5.6 D: Our Implementation Version Name: PYNETDICOM_156 D: Application Context Name: 1.2.840.10008.3.1.1.1 D: Responding Application Name: resp. AE Title D: Our Max PDU Receive Size: 16382 D: Presentation Contexts: D: Context ID: 1 (Accepted) D: Abstract Syntax: =Ambulatory ECG Waveform Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 3 (Accepted) D: Abstract Syntax: =Ambulatory ECG Waveform Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 5 (Accepted) D: Abstract Syntax: =Basic Text SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 7 (Accepted) D: Abstract Syntax: =Basic Text SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 9 (Accepted) D: Abstract Syntax: =Basic Voice Audio Waveform Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 11 (Accepted) D: Abstract Syntax: =Basic Voice Audio Waveform Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 13 (Accepted) D: Abstract Syntax: =Blending Softcopy Presentation State Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 15 (Accepted) D: Abstract Syntax: =Blending Softcopy Presentation State Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 17 (Accepted) D: Abstract Syntax: =CT Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 19 (Accepted) D: Abstract Syntax: =CT Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 21 (Accepted) D: Abstract Syntax: =Cardiac Electrophysiology Waveform Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 23 (Accepted) D: Abstract Syntax: =Cardiac Electrophysiology Waveform Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 25 (Accepted) D: Abstract Syntax: =Chest CAD SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 27 (Accepted) D: Abstract Syntax: =Chest CAD SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 29 (Accepted) D: Abstract Syntax: =Color Softcopy Presentation State Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 31 (Accepted) D: Abstract Syntax: =Color Softcopy Presentation State Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 33 (Accepted) D: Abstract Syntax: =Comprehensive SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 35 (Accepted) D: Abstract Syntax: =Comprehensive SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 37 (Accepted) D: Abstract Syntax: =Computed Radiography Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 39 (Accepted) D: Abstract Syntax: =Computed Radiography Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 41 (Accepted) D: Abstract Syntax: =Digital Intra-Oral X-Ray Image Storage - For Presentation D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 43 (Accepted) D: Abstract Syntax: =Digital Intra-Oral X-Ray Image Storage - For Presentation D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 45 (Accepted) D: Abstract Syntax: =Digital Intra-Oral X-Ray Image Storage - For Processing D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 47 (Accepted) D: Abstract Syntax: =Digital Intra-Oral X-Ray Image Storage - For Processing D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 49 (Accepted) D: Abstract Syntax: =Digital Mammography X-Ray Image Storage - For Presentation D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 51 (Accepted) D: Abstract Syntax: =Digital Mammography X-Ray Image Storage - For Presentation D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 53 (Accepted) D: Abstract Syntax: =Digital Mammography X-Ray Image Storage - For Processing D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 55 (Accepted) D: Abstract Syntax: =Digital Mammography X-Ray Image Storage - For Processing D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 57 (Accepted) D: Abstract Syntax: =Digital X-Ray Image Storage - For Presentation D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 59 (Accepted) D: Abstract Syntax: =Digital X-Ray Image Storage - For Presentation D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 61 (Accepted) D: Abstract Syntax: =Digital X-Ray Image Storage - For Processing D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 63 (Accepted) D: Abstract Syntax: =Digital X-Ray Image Storage - For Processing D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 65 (Accepted) D: Abstract Syntax: =Encapsulated PDF Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 67 (Accepted) D: Abstract Syntax: =Encapsulated PDF Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 69 (Accepted) D: Abstract Syntax: =Enhanced CT Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 71 (Accepted) D: Abstract Syntax: =Enhanced CT Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 73 (Accepted) D: Abstract Syntax: =Enhanced MR Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 75 (Accepted) D: Abstract Syntax: =Enhanced MR Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 77 (Accepted) D: Abstract Syntax: =Enhanced SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 79 (Accepted) D: Abstract Syntax: =Enhanced SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 81 (Accepted) D: Abstract Syntax: =Enhanced XA Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 83 (Accepted) D: Abstract Syntax: =Enhanced XA Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 85 (Accepted) D: Abstract Syntax: =Enhanced XRF Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 87 (Accepted) D: Abstract Syntax: =Enhanced XRF Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 89 (Accepted) D: Abstract Syntax: =General ECG Waveform Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 91 (Accepted) D: Abstract Syntax: =General ECG Waveform Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 93 (Accepted) D: Abstract Syntax: =Grayscale Softcopy Presentation State Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 95 (Accepted) D: Abstract Syntax: =Grayscale Softcopy Presentation State Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 97 (Accepted) D: Abstract Syntax: =Enhanced PET Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 99 (Accepted) D: Abstract Syntax: =Enhanced PET Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 101 (Accepted) D: Abstract Syntax: =Key Object Selection Document Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 103 (Accepted) D: Abstract Syntax: =Key Object Selection Document Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 105 (Accepted) D: Abstract Syntax: =MR Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 107 (Accepted) D: Abstract Syntax: =MR Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 109 (Accepted) D: Abstract Syntax: =MR Spectroscopy Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 111 (Accepted) D: Abstract Syntax: =MR Spectroscopy Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 113 (Accepted) D: Abstract Syntax: =Mammography CAD SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 115 (Accepted) D: Abstract Syntax: =Mammography CAD SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 117 (Accepted) D: Abstract Syntax: =Multi-frame Grayscale Byte Secondary Capture Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 119 (Accepted) D: Abstract Syntax: =Multi-frame Grayscale Byte Secondary Capture Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 121 (Accepted) D: Abstract Syntax: =Multi-frame Grayscale Word Secondary Capture Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 123 (Accepted) D: Abstract Syntax: =Multi-frame Grayscale Word Secondary Capture Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 125 (Accepted) D: Abstract Syntax: =Multi-frame True Color Secondary Capture Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 127 (Accepted) D: Abstract Syntax: =Multi-frame True Color Secondary Capture Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 129 (Accepted) D: Abstract Syntax: =Nuclear Medicine Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 131 (Accepted) D: Abstract Syntax: =Nuclear Medicine Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 133 (Accepted) D: Abstract Syntax: =Ophthalmic Photography 16 Bit Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 135 (Accepted) D: Abstract Syntax: =Ophthalmic Photography 16 Bit Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 137 (Accepted) D: Abstract Syntax: =Ophthalmic Photography 8 Bit Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 139 (Accepted) D: Abstract Syntax: =Ophthalmic Photography 8 Bit Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 141 (Accepted) D: Abstract Syntax: =Ophthalmic Tomography Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 143 (Accepted) D: Abstract Syntax: =Ophthalmic Tomography Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 145 (Accepted) D: Abstract Syntax: =Positron Emission Tomography Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 147 (Accepted) D: Abstract Syntax: =Positron Emission Tomography Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 149 (Accepted) D: Abstract Syntax: =Procedure Log Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 151 (Accepted) D: Abstract Syntax: =Procedure Log Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 153 (Accepted) D: Abstract Syntax: =Pseudo-Color Softcopy Presentation State Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 155 (Accepted) D: Abstract Syntax: =Pseudo-Color Softcopy Presentation State Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 157 (Accepted) D: Abstract Syntax: =RT Beams Treatment Record Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 159 (Accepted) D: Abstract Syntax: =RT Beams Treatment Record Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 161 (Accepted) D: Abstract Syntax: =RT Brachy Treatment Record Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 163 (Accepted) D: Abstract Syntax: =RT Brachy Treatment Record Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 165 (Accepted) D: Abstract Syntax: =RT Dose Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 167 (Accepted) D: Abstract Syntax: =RT Dose Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 169 (Accepted) D: Abstract Syntax: =RT Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 171 (Accepted) D: Abstract Syntax: =RT Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 173 (Accepted) D: Abstract Syntax: =RT Plan Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 175 (Accepted) D: Abstract Syntax: =RT Plan Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 177 (Accepted) D: Abstract Syntax: =RT Structure Set Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 179 (Accepted) D: Abstract Syntax: =RT Structure Set Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 181 (Accepted) D: Abstract Syntax: =RT Treatment Summary Record Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 183 (Accepted) D: Abstract Syntax: =RT Treatment Summary Record Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 185 (Accepted) D: Abstract Syntax: =Raw Data Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 187 (Accepted) D: Abstract Syntax: =Raw Data Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 189 (Accepted) D: Abstract Syntax: =Secondary Capture Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 191 (Accepted) D: Abstract Syntax: =Secondary Capture Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 193 (Accepted) D: Abstract Syntax: =X-Ray 3D Angiographic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 195 (Accepted) D: Abstract Syntax: =X-Ray 3D Angiographic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 197 (Accepted) D: Abstract Syntax: =Spatial Registration Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 199 (Accepted) D: Abstract Syntax: =Spatial Registration Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 201 (Accepted) D: Abstract Syntax: =X-Ray 3D Craniofacial Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 203 (Accepted) D: Abstract Syntax: =X-Ray 3D Craniofacial Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 205 (Accepted) D: Abstract Syntax: =Breast Tomosynthesis Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 207 (Accepted) D: Abstract Syntax: =Breast Tomosynthesis Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 209 (Accepted) D: Abstract Syntax: =12-lead ECG Waveform Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 211 (Accepted) D: Abstract Syntax: =12-lead ECG Waveform Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 213 (Accepted) D: Abstract Syntax: =Ultrasound Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 215 (Accepted) D: Abstract Syntax: =Ultrasound Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 217 (Accepted) D: Abstract Syntax: =Enhanced US Volume Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 219 (Accepted) D: Abstract Syntax: =Enhanced US Volume Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 221 (Rejected - Abstract Syntax Not Supported) D: Abstract Syntax: =Ultrasound Image Storage D: Context ID: 223 (Rejected - Abstract Syntax Not Supported) D: Abstract Syntax: =Ultrasound Image Storage D: Context ID: 225 (Accepted) D: Abstract Syntax: =Ultrasound Multi-frame Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 227 (Accepted) D: Abstract Syntax: =Ultrasound Multi-frame Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 229 (Accepted) D: Abstract Syntax: =VL Endoscopic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 231 (Accepted) D: Abstract Syntax: =VL Endoscopic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 233 (Accepted) D: Abstract Syntax: =VL Microscopic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 235 (Accepted) D: Abstract Syntax: =VL Microscopic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 237 (Accepted) D: Abstract Syntax: =VL Photographic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 239 (Accepted) D: Abstract Syntax: =VL Photographic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 241 (Accepted) D: Abstract Syntax: =Video Endoscopic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 243 (Accepted) D: Abstract Syntax: =Video Endoscopic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 245 (Accepted) D: Abstract Syntax: =X-Ray Angiographic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 247 (Accepted) D: Abstract Syntax: =X-Ray Angiographic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 249 (Accepted) D: Abstract Syntax: =X-Ray Radiofluoroscopic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 251 (Accepted) D: Abstract Syntax: =X-Ray Radiofluoroscopic Image Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Context ID: 253 (Accepted) D: Abstract Syntax: =X-Ray Radiation Dose SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Explicit VR Little Endian D: Context ID: 255 (Accepted) D: Abstract Syntax: =X-Ray Radiation Dose SR Storage D: Accepted SCP/SCU Role: Default D: Accepted Transfer Syntax: =Implicit VR Little Endian D: Accepted Extended Negotiation: None D: Accepted Asynchronous Operations Window Negotiation: None D: User Identity Negotiation Response: None D: ========================== END A-ASSOCIATE-AC PDU ========================== D: Abort Parameters: D: =========================== INCOMING A-ABORT PDU =========================== D: Abort Source: DUL service-user D: Abort Reason: No reason given D: ============================= END A-ABORT PDU ============================== I: Association Aborted ```

From which I understood, context 221, and 223 got rejected saying Abstract Syntax not supported, which isn't quite making sense to me because Ultrasound Image Storage was accepted in context 213 and 215 .

scaramallion commented 3 years ago

It's a little odd, but the displayed result message should be correct since the values in the code match the DICOM Standard. The actual result code sent by Horus is probably in error (maybe "User Rejection" would be more accurate?), I suggest creating an issue there.

I suspect the contexts themselves aren't accepted because the transfer syntaxes would've been repeated otherwise.

On the other hand, pynetdicom shouldn't be attempting to use a non-accepted presentation context when sending C-STORE requests, could you post the part of the log covering that?

privateOmega commented 3 years ago

@scaramallion I am not entirely sure if this is a horos issue because, I tried on weasis and that also is not allowing me to send the dicoms. Why do you thinking, contexts aren't accepted?

Which log exactly is it that you want? And could you please post the snippet of what I need to add in my codebase to get that part of the log which you are looking for?

privateOmega commented 3 years ago

@scaramallion Gentle reminder. :)

scaramallion commented 3 years ago

Sorry, combination of busy/burnt out. I meant the part of the log between the incoming A-ASSOCIATE-AC and the final A-ABORT/A-RELEASE. I'm assuming there's something different to what you posted earlier? Or does it just abort immediately?

aclark4life commented 3 years ago

@privateOmega @scaramallion I have a similar issue, I think, with a Fujifilm VisualSonics

D: Request Parameters:
D: ========================= BEGIN A-ASSOCIATE-RQ PDU =========================
D: Their Implementation Class UID:      1.2.840.114340.77
D: Their Implementation Version Name:   VSI_001
D: Application Context Name:    1.2.840.10008.3.1.1.1
D: Calling Application Name:    New_AE_Title    
D: Called Application Name:     New_AE_Title    
D: Their Max PDU Receive Size:  131072
D: Presentation Contexts:
D:   Context ID:        1 (Proposed)
D:     Abstract Syntax: =Verification SOP Class
D:     Proposed SCP/SCU Role: Default
D:     Proposed Transfer Syntax:
D:       =Implicit VR Little Endian
D:   Context ID:        3 (Proposed)
D:     Abstract Syntax: =Secondary Capture Image Storage
D:     Proposed SCP/SCU Role: Default
D:     Proposed Transfer Syntax:
D:       =JPEG Baseline (Process 1)
D:   Context ID:        5 (Proposed)
D:     Abstract Syntax: =Ultrasound Image Storage
D:     Proposed SCP/SCU Role: Default
D:     Proposed Transfer Syntax:
D:       =JPEG Baseline (Process 1)
D:   Context ID:        7 (Proposed)
D:     Abstract Syntax: =Ultrasound Multi-frame Image Storage
D:     Proposed SCP/SCU Role: Default
D:     Proposed Transfer Syntax:
D:       =JPEG Baseline (Process 1)
D:   Context ID:        9 (Proposed)
D:     Abstract Syntax: =Basic Text SR Storage
D:     Proposed SCP/SCU Role: Default
D:     Proposed Transfer Syntaxes:
D:       =Implicit VR Little Endian
D:       =Explicit VR Little Endian
D: Requested Extended Negotiation: None
D: Requested Common Extended Negotiation: None
D: Requested Asynchronous Operations Window Negotiation: None
D: Requested User Identity Negotiation: None
D: ========================== END A-ASSOCIATE-RQ PDU ==========================
I: Accepting Association
D: Accept Parameters:
D: ========================= BEGIN A-ASSOCIATE-AC PDU =========================
D: Our Implementation Class UID:      1.2.826.0.1.3680043.9.3811.1.4.1
D: Our Implementation Version Name:   PYNETDICOM_141
D: Application Context Name:    1.2.840.10008.3.1.1.1
D: Responding Application Name: resp. AE Title
D: Our Max PDU Receive Size:    16382
D: Presentation Contexts:
D:   Context ID:        1 (Rejected - Abstract Syntax Not Supported)
D:     Abstract Syntax: =Verification SOP Class
D:   Context ID:        3 (Rejected - Transfer Syntax Not Supported)
D:     Abstract Syntax: =Secondary Capture Image Storage
D:   Context ID:        5 (Rejected - Transfer Syntax Not Supported)
D:     Abstract Syntax: =Ultrasound Image Storage
D:   Context ID:        7 (Rejected - Transfer Syntax Not Supported)
D:     Abstract Syntax: =Ultrasound Multi-frame Image Storage
D:   Context ID:        9 (Accepted)
D:     Abstract Syntax: =Basic Text SR Storage
D:     Accepted SCP/SCU Role: Default
D:     Accepted Transfer Syntax: =Implicit VR Little Endian
D: Accepted Extended Negotiation: None
D: Accepted Asynchronous Operations Window Negotiation: None
D: User Identity Negotiation Response: None
D: ========================== END A-ASSOCIATE-AC PDU ==========================
D: Abort Parameters:
D: ============================ BEGIN A-ABORT PDU =============================
D: Abort Source: DUL service-user
D: Abort Reason: No reason given
D: ============================= END A-ABORT PDU ==============================
I: Association Aborted
D: Request Parameters:
scaramallion commented 3 years ago

@aclark4life could you post your SCP code for the above as well? And could you upgrade to v1.5.6 and see if the issue still occurs?

aclark4life commented 3 years ago

@scaramallion Good catch thanks! Will try that. Here's my code. Works great already with a few other modalities. ❤️

# Based on https://pydicom.github.io/pynetdicom/stable/examples/storage.html#storage-scp
# and https://pydicom.github.io/pynetdicom/stable/examples/verification.html#verification-scu

import os

from pydicom import dcmread
from pynetdicom import AE, StoragePresentationContexts, evt, debug_logger
from pynetdicom.sop_class import VerificationSOPClass

# Implement a handler evt.EVT_C_STORE
def handle_store(event):
    """Handle a C-STORE request event."""
    # Decode the C-STORE request's *Data Set* parameter to a pydicom Dataset
    dataset = event.dataset

    # Add the File Meta Information
    dataset.file_meta = event.file_meta

    # Get values from dataset
    instance_num = str(dataset["InstanceNumber"].value)
    patient_name = str(dataset["PatientName"].value)
    patient_id = str(dataset["PatientID"].value)
    study_date = str(dataset["StudyDate"].value)
    study_time = str(dataset["StudyTime"].value)
    series_desc = str(dataset["SeriesDescription"].value)
    series_num = str(dataset["SeriesNumber"].value)
    modality = str(dataset["Modality"].value)

    # Clean up values
    patient_name = patient_name.replace("^", "")

    # Use modality, patient, study, imaging series values to define directory tree and filename
    # unless value is empty string, in which case filter. E.g. create dir '4' instead of '4_' when
    # series_desc == ''.
    subdir_0 = modality
    subdir_1 = "_".join(filter(None, [patient_name, patient_id]))
    subdir_2 = "_".join(filter(None, [patient_name, study_date, study_time]))
    subdir_3 = "_".join(filter(None, [series_num, series_desc]))
    filename = "_".join(filter(None, [patient_name, series_num, instance_num]))
    filename += ".dcm"

    # Make directories
    try:
        os.mkdir(subdir_0)
    except FileExistsError:
        pass
    try:
        os.mkdir(os.path.join(subdir_0, subdir_1))
    except FileExistsError:
        pass
    try:
        os.mkdir(os.path.join(subdir_0, subdir_1, subdir_2))
    except FileExistsError:
        pass
    try:
        os.mkdir(os.path.join(subdir_0, subdir_1, subdir_2, subdir_3))
    except FileExistsError:
        pass

    # Configure perms
    os.chown(subdir_0, 101, gid=100)
    os.chown(os.path.join(subdir_0, subdir_1), 101, gid=100)
    os.chown(os.path.join(subdir_0, subdir_1, subdir_2), 101, gid=100)
    os.chown(os.path.join(subdir_0, subdir_1, subdir_2, subdir_3), 101, gid=100)
    path = os.path.join(subdir_0, subdir_1, subdir_2, subdir_3, filename)

    # Save the dataset using modality, patient, study, imaging series as directory tree and filename
    dataset.save_as(path, write_like_original=False)
    os.chown(path, 101, gid=100)

    # --------------------------------------------------------------------------------
    #
    #   Based on https://pydicom.github.io/pynetdicom/stable/examples/storage.html#storage-scu

    # Read in our DICOM dataset
    ds = dcmread(path)

    # Associate with peer AE running Orthanc at ORTHANC_IP_ADDRESS and port 4242
    assoc = ae.associate(ORTHANC_IP_ADDRESS, 4242)

    if assoc.is_established:
        # Use the C-STORE service to send the dataset
        assoc.send_c_store(ds)
        # Release the association
        assoc.release()
    #
    # --------------------------------------------------------------------------------

    # Return a 'Success' status
    return 0x0000

handlers = [(evt.EVT_C_STORE, handle_store)]

# Initialise the Application Entity
ae = AE()

# Add the supported presentation contexts
ae.supported_contexts = StoragePresentationContexts

# Add a requested presentation context
ae.add_requested_context(VerificationSOPClass)

# Set requested presentation context for storage-scu to send to Orthanc
ae.requested_contexts = StoragePresentationContexts

# Get Orthanc IP address or bust
ORTHANC_IP_ADDRESS = os.environ.get("ORTHANC_IP_ADDRESS", None)
if not ORTHANC_IP_ADDRESS:
    print("Please `export ORTHANC_IP_ADDRESS=<ip_address>` before running scp.py")
    exit(1)

DEBUG = os.environ.get("DEBUG", None)
if DEBUG:
    debug_logger()

# Start listening for incoming association requests
ae.start_server(("", 104), evt_handlers=handlers)
scaramallion commented 3 years ago

Context ID: 1 (Rejected - Abstract Syntax Not Supported) D: Abstract Syntax: =Verification SOP Class

No Verification SOP Class as a supported context

Context ID: 3 (Rejected - Transfer Syntax Not Supported) D: Abstract Syntax: =Secondary Capture Image Storage D: Context ID: 5 (Rejected - Transfer Syntax Not Supported) D: Abstract Syntax: =Ultrasound Image Storage D: Context ID: 7 (Rejected - Transfer Syntax Not Supported) D: Abstract Syntax: =Ultrasound Multi-frame Image Storage

The default presentation contexts lists only use non-compressed transfer syntaxes. If you want to support JPEG you have to add it:

from pydicom.uid import JPEGBaseline

# Add the supported presentation contexts
# ae.supported_contexts = StoragePresentationContexts
for cx in StoragePresentationContexts:
    cx.add_transfer_syntax(JPEGBaseline)
    ae.add_supported_context(cx) 

The SCU is aborting because none of the requested contexts it's interested in have been accepted.

aclark4life commented 3 years ago

@scaramallion Thanks for the help! Do you mean ae.add_supported_context(cx.abstract_syntax) or something else? ae.add_supported_context(cx) gives me a "UID must be string" error (or something like that. Thanks again.

scaramallion commented 3 years ago

Oh, sorry! Forgot how my own code works 🤦‍♂️.

for cx in StoragePresentationContexts:
    cx.add_transfer_syntax(JPEGBaseline)

ae.supported_contexts = StoragePresentationContexts
scaramallion commented 3 years ago

@aclark4life can I close the issue?

aclark4life commented 3 years ago

@scaramallion This was @privateOmega 's issue that I hijacked (apologies!), but as far as I'm concerned, yes. Thanks

scaramallion commented 3 years ago

Ah, whoops! I'll close it anyway, its been a while.