Megosztás a következőn keresztül:


DICOMweb Standard API-k használata Pythonnal

Ez a cikk bemutatja, hogyan használható a DICOMweb szolgáltatás a Python és a minta .dcm DICOM-fájlok® használatával.

Használja az alábbi mintafájlokat:

  • blue-circle.dcm
  • dicom-metadata.csv
  • green-square.dcm
  • red-triangle.dcm

A minta DICOM-fájlok fájlneve, studyUID, seriesUID és instanceUID azonosítója a következő:

Fájl StudyUID SeriesUID InstanceUID
green-square.dcm 1.2.826.0.1.3680043.8.498.13230779778012324449356534479549187420 1.2.826.0.1.3680043.8.498.45787841905473114233124723359129632652 1.2.826.0.1.3680043.8.498.12714725698140337137334606354172323212
red-triangle.dcm 1.2.826.0.1.3680043.8.498.13230779778012324449356534479549187420 1.2.826.0.1.3680043.8.498.45787841905473114233124723359129632652 1.2.826.0.1.3680043.8.498.47359123102728459884412887463296905395
blue-circle.dcm 1.2.826.0.1.3680043.8.498.13230779778012324449356534479549187420 1.2.826.0.1.3680043.8.498.77033797676425927098669402985243398207 1.2.826.0.1.3680043.8.498.13273713909719068980354078852867170114

Megjegyzés:

Ezek a fájlok egyetlen példányt jelölnek, és ugyanahhoz a tanulmányhoz tartoznak. A zöld négyzet és a piros háromszög is ugyanahhoz a sorozathoz tartozik, míg a kék kör külön sorozatban van.

Előfeltételek

A DICOMweb Standard API-k használatához üzembe kell helyeznie a DICOM szolgáltatás egy példányát. További információ: DICOM szolgáltatás üzembe helyezése az Azure Portalon.

A DICOM szolgáltatás egy példányának üzembe helyezése után kérje le az App Service URL-címét:

  1. Jelentkezzen be az Azure Portalra.
  2. Keressen a legutóbbi erőforrások között, és válassza ki a DICOM szolgáltatáspéldányt.
  3. Másolja ki a DICOM-szolgáltatás szolgáltatás URL-címét .
  4. Ha nincs jogkivonata, olvassa el a DICOM szolgáltatás hozzáférési jogkivonatának lekérése az Azure CLI használatával című témakört.

Ehhez a kódhoz egy nyilvános előzetes verziójú Azure-szolgáltatást fog elérni. Fontos, hogy ne töltsön fel privát egészségügyi adatokat (PHI).

A DICOM szolgáltatással végzett munka

A DICOMweb Standard a HTTP-kérések és a multipart/related DICOM-specifikus elfogadási fejlécek együttes használatát teszi lehetővé. A többi REST-alapú API-t ismerő fejlesztők gyakran kínosnak találják a DICOMweb szabvány használatát. A használat után azonban könnyen használható. Csak egy kis ismerősség kell az első lépésekhez.

A Python-kódtárak importálása

Először importálja a szükséges Python-kódtárakat.

Ezt a példát a szinkron requests kódtár használatával valósítjuk meg. Az aszinkron támogatáshoz érdemes lehet más aszinkron kódtárat használni httpx . Emellett két támogató függvényt urllib3 importálunk a kérések kezeléséhez multipart/related .

Emellett importáljuk DefaultAzureCredential az Azure-ba való bejelentkezéshez és egy jogkivonat beszerzéséhez.

import requests
import pydicom
from pathlib import Path
from urllib3.filepost import encode_multipart_formdata, choose_boundary
from azure.identity import DefaultAzureCredential

Felhasználó által definiált változók konfigurálása

Cserélje le a(z) {} fájlba burkolt összes változóértéket a saját értékeire. Emellett ellenőrizze, hogy a létrehozott változók helyesek-e. Például a szolgáltatás URL-címével jön létre, base_url majd hozzáfűzi a használt REST API-verzióhoz. A DICOM-szolgáltatás szolgáltatás URL-címe: https://<workspacename-dicomservicename>.dicom.azurehealthcareapis.com. Az Azure Portalon navigálhat a DICOM szolgáltatáshoz, és beszerezheti a szolgáltatás URL-címét. A verziószámozással kapcsolatos további információkért látogasson el a DICOM szolgáltatás api-verziószámozási dokumentációjára . Ha egyéni URL-címet használ, ezt az értéket felül kell bírálnia a sajátjával.

dicom_service_name = "{server-name}"
path_to_dicoms_dir = "{path to the folder that includes green-square.dcm and other dcm files}"

base_url = f"{Service URL}/v{version}"

study_uid = "1.2.826.0.1.3680043.8.498.13230779778012324449356534479549187420"; #StudyInstanceUID for all 3 examples
series_uid = "1.2.826.0.1.3680043.8.498.45787841905473114233124723359129632652"; #SeriesInstanceUID for green-square and red-triangle
instance_uid = "1.2.826.0.1.3680043.8.498.47359123102728459884412887463296905395"; #SOPInstanceUID for red-triangle

Hitelesítés az Azure-ban és jogkivonat lekérése

DefaultAzureCredential lehetővé teszi, hogy különböző módokon lekérjük a jogkivonatokat a szolgáltatásba való bejelentkezéshez. Ebben a példában a AzureCliCredential jogkivonat használatával jelentkezzen be a szolgáltatásba. Vannak más hitelesítőadat-szolgáltatók is, például ManagedIdentityCredentialEnvironmentCredential és amelyek szintén használhatók. Az AzureCliCredential használatához a kód futtatása előtt be kell jelentkeznie az Azure-ba a parancssori felületről. További információ: Hozzáférési jogkivonat beszerzése a DICOM szolgáltatáshoz az Azure CLI használatával. Másik lehetőségként másolja és illessze be a parancssori felületről való bejelentkezéskor lekért jogkivonatot.

Megjegyzés:

DefaultAzureCredential több különböző hitelesítő objektumot ad vissza. A visszaadott gyűjtemény 5. elemére hivatkozunk AzureCliCredential . Lehet, hogy ez nem konzisztens. Ha igen, bontsa ki a print(credential.credential) vonalat. Ez felsorolja az összes elemet. Keresse meg a megfelelő indexet, emlékeztetve arra, hogy a Python nulla alapú indexelést használ.

Megjegyzés:

Ha még nem jelentkezett be az Azure-ba a parancssori felülettel, ez sikertelen lesz. Ahhoz, hogy ez működjön, be kell jelentkeznie az Azure-ba a parancssori felületről.

from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()

#print(credential.credentials) # this can be used to find the index of the AzureCliCredential
token = credential.credentials[4].get_token('https://dicom.healthcareapis.azure.com')
bearer_token = f'Bearer {token.token}'

Támogatási módszerek létrehozása multipart\related

A Requests kódtárak (és a legtöbb Python-kódtár) nem olyan módon működnek multipart\related , amely támogatja a DICOMwebet. A kódtárak miatt néhány módszert kell hozzáadnunk a DICOM-fájlok használatához.

encode_multipart_related egy mezőkészletet vesz igénybe (a DICOM esetében ezek a kódtárak általában a 10. rész gátfájljai), valamint egy felhasználó által definiált határt. Visszaadja a teljes testet, valamint a content_type, amelyet használhat.

def encode_multipart_related(fields, boundary=None):
    if boundary is None:
        boundary = choose_boundary()

    body, _ = encode_multipart_formdata(fields, boundary)
    content_type = str('multipart/related; boundary=%s' % boundary)

    return body, content_type

Munkamenet létrehozása requests

Létrehoz egy munkamenetet requests , amelynek a neve client a DICOM szolgáltatással való kommunikációra szolgál.

client = requests.session()

Ellenőrizze, hogy a hitelesítés megfelelően van-e konfigurálva

Hívja meg a changefeed API-végpontot, amely 200-et ad vissza, ha a hitelesítés sikeres.

headers = {"Authorization":bearer_token}
url= f'{base_url}/changefeed'

response = client.get(url,headers=headers)
if (response.status_code != 200):
    print('Error! Likely not authenticated!')

DICOM-példányok feltöltése (STOW)

Az alábbi példák a DICOM-fájlok megőrzését emelik ki.

Példányok tárolása a következő használatával: multipart/related

Ez a példa bemutatja, hogyan tölthet fel egyetlen DICOM-fájlt, és egy kis Python használatával előre betölti a DICOM-fájlt (bájtként) a memóriába. Ha a rendszer fájltömböt ad át a mezőparaméternek encode_multipart_related, több fájl is feltölthető egyetlen POST-fájlba. Néha arra használják, hogy több példányt töltsön fel egy teljes sorozatba vagy tanulmányba.

Részletek:

  • Elérési út:.. /Tanulmányok

  • Metódus: POST

  • Fejlécek:

    • Elfogadás: application/dicom+json
    • Tartalomtípus: többrészes/kapcsolódó; type="application/dicom"
    • Engedélyezés: Tulajdonosi $token"
  • Törzs:

    • Tartalomtípus: alkalmazás/dicom minden feltöltött fájlhoz, határértékel elválasztva

Egyes programozási nyelvek és eszközök eltérően viselkednek. Néhány esetben például meg kell határoznia a saját határait. Ezekben a nyelvekben és eszközökben előfordulhat, hogy kissé módosított tartalomtípus-fejlécet kell használnia. Ezek a nyelvek és eszközök sikeresen használhatók.

  • Tartalomtípus: többrészes/kapcsolódó; type="application/dicom"; boundary=ABCD1234
  • Tartalomtípus: többrészes/kapcsolódó; boundary=ABCD1234
  • Tartalomtípus: többrészes/kapcsolódó
#upload blue-circle.dcm
filepath = Path(path_to_dicoms_dir).joinpath('blue-circle.dcm')

# Read through file and load bytes into memory 
with open(filepath,'rb') as reader:
    rawfile = reader.read()
files = {'file': ('dicomfile', rawfile, 'application/dicom')}

#encode as multipart_related
body, content_type = encode_multipart_related(fields = files)

headers = {'Accept':'application/dicom+json', "Content-Type":content_type, "Authorization":bearer_token}

url = f'{base_url}/studies'
response = client.post(url, body, headers=headers, verify=False)

Adott tanulmány példányainak tárolása

Ez a példa bemutatja, hogyan tölthet fel több DICOM-fájlt a megadott tanulmányba. Egy kis Python használatával előre betölti a DICOM-fájlt (bájtként) a memóriába.

Ha a rendszer fájltömböt ad át a mezőparaméternek encode_multipart_related, több fájl is feltölthető egyetlen POST-fájlba. Néha teljes sorozat vagy tanulmány feltöltésére használják.

Részletek:

  • Elérési út:.. /studies/{study}
  • Metódus: POST
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Tartalomtípus: többrészes/kapcsolódó; type="application/dicom"
    • Engedélyezés: Tulajdonosi $token"
  • Szervezet:
    • Tartalomtípus: alkalmazás/dicom minden feltöltött fájlhoz, határértékel elválasztva

filepath_red = Path(path_to_dicoms_dir).joinpath('red-triangle.dcm')
filepath_green = Path(path_to_dicoms_dir).joinpath('green-square.dcm')

# Open up and read through file and load bytes into memory 
with open(filepath_red,'rb') as reader:
    rawfile_red = reader.read()
with open(filepath_green,'rb') as reader:
    rawfile_green = reader.read()  
       
files = {'file_red': ('dicomfile', rawfile_red, 'application/dicom'),
         'file_green': ('dicomfile', rawfile_green, 'application/dicom')}

#encode as multipart_related
body, content_type = encode_multipart_related(fields = files)

headers = {'Accept':'application/dicom+json', "Content-Type":content_type, "Authorization":bearer_token}

url = f'{base_url}/studies'
response = client.post(url, body, headers=headers, verify=False)

Egyetlen példány tárolása (nem szabványos)

Az alábbi példakód bemutatja, hogyan tölthet fel egyetlen DICOM-fájlt. Ez egy nem szabványos API-végpont, amely leegyszerűsíti egyetlen fájl feltöltését a kérelem törzsében küldött bináris bájtokként

Részletek:

  • Elérési út:.. /Tanulmányok
  • Metódus: POST
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Tartalomtípus: alkalmazás/dicom
    • Engedélyezés: Tulajdonosi $token"
  • Szervezet:
    • Bináris bájtként egyetlen DICOM-fájlt tartalmaz.
#upload blue-circle.dcm
filepath = Path(path_to_dicoms_dir).joinpath('blue-circle.dcm')

# Open up and read through file and load bytes into memory 
with open(filepath,'rb') as reader:
    body = reader.read()

headers = {'Accept':'application/dicom+json', 'Content-Type':'application/dicom', "Authorization":bearer_token}

url = f'{base_url}/studies'
response = client.post(url, body, headers=headers, verify=False)
response  # response should be a 409 Conflict if the file was already uploaded in the above request

DICOM-példányok lekérése (WADO)

Az alábbi példák a DICOM-példányok lekérését emelik ki.

Egy tanulmány összes példányának lekérése

Ez a példa egyetlen tanulmány összes példányát lekéri.

Részletek:

  • Elérési út:.. /studies/{study}
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: többrészes/kapcsolódó; type="application/dicom"; transfer-szintaxis=*
    • Engedélyezés: Tulajdonosi $token"

A korábban feltöltött dcm-fájlok mindhárman ugyanahhoz a tanulmányhoz tartoznak, így a válasznak mindhárom példányt vissza kell adnia. Ellenőrizze, hogy a válasz állapota OK, és hogy a rendszer mindhárom példányt visszaadja.

url = f'{base_url}/studies/{study_uid}'
headers = {'Accept':'multipart/related; type="application/dicom"; transfer-syntax=*', "Authorization":bearer_token}

response = client.get(url, headers=headers) #, verify=False)

A lekért példányok használata

A rendszer bináris bájtként kéri le a példányokat. Átküldheti a visszaadott elemeket, és a bájtokat olvasható fájllá pydicom alakíthatja.

import requests_toolbelt as tb
from io import BytesIO

mpd = tb.MultipartDecoder.from_response(response)
for part in mpd.parts:
    # Note that the headers are returned as binary!
    print(part.headers[b'content-type'])
    
    # You can convert the binary body (of each part) into a pydicom DataSet
    #   And get direct access to the various underlying fields
    dcm = pydicom.dcmread(BytesIO(part.content))
    print(dcm.PatientName)
    print(dcm.SOPInstanceUID)

A vizsgált példányok metaadatainak lekérése

Ez a kérés egyetlen tanulmány összes példányának metaadatait kéri le.

Részletek:

  • Elérési út:.. /studies/{study}/metadata
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Engedélyezés: Tulajdonosi $token"

A korábban feltöltött fájlok mindhárman .dcm ugyanahhoz a vizsgálathoz tartoznak, így a válasznak mindhárom példány metaadatait vissza kell adnia. Ellenőrizze, hogy a válasz állapotkódja OK, és hogy az összes metaadat vissza lesz-e adva.

url = f'{base_url}/studies/{study_uid}/metadata'
headers = {'Accept':'application/dicom+json', "Authorization":bearer_token}

response = client.get(url, headers=headers) #, verify=False)

Egy sorozat összes példányának lekérése

Ez a kérés egyetlen sorozat összes példányát lekéri.

Részletek:

  • Elérési út:.. /studies/{study}/series/{series}
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: többrészes/kapcsolódó; type="application/dicom"; transfer-szintaxis=*
    • Engedélyezés: Tulajdonosi $token"

Ez a sorozat két példányból áll (zöld négyzet és piros háromszög), ezért a válasznak mindkét példányt vissza kell adnia. Győződjön meg arról, hogy a válasz állapota OK, és hogy a rendszer mindkét példányt visszaadja.

url = f'{base_url}/studies/{study_uid}/series/{series_uid}'
headers = {'Accept':'multipart/related; type="application/dicom"; transfer-syntax=*', "Authorization":bearer_token}

response = client.get(url, headers=headers) #, verify=False)

Adatsor összes példányának metaadatainak lekérése

Ez a kérés egyetlen sorozat összes példányának metaadatait kéri le.

Részletek:

  • Elérési út:.. /studies/{study}/series/{series}/metadata
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Engedélyezés: Tulajdonosi $token"

Ez a sorozat két példányból áll (zöld négyzet és piros háromszög), így a válasznak mindkét példányra vissza kell térnie. Ellenőrizze, hogy a válasz ok állapotkóddal rendelkezik-e, és hogy mindkét példány metaadatai vissza lesznek-e adva.

url = f'{base_url}/studies/{study_uid}/series/{series_uid}/metadata'
headers = {'Accept':'application/dicom+json', "Authorization":bearer_token}

response = client.get(url, headers=headers) #, verify=False)

Egyetlen példány lekérése egy tanulmánysorozaton belül

Ez a kérés egyetlen példányt kér le.

Részletek:

  • Elérési út:.. /studies/{study}/series{series}/instances/{instance}
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: application/dicom; transfer-szintaxis=*
    • Engedélyezés: Tulajdonosi $token"

Ez a példakód csak a piros háromszögű példányt adja vissza. Ellenőrizze, hogy a válasz ok állapotkóddal rendelkezik-e, és hogy a példány vissza lett-e adva.

url = f'{base_url}/studies/{study_uid}/series/{series_uid}/instances/{instance_uid}'
headers = {'Accept':'application/dicom; transfer-syntax=*', "Authorization":bearer_token}

response = client.get(url, headers=headers) #, verify=False)

Egyetlen példány metaadatainak lekérése egy tanulmánysorozaton belül

Ez a kérés egyetlen példány metaadatait kéri le egyetlen tanulmányon és sorozaton belül.

Részletek:

  • Elérési út:.. /studies/{study}/series/{series}/instances/{instance}/metadata
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Engedélyezés: Tulajdonosi $token"

Ez a példakód csak a piros háromszög példány metaadatait adja vissza. Ellenőrizze, hogy a válasz állapota OK, és hogy a metaadatok vissza lesznek-e adva.

url = f'{base_url}/studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/metadata'
headers = {'Accept':'application/dicom+json', "Authorization":bearer_token}

response = client.get(url, headers=headers) #, verify=False)

Egy vagy több keret lekérése egyetlen példányból

Ez a kérés egy vagy több képkockát kér le egyetlen példányból.

Részletek:

  • Elérési út:.. /studies/{study}/series{series}/instances/{instance}/frames/1,2,3
  • Metódus: GET
  • Fejlécek:
    • Engedélyezés: Tulajdonosi $token"
    • Accept: multipart/related; type="application/octet-stream"; transfer-syntax=1.2.840.10008.1.2.1 (Alapértelmezett) vagy
    • Accept: multipart/related; type="application/octet-stream"; transfer-syntax=* or
    • Accept: multipart/related; type="application/octet-stream";

Ennek a kód példának a piros háromszögből származó egyetlen keretet kell visszaadnia. Ellenőrizze, hogy a válasz állapota OK, és hogy a keret vissza lesz-e adva.

url = f'{base_url}/studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/1'
headers = {'Accept':'multipart/related; type="application/octet-stream"; transfer-syntax=*', "Authorization":bearer_token}

response = client.get(url, headers=headers) #, verify=False)

Lekérdezési DICOM (QIDO)

Az alábbi példákban egyedi azonosítókkal keresünk elemeket. Más attribútumokat is kereshet, például a PatientName tulajdonságot.

A támogatott DICOM-attribútumokért tekintse meg a DICOM Megfelelőségi nyilatkozat dokumentumát.

Tanulmányok keresése

Ez a kérés egy vagy több tanulmányt keres DICOM-attribútumok alapján.

Részletek:

  • Elérési út:.. /Tanulmányok? StudyInstanceUID={study}
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Engedélyezés: Tulajdonosi $token"

Ellenőrizze, hogy a válasz tartalmaz-e egy tanulmányt, és hogy a válaszkód rendben van-e.

url = f'{base_url}/studies'
headers = {'Accept':'application/dicom+json', "Authorization":bearer_token}
params = {'StudyInstanceUID':study_uid}

response = client.get(url, headers=headers, params=params) #, verify=False)

Sorozat keresése

Ez a kérés egy vagy több sorozatot keres DICOM-attribútumok alapján.

Részletek:

  • Elérési út:.. /Sorozat? SeriesInstanceUID={series}
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Engedélyezés: Tulajdonosi $token"

Ellenőrizze, hogy a válasz tartalmaz-e egy sorozatot, és hogy a válaszkód rendben van-e.

url = f'{base_url}/series'
headers = {'Accept':'application/dicom+json', "Authorization":bearer_token}
params = {'SeriesInstanceUID':series_uid}

response = client.get(url, headers=headers, params=params) #, verify=False)

Sorozatok keresése egy tanulmányban

Ez a kérés egy vagy több sorozatot keres egy DICOM-attribútumok által végzett egyetlen vizsgálatban.

Részletek:

  • Elérési út:.. /studies/{study}/series? SeriesInstanceUID={series}
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Engedélyezés: Tulajdonosi $token"

Ellenőrizze, hogy a válasz tartalmaz-e egy sorozatot, és hogy a válaszkód rendben van-e.

url = f'{base_url}/studies/{study_uid}/series'
headers = {'Accept':'application/dicom+json', "Authorization":bearer_token}
params = {'SeriesInstanceUID':series_uid}

response = client.get(url, headers=headers, params=params) #, verify=False)

Példányok keresése

Ez a kérés egy vagy több példányt keres DICOM-attribútumok alapján.

Részletek:

  • Elérési út:.. /Példányok? SOPInstanceUID={instance}
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Engedélyezés: Tulajdonosi $token"

Ellenőrizze, hogy a válasz tartalmaz-e egy példányt, és hogy a válaszkód rendben van-e.

url = f'{base_url}/instances'
headers = {'Accept':'application/dicom+json', "Authorization":bearer_token}
params = {'SOPInstanceUID':instance_uid}

response = client.get(url, headers=headers, params=params) #, verify=False)

Példányok keresése egy tanulmányban

Ez a kérés egy vagy több példányt keres egyetlen vizsgálatban DICOM-attribútumok alapján.

Részletek:

  • Elérési út:.. /studies/{study}/instances? SOPInstanceUID={instance}
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Engedélyezés: Tulajdonosi $token"

Ellenőrizze, hogy a válasz tartalmaz-e egy példányt, és hogy a válaszkód rendben van-e.

url = f'{base_url}/studies/{study_uid}/instances'
headers = {'Accept':'application/dicom+json', "Authorization":bearer_token}
params = {'SOPInstanceUID':instance_uid}

response = client.get(url, headers=headers, params=params) #, verify=False)

Példányok keresése egy tanulmányban és sorozatban

Ez a kérés egy vagy több példányt keres egy tanulmányon belül, és egyetlen sorozatot DICOM-attribútumok alapján.

Részletek:

  • Elérési út:.. /studies/{study}/series/{series}/instances? SOPInstanceUID={instance}
  • Metódus: GET
  • Fejlécek:
    • Elfogadás: application/dicom+json
    • Engedélyezés: Tulajdonosi $token"

Ellenőrizze, hogy a válasz tartalmaz-e egy példányt, és hogy a válaszkód rendben van-e.

url = f'{base_url}/studies/{study_uid}/series/{series_uid}/instances'
headers = {'Accept':'application/dicom+json'}
params = {'SOPInstanceUID':instance_uid}

response = client.get(url, headers=headers, params=params) #, verify=False)

DICOM törlése

Megjegyzés:

A törlés nem része a DICOM szabványnak, de a rendszer a kényelem érdekében hozzáadta.

Ha a törlés sikeres, a rendszer 204 válaszkódot ad vissza. A rendszer 404 válaszkódot ad vissza, ha az elem(ek) soha nem léteztek, vagy már törölték őket.

Adott példány törlése egy tanulmányon és sorozaton belül

Ez a kérés egyetlen példányt töröl egyetlen tanulmányon és egy sorozaton belül.

Részletek:

  • Elérési út:.. /studies/{study}/series/{series}/instances/{instance}
  • Metódus: DELETE
  • Fejlécek:
    • Engedélyezés: Tulajdonosi $token

Ez a kérés törli a piros háromszögű példányt a kiszolgálóról. Ha sikeres, a válasz állapotkódja nem tartalmaz tartalmat.

headers = {"Authorization":bearer_token}
url = f'{base_url}/studies/{study_uid}/series/{series_uid}/instances/{instance_uid}'
response = client.delete(url, headers=headers) 

Adott sorozat törlése egy tanulmányon belül

Ez a kérés egyetlen sorozatot (és az összes gyermekpéldányt) töröl egyetlen vizsgálaton belül.

Részletek:

  • Elérési út:.. /studies/{study}/series/{series}
  • Metódus: DELETE
  • Fejlécek:
    • Engedélyezés: Tulajdonosi $token

Ez a példakód törli a zöld négyzetes példányt (ez az egyetlen elem a sorozatban) a kiszolgálóról. Ha sikeres, a válasz állapotkódja nem törli a tartalmat.

headers = {"Authorization":bearer_token}
url = f'{base_url}/studies/{study_uid}/series/{series_uid}'
response = client.delete(url, headers=headers) 

Adott tanulmány törlése

Ez a kérés egyetlen tanulmányt töröl (és az összes gyermeksorozatot és -példányt).

Részletek:

  • Elérési út:.. /studies/{study}
  • Metódus: DELETE
  • Fejlécek:
    • Engedélyezés: Tulajdonosi $token
headers = {"Authorization":bearer_token}
url = f'{base_url}/studies/{study_uid}'
response = client.delete(url, headers=headers) 

Megjegyzés:

A DICOM® az Országos Elektromos Gyártók Országos Szövetségének bejegyzett védjegye az orvosi információk digitális kommunikációjával kapcsolatos szabványügyi kiadványaihoz.