-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SR templates do not support Image Library #73
Comments
@seandoyle that's already underway with #69 (see highdicom.sr.ImageLibraryEntry). |
@hackermd Gladly! |
One thing I found confusing about the API is the structure of the array of ImageLibraryEntry objects. It's an array of an array of My issues are
If the second approach is correct I should add some code to throw an error if it encounters input from the first approach. |
I think I have implemented the template incorrectly. TID 1600 Image Library contains 1-n "Image Library Group" content items of value type CONTAINER, each containing 1-n content items of value type IMAGE (TID 1601 Image Library Entry) or multiple content items of different value types (TID 1602 Image Library Entry Descriptors). The |
@seandoyle we could now implement subclasses of |
I am not sure whether we should implement TID 1602 Image Library Entry or whether we should omit this for now and only support descriptions of groups of images. The row is optional so I don't see any problems from a standard perspective. @seandoyle @CPBridge @fedorov @dclunie @pieper what are your thoughts on this? |
I thought I understood it in the past, but I don't anymore, as I was looking at the TIDs. It appears that it would be valid to have Image library container that has descriptors only, and no references to the actual images, which I am not sure is particularly useful. To answer your question Markus - yes, it appears to be valid to only implement TID 1602 Image Library Entry Descriptors, but I am afraid that would not be very useful (in the previous post, did you mean to TID 1602, or "TID 1601 Image Library Entry"?) Here's how dcmtk/dcmqi encode Image library: |
Ok. Thanks @fedorov and @seandoyle. If I understand it correctly, the group-level descriptors are intended to provide attributes that are common to the collection of image instances and TID 1601 Image Library Entry would provide the image-level descriptors that are unique to individual image instances. @seandoyle do you want to take a shot at implementing The constructor of What do you think? |
Correct, but there is another major difference between 1601 and 1602: the former requires IMAGE to be present, the latter does not include IMAGE even as optional. With 1602 you describe the descriptors, but are allowed to omit the images those correspond to. |
@hackermd Sure - I'll give it a try tonight. I'm finding this very odd - the reason I want to use the image library descriptors is so I can store specific image attributes (slice thickness &etc) in the SR. The axial and sagittal views have different attributes but share the same FrameOfReferenceUID. Without sending the SOPInstanceUIDs it's going to have limited usefulness. |
This would certainly simplify the code that is using highdicom. To avoid a lot of conditional logic (and standardize the SR creation) should we assume that all of the optional entries in 1602, 1603, 1604 are included? Should I include 1605-1607 for this issue? I'd like to leave them for the next iteration and see how this looks first. |
Yeah, I thought we could either include all optional content items or an opinionated subject for each of the provided images. |
Highdicom doesn't have support for TID 1604 (Image Library). This would be useful for encoding imaging attributes (imaging orientation, slice thickness, pixel spacing) for clients interpreting Comprehensive 2D SRs before the source image SOPInstances were retrieved.
The text was updated successfully, but these errors were encountered: