:gh:`pynetdicom <pynetdicom>` is a pure Python package that implements the DICOM networking protocol. Working with :gh:`pydicom <pydicom>`, it allows the easy creation of DICOM Application Entities (AEs), which can then act as Service Class Users (SCUs) and Service Class Providers (SCPs) by associating with other AEs and using or providing the services available to the association.
If you're new to pynetdicom then start here:
- Basics: :doc:`Installation</tutorials/installation>` | :doc:`Writing your first SCU</tutorials/create_scu>` | :doc:`Writing your first SCP</tutorials/create_scp>` | :doc:`Registering a new SOP Class</tutorials/register_sop_class>`
The :ref:`user_guide` is intended as an overview for using pynetdcom and the concepts relevant to DICOM networking. It covers UIDs, presentation contexts, event handling, AEs and associating.
For detailed documentation of the functions and classes see the :doc:`API reference <reference/index>`.
- :doc:`Basic Worklist Management (C-FIND) <examples/basic_worklist>`
- :doc:`Display System Management (N-GET) <examples/display>`
- Modality Performed Procedure Step Management
- Print Management
- Query/Retrieve
- :doc:`Relevant Patient Information Query (C-FIND) <examples/relevant_patient>`
- :doc:`Storage (C-STORE) <examples/storage>`
- :doc:`Verification (C-ECHO) <examples/verification>`
The :doc:`API Reference <reference/index>` provides documentation of the functions, classes and other objects.
pynetdicom currently supports the following :dcm:`DICOM service classes <part04/PS3.4.html>`:
- :doc:`Application Event Logging <service_classes/application_event>`
- :doc:`Basic Worklist Management<service_classes/basic_worklist_service_class>`
- :doc:`Color Palette Query/Retrieve <service_classes/color_palette_service_class>`
- :doc:`Defined Procedure Protocol Query/Retrieve <service_classes/defined_procedure_service_class>`
- :doc:`Display System Management <service_classes/display_system_service_class>`
- :doc:`Hanging Protocol Query/Retrieve <service_classes/hanging_protocol_service_class>`
- :doc:`Implant Template Query/Retrieve <service_classes/implant_template_service_class>`
- :doc:`Instance Availability Notification <service_classes/instance_availability>`
- :doc:`Inventory Query/Retrieve <service_classes/inventory_service_class>`
- :doc:`Media Creation Management <service_classes/media_creation>`
- :doc:`Non-Patient Object Storage <service_classes/non_patient_service_class>`
- :doc:`Print Management <service_classes/print_management>`
- :doc:`Procedure Step <service_classes/modality_performed_procedure_step>`
- :doc:`Protocol Approval Query/Retrieve <service_classes/protocol_approval_service_class>`
- :doc:`Query/Retrieve <service_classes/query_retrieve_service_class>`
- Composite Instance Retrieve Without Bulk Data
- Instance and Frame Level Retrieve
- :doc:`Relevant Patient Information Query <service_classes/relevant_patient_service_class>`
- :doc:`RT Machine Verification <service_classes/rt_machine>`
- :doc:`Storage <service_classes/storage_service_class>`
- Ophthalmic Refractive Measurements
- Softcopy Presentation State
- Structured Reporting
- Volumetric Presentation State
- :doc:`Storage Commitment <service_classes/storage_commitment>`
- :doc:`Storage Management <service_classes/storage_management>`
- :doc:`Substance Administration Query <service_classes/substance_admin_service_class>`
- :doc:`Unified Procedure Step <service_classes/ups>`
- :doc:`Verification <service_classes/verification_service_class>`
pynetdicom also includes some bundled applications
- :doc:`echoscp <apps/echoscp>`
- :doc:`echoscu <apps/echoscu>`
- :doc:`findscu <apps/findscu>`
- :doc:`getscu <apps/getscu>`
- :doc:`movescu <apps/movescu>`
- :doc:`qrscp <apps/qrscp>`
- :doc:`storescp <apps/storescp>`
- :doc:`storescu <apps/storescu>`
- :doc:`v2.1.0 </changelog/v2.1.0>`
- :doc:`v2.0.1 </changelog/v2.0.0>`
- :doc:`v2.0.0 </changelog/v2.0.0>`
- :doc:`v1.5.7 </changelog/v1.5.7>`
- :doc:`v1.5.6 </changelog/v1.5.6>`
- :doc:`v1.5.5 </changelog/v1.5.5>`
- :doc:`v1.5.4 </changelog/v1.5.4>`
- :doc:`v1.5.3 </changelog/v1.5.3>`
- :doc:`v1.5.2 </changelog/v1.5.2>`
- :doc:`v1.5.1 </changelog/v1.5.1>`
- :doc:`v1.5.0 </changelog/v1.5.0>`
- :doc:`v1.4.1 </changelog/v1.4.1>`
- :doc:`v1.4.0 </changelog/v1.4.0>`
- :doc:`v1.3.1 </changelog/v1.3.1>`
- :doc:`v1.3.0 </changelog/v1.3.0>`
- :doc:`v1.2.0 </changelog/v1.2.0>`
- :doc:`v1.1.0 </changelog/v1.1.0>`
- :doc:`v1.0.0 </changelog/v1.0.0>`
.. toctree:: :maxdepth: 2 :hidden: :caption: Documentation user/index tutorials/index service_classes/index reference/index
.. toctree:: :maxdepth: 2 :hidden: :caption: Examples examples/index
.. toctree:: :maxdepth: 1 :hidden: :caption: Additional Information apps/index changelog/index