Skip to content
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

Add support for qualitative slice-level SR annotations #2797

Closed
fedorov opened this issue May 9, 2022 · 14 comments
Closed

Add support for qualitative slice-level SR annotations #2797

fedorov opened this issue May 9, 2022 · 14 comments
Assignees
Labels
IDC:priority Items that the Imaging Data Commons wants to help sponsor

Comments

@fedorov
Copy link
Member

fedorov commented May 9, 2022

Request

One kind of annotations that is quite common in practice is used to describe a qualitative property of the image at the series or instance level. For example, this kind of annotations can be used to indicate whether specific image slice contains some finding or not or describe the quality of the image. DICOM allows capturing such annotations in SR using TID 1500, specifically using its subordinate template TID 1501 rows 1, 10b and 11.

We would like to see support for instance-level image annotations implemented in OHIF Viewer. This would mean that in the situation where a TID 1500 instance is encountered in a study, and that instance includes TID 1501 content pattern as in example below ("Measurement group" container that contains one or more IMAGE content item, and CODE content items), the values of the CODE content items are shown as image annotations. Those annotations could be shown as key:value labels in the bottom of the image view, only for the instances specified. For the example below, this would show "Target Region: Neck". A tooltip can be used to show Code/CodingSchemeDesignator for the CodeValues shown.

<CONTAINER:(,,"Imaging Measurement Report")=CONTINUOUS>
  <has concept mod CODE:(,,"Language of Content Item and Descendants")=(en-US,RFC5646,"English (United States)")>
  <has obs context CODE:(,,"Observer Type")=(121006,DCM,"Person")>
  <has obs context PNAME:(,,"Person Observer Name")="Anonymous^Reader">
  <has concept mod CODE:(,,"Procedure reported")=(363679005,SCT,"Imaging procedure")>
  <contains CONTAINER:(,,"Image Library")=CONTINUOUS>
  <contains CONTAINER:(,,"Imaging Measurements")=CONTINUOUS>
    <contains CONTAINER:(,,"Measurement Group")=CONTINUOUS>
      <has obs context TEXT:(,,"Tracking Identifier")="Annotations group x">
      <has obs context UIDREF:(,,"Tracking Unique Identifier")="1.2.826.0.1.3680043.8.498.11346640510041906666146760516895890504">
      <contains CODE:(,,"Target Region")=(69536005,SCT,"Head")>
      <contains CODE:(,,"Target Region")=(45048000,SCT,"Neck")>
      <contains IMAGE:(,,"Source")=(CT image,)>

Why should we prioritize this feature?

  • this feature is needed to display results of analysis for one of the IDC use cases
  • this feature will be applicable for a variety of other tasks and datasets that contain or will contain qualitative annotations, and are expected to be in IDC

Here is the example CT series and corresponding annotations in DICOM SR: https://www.dropbox.com/s/v1bz77e4nmqpa9n/Qualitative_annotation_sample.zip?dl=0

@fedorov fedorov added Community: Request ✋ IDC:priority Items that the Imaging Data Commons wants to help sponsor labels May 9, 2022
@pieper
Copy link
Member

pieper commented May 9, 2022

  • this feature is needed to display results of analysis for one of the IDC use cases

Can you elaborate on which use case and what the annotation would look like?

@fedorov
Copy link
Member Author

fedorov commented May 9, 2022

The use case is automatic detection of body part examined in the image (using this tool: https://github.com/mic-dkfz/bodypartregression). @deepakri201 is working on producing those analysis results. The annotation would look like a set of key:value labels in the bottom of the image view, only for the instances specified. For the attached, this would show "Target Region: Neck" (and "Target Region: Head", actually - since there are two annotations for that one slice).

@Punzo
Copy link

Punzo commented Jun 14, 2022

implemented in #2822

2022-06-14.13-55-02.mp4

@deepakri201
Copy link

Hi,

I'm trying to view the per slice level annotation as discussed above. With 1 annotation, the label is correct (e.g. target region : head). However, with 2 or more annotations, the labels are repeated for the slice (e.g. target region : head target region : neck target region : head target region : neck. I noticed that this issue seems to occur for the previous sample dataset as well (in the video 4 labels appear in a slice when only 2 should).

slice_level_annotation_issue.mp4

I've provided an example CT series and the corresponding SR I have created to demonstrate this issue here:
https://www.dropbox.com/scl/fo/glt3oimzw1v18mtwp1hr0/h?dl=0&rlkey=2gcdmitl5tqo2isdrh3g2zm4q

Thank you,

Deepa

@fedorov
Copy link
Member Author

fedorov commented Jun 27, 2022

Thank you for reporting this @deepakri201!

@Punzo would be great if you could look into this.

@Punzo
Copy link

Punzo commented Jun 28, 2022

Hi,

I'm trying to view the per slice level annotation as discussed above. With 1 annotation, the label is correct (e.g. target region : head). However, with 2 or more annotations, the labels are repeated for the slice (e.g. target region : head target region : neck target region : head target region : neck. I noticed that this issue seems to occur for the previous sample dataset as well (in the video 4 labels appear in a slice when only 2 should).

slice_level_annotation_issue.mp4
I've provided an example CT series and the corresponding SR I have created to demonstrate this issue here: https://www.dropbox.com/scl/fo/glt3oimzw1v18mtwp1hr0/h?dl=0&rlkey=2gcdmitl5tqo2isdrh3g2zm4q

Thank you,

Deepa

Hi @deepakri201, thanks for reporting! Indeed it was a smalll bug when parsing the DICOM SR info into the measurements system. Fixed in #2830

@fedorov IDC fork already updated to 4.12.28 in ImagingDataCommons#144

@deepakri201
Copy link

Hi,

Thank you for making the fix! I discovered another issue though -- in the above dataset I shared, on one slice there should be a single label target region : head, and on the second slice target region : head target region : neck . It seems that there are 3 measurements listed though, when there should only be 2, where the second slice+labels are repeated.

The SR is in the dropbox folder linked above -- perhaps I made a mistake with the encoding.

slice_level_annotation_issue_06_28_22.mp4

@Punzo
Copy link

Punzo commented Jun 28, 2022

Hi,

Thank you for making the fix! I discovered another issue though -- in the above dataset I shared, on one slice there should be a single label target region : head, and on the second slice target region : head target region : neck . It seems that there are 3 measurements listed though, when there should only be 2, where the second slice+labels are repeated.

The SR is in the dropbox folder linked above -- perhaps I made a mistake with the encoding.

slice_level_annotation_issue_06_28_22.mp4

ok I am fixing it!

@Punzo
Copy link

Punzo commented Jun 29, 2022

@deepakri201 @fedorov UI improvements and bug fixes done in #2832.

IDC fork updated to 4.12.29 in ImagingDataCommons#145

video:

2022-06-29.04-07-40.mp4

@fedorov
Copy link
Member Author

fedorov commented Jun 29, 2022

Very nice Davide, thank you! I see you also updated OHIF:IDC2servers 👍

@Punzo
Copy link

Punzo commented Jun 29, 2022

Very nice Davide, thank you! I see you also updated OHIF:IDC2servers 👍

Yes !

@fedorov
Copy link
Member Author

fedorov commented Jun 30, 2022

I think it is all good, closing!

@fedorov fedorov closed this as completed Jun 30, 2022
@fedorov
Copy link
Member Author

fedorov commented Jun 30, 2022

Ah, one more little thing - would it make sense to add the chain link icon to the series that is accompanied by the SR instance?

image

@fedorov fedorov reopened this Jun 30, 2022
@Punzo
Copy link

Punzo commented Jun 30, 2022

Done in #2834

IDC fork updated to v 4.12.30 in: ImagingDataCommons#146

IDC fork IDC2servers updated as well

2022-06-30.11-48-50.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IDC:priority Items that the Imaging Data Commons wants to help sponsor
Projects
None yet
Development

No branches or pull requests

4 participants