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:
- Jelentkezzen be az Azure Portalra.
- Keressen a legutóbbi erőforrások között, és válassza ki a DICOM szolgáltatáspéldányt.
- Másolja ki a DICOM-szolgáltatás szolgáltatás URL-címét .
- 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 ManagedIdentityCredential
EnvironmentCredential
é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) vagyAccept: multipart/related; type="application/octet-stream"; transfer-syntax=*
orAccept: 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.