API and usage examples

You can find the example scripts from the examples/ folder.

Make sure the PACS system you want to interact with is running before moving forward.

Check connectivity

Check your access to a PACS. If failed, check if the status of your PACS.

pypacs.verify_connectivity(server_port)

Verify connectivity of the target PACS server

Parameters
  • server_ip (string) – IP address of the target PACS

  • server_port (string) – port number of the target PACS

Returns

connectivity status

Return type

string

Note

Usage example: see examples/check_connectivity.py.

Query and save metadata

pypacs.get_metadata(server_port, aec, query_settings)

get metadata beased on query settings

Parameters
  • server_ip (string) – IP address of the target PACS

  • server_port (string) – port number of the target PACS

  • aec (string) – the called AE title

  • query_settings (dict) – query

Returns

metadata

Return type

dict

pypacs.create_custom_report(fields=None, custom_fields=None)

Create custom report for the metadata

Parameters
  • metadata (dict) – metadata/query result

  • fields (dict) – fields for different query levels (patient, study or series)

  • custom_fields (list) – a list of custom fields which do not provided by the metadata directly might need to be calculated or queried separately.

Returns

Return type

pypacs.save_metadata(save_path)

Write metadata to file

Parameters
  • metadata (dict) – metadata

  • save_path (string) – path to the target file

Returns

Return type

Note

Usage example:

The example script examples/query_and_save_metadata.py shows you how to query by most of the dicom tags. The metadata will be saved in <pypacs>/examples/out/metadata.json Please search for the variable query_settings and change it to make your owm query.

The example script examples/query_and_save_metadata_advanced.py shows how to make advanced queries such as NumberOfSeriesRelatedInstances > 100 In this script, please update the variables query_settings for normal query conditions and extra_query for the advanced options.

Download files

pypacs.move_files(server_port, aec, aet, query_settings)

Download files

Parameters
  • server_ip (string) – IP address of the target PACS

  • server_port (string) – port number of the target PACS

  • aec (string) – the called AE title

  • aet (string) – the calling AE title

  • query_settings (dict) – query

Returns

Return type

Note

Usage example:

With download_files.py, you can download the images to a dicom node (a folder). Please update the query_settings variable. This is a dictionary variable and you need to provide values for the keys StudyInstanceUID and SeriesInstanceUID.

You can download the images to the mounted eResearch drive on either eResearch VM or on your local machine.