in ez_wsi_dicomweb/dicom_web_interface.py [0:0]
def _inner_func(str_frame_numbers: List[str]) -> List[bytes]:
if not frame_numbers:
return []
query = f'{instance_path}/frames/{",".join(str_frame_numbers)}'
try:
response = (
self._get_download_instance_frame_list_untranscoded_core_request(
query
)
)
try:
multipart_data = decoder.MultipartDecoder.from_response(response)
except decoder.NonMultipartContentTypeException as exp:
raise ez_wsi_errors.DownloadInstanceFrameError(
'Received invalid multipart response.'
) from exp
if len(multipart_data.parts) != len(str_frame_numbers):
raise ez_wsi_errors.DownloadInstanceFrameError(
'DICOM Store returned incorrect number of frames. Expected:'
f' {len(str_frame_numbers)}, Received:'
f' {len(multipart_data.parts)}.'
)
return [frame_bytes.content for frame_bytes in multipart_data.parts]
except ez_wsi_errors.HttpError as exp:
raise ez_wsi_errors.DownloadInstanceFrameError(
'HTTP Error downloading DICOM frames.'
) from exp