Hello everyone,You need to evaluate Overlay Bit Position (60xx,0102) it will tell you which of the unused bits in pixel data represents the overlay. The overlay itself is always 1 bit representation.
I have a Dataset of mri und i want to read Overlays on the respective DICOM pictures in Python, but the Overlays are stored in Pixel Data(7FE0, 0010). Is it possible to do it and how please.
I try to surch about it, but i could not find anything.
Thanks in advance.
Astride
Patrick Ndanga schrieb am Mittwoch, 22. Dezember 2021 um 16:55:03 UTC+1:
Hello everyone,
I have a Dataset of mri und i want to read Overlays on the respective DICOM pictures in Python, but the Overlays are stored in Pixel Data(7FE0, 0010). Is it possible to do it and how please.
I try to surch about it, but i could not find anything.
Thanks in advance.You need to evaluate Overlay Bit Position (60xx,0102) it will tell you which of the unused bits in pixel data represents the overlay. The overlay itself is always 1 bit representation.
Astride
There must be a difference between Bits Allocated (0028,0100) eg. 16 to Bits Stored (0028,0101) eg. 12 to have such unused bits in pixel data available.
Embedded overlays are retired long time ago 2005 or so. I was unable to find such old version of PS3.5.
On Friday, 21 January 2022 at 15:00:23 UTC+1, Thomas Freier wrote:Hi, just to be sure. You need to replace the xx with the number of overlay. E.g. 6000,0102. If you did this correctly I am afraid I cannot help you further as I am not so fit in Python ;)
Patrick Ndanga schrieb am Mittwoch, 22. Dezember 2021 um 16:55:03 UTC+1:
Hello everyone,
I have a Dataset of mri und i want to read Overlays on the respective DICOM pictures in Python, but the Overlays are stored in Pixel Data(7FE0, 0010). Is it possible to do it and how please.
I try to surch about it, but i could not find anything.
Hello,Thanks in advance.You need to evaluate Overlay Bit Position (60xx,0102) it will tell you which of the unused bits in pixel data represents the overlay. The overlay itself is always 1 bit representation.
Astride
There must be a difference between Bits Allocated (0028,0100) eg. 16 to Bits Stored (0028,0101) eg. 12 to have such unused bits in pixel data available.
Embedded overlays are retired long time ago 2005 or so. I was unable to find such old version of PS3.5.
thank you for your answer.
Bits Allocated (0028,0100) and Bits Stored (0028,0101) are really 16 Bits and 12 Bits, but when i try to evaluate the Overlay Bit Position (60xx,0102). I receive a Key Error from Python.
Patrick Ndanga schrieb am Donnerstag, 27. Januar 2022 um 23:16:52 UTC+1:
On Friday, 21 January 2022 at 15:00:23 UTC+1, Thomas Freier wrote:
Patrick Ndanga schrieb am Mittwoch, 22. Dezember 2021 um 16:55:03 UTC+1:
Hello everyone,
I have a Dataset of mri und i want to read Overlays on the respective DICOM pictures in Python, but the Overlays are stored in Pixel Data(7FE0, 0010). Is it possible to do it and how please.
I try to surch about it, but i could not find anything.
Hi, just to be sure. You need to replace the xx with the number of overlay. E.g. 6000,0102. If you did this correctly I am afraid I cannot help you further as I am not so fit in Python ;)Hello,Thanks in advance.You need to evaluate Overlay Bit Position (60xx,0102) it will tell you which of the unused bits in pixel data represents the overlay. The overlay itself is always 1 bit representation.
Astride
There must be a difference between Bits Allocated (0028,0100) eg. 16 to Bits Stored (0028,0101) eg. 12 to have such unused bits in pixel data available.
Embedded overlays are retired long time ago 2005 or so. I was unable to find such old version of PS3.5.
thank you for your answer.
Bits Allocated (0028,0100) and Bits Stored (0028,0101) are really 16 Bits and 12 Bits, but when i try to evaluate the Overlay Bit Position (60xx,0102). I receive a Key Error from Python.
On Friday, 28 January 2022 at 16:00:32 UTC+1, Jason Klotzer wrote:the element of group 6000. The row and the columb of the Overlay dataset are 0. I receive the following error now:
On Friday, January 28, 2022 at 4:22:25 AM UTC-6, Thomas Freier wrote:
Patrick Ndanga schrieb am Donnerstag, 27. Januar 2022 um 23:16:52 UTC+1:
On Friday, 21 January 2022 at 15:00:23 UTC+1, Thomas Freier wrote:
Patrick Ndanga schrieb am Mittwoch, 22. Dezember 2021 um 16:55:03 UTC+1:
Hello everyone,
I have a Dataset of mri und i want to read Overlays on the respective DICOM pictures in Python, but the Overlays are stored in Pixel Data(7FE0, 0010). Is it possible to do it and how please.
I try to surch about it, but i could not find anything.
As Thomas stated, you must use the values in group 60xx to determine the structure of the overlay, which can be embedded in the upper pixel bits or as a separate tag in overlay data (60xx,3000).Hi, just to be sure. You need to replace the xx with the number of overlay. E.g. 6000,0102. If you did this correctly I am afraid I cannot help you further as I am not so fit in Python ;)Hello,Thanks in advance.You need to evaluate Overlay Bit Position (60xx,0102) it will tell you which of the unused bits in pixel data represents the overlay. The overlay itself is always 1 bit representation.
Astride
There must be a difference between Bits Allocated (0028,0100) eg. 16 to Bits Stored (0028,0101) eg. 12 to have such unused bits in pixel data available.
Embedded overlays are retired long time ago 2005 or so. I was unable to find such old version of PS3.5.
thank you for your answer.
Bits Allocated (0028,0100) and Bits Stored (0028,0101) are really 16 Bits and 12 Bits, but when i try to evaluate the Overlay Bit Position (60xx,0102). I receive a Key Error from Python.
While retired, the details are explained here: https://dicom.nema.org/dicom/2013/output/chtml/part03/sect_C.9.html
If you're having trouble parsing the file in your Python library, I suggest using an OSS `dcmdump` tool (dcmtk, dcm4che, etc) to do some analysis on the metadata before trying to extract the values in your code, verifying the structure meets the spec.Bits Allocated (0028,0100) and Bits Stored (0028,0101) are 16 Bits and 12 for the image but for the Overlay, Bits Allocated (0028,0100) and Bits Stored (0028,0101) are equal ( 8 Bits ) and the High Bit of the overlay is 7. It doesn't work when i call
"Unable to convert the overlay data as the following required elements are missing from the dataset: OverlayData, OverlayBitsAllocated, OverlayRows, OverlayColumns"
On Saturday, January 29, 2022 at 4:11:27 PM UTC-6, Patrick Ndanga wrote:spec.
On Friday, 28 January 2022 at 16:00:32 UTC+1, Jason Klotzer wrote:
On Friday, January 28, 2022 at 4:22:25 AM UTC-6, Thomas Freier wrote:
Patrick Ndanga schrieb am Donnerstag, 27. Januar 2022 um 23:16:52 UTC+1:
On Friday, 21 January 2022 at 15:00:23 UTC+1, Thomas Freier wrote:
Patrick Ndanga schrieb am Mittwoch, 22. Dezember 2021 um 16:55:03 UTC+1:
Hello everyone,
I have a Dataset of mri und i want to read Overlays on the respective DICOM pictures in Python, but the Overlays are stored in Pixel Data(7FE0, 0010). Is it possible to do it and how please.
I try to surch about it, but i could not find anything.
As Thomas stated, you must use the values in group 60xx to determine the structure of the overlay, which can be embedded in the upper pixel bits or as a separate tag in overlay data (60xx,3000).Hi, just to be sure. You need to replace the xx with the number of overlay. E.g. 6000,0102. If you did this correctly I am afraid I cannot help you further as I am not so fit in Python ;)Hello,Thanks in advance.You need to evaluate Overlay Bit Position (60xx,0102) it will tell you which of the unused bits in pixel data represents the overlay. The overlay itself is always 1 bit representation.
Astride
There must be a difference between Bits Allocated (0028,0100) eg. 16 to Bits Stored (0028,0101) eg. 12 to have such unused bits in pixel data available.
Embedded overlays are retired long time ago 2005 or so. I was unable to find such old version of PS3.5.
thank you for your answer.
Bits Allocated (0028,0100) and Bits Stored (0028,0101) are really 16 Bits and 12 Bits, but when i try to evaluate the Overlay Bit Position (60xx,0102). I receive a Key Error from Python.
While retired, the details are explained here: https://dicom.nema.org/dicom/2013/output/chtml/part03/sect_C.9.html
If you're having trouble parsing the file in your Python library, I suggest using an OSS `dcmdump` tool (dcmtk, dcm4che, etc) to do some analysis on the metadata before trying to extract the values in your code, verifying the structure meets the
the element of group 6000. The row and the columb of the Overlay dataset are 0. I receive the following error now:Bits Allocated (0028,0100) and Bits Stored (0028,0101) are 16 Bits and 12 for the image but for the Overlay, Bits Allocated (0028,0100) and Bits Stored (0028,0101) are equal ( 8 Bits ) and the High Bit of the overlay is 7. It doesn't work when i call
thank you, i don't have enough Information about the definition of the Overlay.. I personally think that the Overlays do not have the necessary Informations (because Pixel Data OB: b'\x00\x00\x00\x00'). If i receive more Information I will come back"Unable to convert the overlay data as the following required elements are missing from the dataset: OverlayData, OverlayBitsAllocated, OverlayRows, OverlayColumns"It definitely seems like something is messed up with this overlay definition. Did this instance go through de-id or some other processing?
1) You normally shouldn't have an 8-bit overlay (overlay bits stored), unless the creator was trying to indicate color? Most I've seen are 1-bit -- basically indicating pixel on/off.
2) If you don't have OverlayData (60xx,3000) defined, then the overlay data is typically represented in the upper bits of the PixelData (7FE0,0010), but BitsStored = 8 doesn't make sense in this case, since you only have 4 bits remaining (16-12).
If you're really interested in rendering this overlay, I'd check what's in the bits in the bits allocated - bits stored region. If they are anything but 0, then there's a chance you have data there.
Any chance you can provide a `dcmdump` of the data (with PHI removed)? Knowing the vendor might also help understand the definition (DICOM conformance statement for the vendor might give details on how the overlay is defined).
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 112 |
Nodes: | 8 (1 / 7) |
Uptime: | 247:40:32 |
Calls: | 2,467 |
Calls today: | 1 |
Files: | 8,616 |
Messages: | 1,886,219 |