Repository: ImagingDataCommons/dicomweb-client

Issue:
Error in doc string?
Hi,

I noticed that the `Note` section of the [retrieve_instance-method](https://github.com/ImagingDataCommons/dicomweb-client/blob/master/src/dicomweb_client/web.py#L2535) (and  in other similar methods) mentions that the default transfer syntax will be `Implicit VR Little Endian`. The standard states that the default transfer syntax for dicom web is `Explicity VR Little Endian` and that `Implicit VR Little Endian` is not allowed.

Hints from issue comments:
@CPBridge: Resolved by #115  

Solution patch:
diff --git a/src/dicomweb_client/file.py b/src/dicomweb_client/file.py
index f02b982..612c1f1 100644
--- a/src/dicomweb_client/file.py
+++ b/src/dicomweb_client/file.py
@@ -3127,6 +3127,7 @@ class DICOMfileClient:
             '1.2.840.10008.1.2.4.91': 'application/dicom',
             '1.2.840.10008.1.2.4.92': 'application/dicom',
             '1.2.840.10008.1.2.4.93': 'application/dicom',
+            '1.2.840.10008.1.2.5': 'application/dicom',
         }
 
         supported_media_type_lut = {
@@ -3142,6 +3143,7 @@ class DICOMfileClient:
                 '1.2.840.10008.1.2.4.91',
                 '1.2.840.10008.1.2.4.92',
                 '1.2.840.10008.1.2.4.93',
+                '1.2.840.10008.1.2.5',
                 '*',
             },
         }
diff --git a/src/dicomweb_client/protocol.py b/src/dicomweb_client/protocol.py
index cec553d..e929a59 100644
--- a/src/dicomweb_client/protocol.py
+++ b/src/dicomweb_client/protocol.py
@@ -149,7 +149,7 @@ class DICOMClient(Protocol):
 
         Note
         ----
-        Instances are by default retrieved using Implicit VR Little Endian
+        Instances are by default retrieved using Explicit VR Little Endian
         transfer syntax (Transfer Syntax UID ``"1.2.840.10008.1.2"``). This
         means that Pixel Data of Image instances will be retrieved
         uncompressed. To retrieve instances in any available transfer syntax
@@ -182,7 +182,7 @@ class DICOMClient(Protocol):
 
         Note
         ----
-        Instances are by default retrieved using Implicit VR Little Endian
+        Instances are by default retrieved using Explicit VR Little Endian
         transfer syntax (Transfer Syntax UID ``"1.2.840.10008.1.2"``). This
         means that Pixel Data of Image instances will be retrieved
         uncompressed. To retrieve instances in any available transfer syntax
@@ -306,7 +306,7 @@ class DICOMClient(Protocol):
 
         Note
         ----
-        Instances are by default retrieved using Implicit VR Little Endian
+        Instances are by default retrieved using Explicit VR Little Endian
         transfer syntax (Transfer Syntax UID ``"1.2.840.10008.1.2"``). This
         means that Pixel Data of Image instances will be retrieved
         uncompressed. To retrieve instances in any available transfer syntax
@@ -342,7 +342,7 @@ class DICOMClient(Protocol):
 
         Note
         ----
-        Instances are by default retrieved using Implicit VR Little Endian
+        Instances are by default retrieved using Explicit VR Little Endian
         transfer syntax (Transfer Syntax UID ``"1.2.840.10008.1.2"``). This
         means that Pixel Data of Image instances will be retrieved
         uncompressed. To retrieve instances in any available transfer syntax
@@ -512,7 +512,7 @@ class DICOMClient(Protocol):
 
         Note
         ----
-        Instances are by default retrieved using Implicit VR Little Endian
+        Instances are by default retrieved using Explicit VR Little Endian
         transfer syntax (Transfer Syntax UID ``"1.2.840.10008.1.2"``). This
         means that Pixel Data of Image instances will be retrieved
         uncompressed. To retrieve instances in any available transfer syntax
diff --git a/src/dicomweb_client/web.py b/src/dicomweb_client/web.py
index 3da75f4..71ef626 100644
--- a/src/dicomweb_client/web.py
+++ b/src/dicomweb_client/web.py
@@ -2034,7 +2034,7 @@ class DICOMwebClient:
 
         Note
         ----
-        Instances are by default retrieved using Implicit VR Little Endian
+        Instances are by default retrieved using Explicit VR Little Endian
         transfer syntax (Transfer Syntax UID ``"1.2.840.10008.1.2"``). This
         means that Pixel Data of Image instances will be retrieved
         uncompressed. To retrieve instances in any available transfer syntax
@@ -2077,7 +2077,7 @@ class DICOMwebClient:
 
         Note
         ----
-        Instances are by default retrieved using Implicit VR Little Endian
+        Instances are by default retrieved using Explicit VR Little Endian
         transfer syntax (Transfer Syntax UID ``"1.2.840.10008.1.2"``). This
         means that Pixel Data of Image instances will be retrieved
         uncompressed. To retrieve instances in any available transfer syntax
@@ -2361,7 +2361,7 @@ class DICOMwebClient:
 
         Note
         ----
-        Instances are by default retrieved using Implicit VR Little Endian
+        Instances are by default retrieved using Explicit VR Little Endian
         transfer syntax (Transfer Syntax UID ``"1.2.840.10008.1.2"``). This
         means that Pixel Data of Image instances will be retrieved
         uncompressed. To retrieve instances in any available transfer syntax
@@ -2408,7 +2408,7 @@ class DICOMwebClient:
 
         Note
         ----
-        Instances are by default retrieved using Implicit VR Little Endian
+        Instances are by default retrieved using Explicit VR Little Endian
         transfer syntax (Transfer Syntax UID ``"1.2.840.10008.1.2"``). This
         means that Pixel Data of Image instances will be retrieved
         uncompressed. To retrieve instances in any available transfer syntax
@@ -2714,7 +2714,7 @@ class DICOMwebClient:
 
         Note
         ----
-        Instances are by default retrieved using Implicit VR Little Endian
+        Instances are by default retrieved using Explicit VR Little Endian
         transfer syntax (Transfer Syntax UID ``"1.2.840.10008.1.2"``). This
         means that Pixel Data of Image instances will be retrieved
         uncompressed. To retrieve instances in any available transfer syntax


Test patch:
diff --git a/tests/test_file.py b/tests/test_file.py
index 6b4d82c..0094e0e 100644
--- a/tests/test_file.py
+++ b/tests/test_file.py
@@ -248,6 +248,15 @@ def test_retrieve_instance(file_client):
     assert isinstance(instance, Dataset)
 
 
+def test_retrieve_instance_rle(file_client):
+    instance = file_client.retrieve_instance(
+        '1.2.826.0.1.3680043.8.498.12406831542731051035295345080039845114',
+        '1.2.826.0.1.3680043.8.498.16157229083793556332623330502397121062',
+        '1.2.826.0.1.3680043.8.498.49043964482360854182530167603505525116',
+    )
+    assert isinstance(instance, Dataset)
+
+
 def test_retrieve_instance_with_default_media_type(file_client):
     instance = file_client.retrieve_instance(
         '1.3.6.1.4.1.5962.1.1.0.0.0.1196530851.28319.0.1',