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

dicom tag viewer #1129

Closed
pieper opened this issue Oct 29, 2019 · 15 comments
Closed

dicom tag viewer #1129

pieper opened this issue Oct 29, 2019 · 15 comments
Assignees
Labels
IDC:priority Items that the Imaging Data Commons wants to help sponsor

Comments

@pieper
Copy link
Member

pieper commented Oct 29, 2019

Request

Would be great to be able to look at the whole structure of the dicom metadata.

What feature or change would you like to see made?

Probably easiest to add a tree view that syncs to image scroll.

Basic function would be to have it provide the same features as Slicer ore similar.

https://www.slicer.org/wiki/File:DICOM4_2014-11-17-09-38.png

Why should we prioritize this feature?
It's helpful for debugging.

@pieper pieper added Community: Request ✋ IDC:candidate Possible feature requests for discussion, and if we agree, they can be relabeled IDC:priority labels Oct 29, 2019
@salimkanoun
Copy link
Contributor

Just a thought, maybe just using a json output with a js json reader that allows to dynamically open / close keys of the json ?

@pieper
Copy link
Member Author

pieper commented Oct 29, 2019

Another feature the slicer one has is that if you doubleclick the tag it opens a browser page with a dicomlookup.com search. Would be good to add that, and/or dicom.innolitics.com/ciods .

@dannyrb
Copy link
Member

dannyrb commented Oct 30, 2019

Ah! I've always found a DICOM Tag list helpful for development/troubleshooting. Out of curiosity, how do you determine what information to show for volumes / MPR (VTK Viewports)?

This would probably make the most sense as an OHIF Extension. I think there are a couple different approaches we could take:

  • Update our ExtensionManager to provide extensions with access to OHIF's MetaDataProvider
  • Publish an event when the activeViewport / instance changes
    • Display set information + viewportIndex
  • Use the new information to render a table in a Side Panel; updates on viewport change
    • Should handle "empty" or unsupported active viewports
    • Should update as activeViewport / instance changes

We could also provide the server information to extensions, and notify them if the activeImageId has updated. In this instance, that would allow us to fetch the image from the PACS and use dicom-parser in the extension; but I'm not too keen on extensions fetching their own data if we can help it.

I think adding a lookup w/ dicomlookup.com is a great value add 👍

@salimkanoun
Copy link
Contributor

For volume I think you can't, this can probably done only in the "raw" slice view by looking at a single serie at a particular slice.
When PET/CT time will come it will become even more difficult as in a fusion view you will have 2 series

One other workflow could be to make it available on the series thumbnail with a small button that could give a small dialog to ask for the metadata of the slice N (for example able to choose value with a spinner)
This button could open an additional view port to show the selected slice tags with access with dicomlookup ect ...

@salimkanoun
Copy link
Contributor

Or.. another way to not add GUI element could be to rely only on keyboard shortcut.
Ex 'ctrl+i' in a single serie view will open the metadata of the current displayed slice.
This could be enough if we assume that the metadata acces will be used for a limited fraction of users, for debuging purposes and then just a mention of the available shortcut in the help/about panel would be enough.

@pieper
Copy link
Member Author

pieper commented Oct 31, 2019

In Slicer the way we do it is in the patient/study/series browser. For any selection level you have a corresponding list of instances. The metadata viewer has a slider at the top to move through the instance list and update the tree view (it updates fast so you can quickly scan for what tags change per instance). There's also a search box so you can limit what is displayed.

I agree this would be fine as an extension rather than part of OHIF Core.

@swederik
Copy link
Member

swederik commented Nov 1, 2019

Screenshot 2019-11-01 13 22 30

Here's a screenshot from MedDream's tag viewer.

@dannyrb
Copy link
Member

dannyrb commented Nov 1, 2019

Is it important that we preserve viewing of at least a single viewport (so you can see tags + slice at the same time)? Or does tag inspection make more sense in isolation (buys us more screen space)?

@pieper
Copy link
Member Author

pieper commented Nov 1, 2019

Seeing the image corresponding to the header sound nice, but not always better. I could imagine it being a layout option. As in you could view a series in 'header' mode, and still have the stack scroll option and could also sync it to another series, which could be just another view of the same series but in 'image' mode instead of 'header' mode.

@fedorov
Copy link
Member

fedorov commented Nov 1, 2019

I would vote for the simplest implementation as the first step, and then prioritize and refine as the specific needs come up. Simple list taking the whole viewport sounds fine. I can see how "Search" in column headers can be useful. I can't think of a use case that would justify the need to show image at the same time.

@swederik how does MedDream's interface handle sequences?

@fedorov
Copy link
Member

fedorov commented Mar 12, 2020

As discussed today with @swederik @pieper and @JamesAPetts, one useful feature to consider could be integration with Innolitics DICOM browser, which links content of the individual files with the matching definitions and CIOD.

cc: @johndgiese

image

@JamesAPetts JamesAPetts added IDC:priority Items that the Imaging Data Commons wants to help sponsor and removed IDC:candidate Possible feature requests for discussion, and if we agree, they can be relabeled IDC:priority labels Aug 25, 2020
@JamesAPetts JamesAPetts self-assigned this Aug 25, 2020
@JamesAPetts
Copy link
Member

Closed as first iteration done. Post MVP improvements/feedback can come in other tickets 👍 .

@michaelloewenstein
Copy link

Hey @JamesAPetts, I'm probably setting it up wrong but I tried to take a look at the MVP for this extension and failed to do to:
"Exception thrown while trying to call getCommandsModule for the dicom-tag-browser extension"
Any chance you can let me know where I got it wrong?
Thanks 🙏
Screen Shot 2021-04-22 at 14 38 42

@igoroctaviano
Copy link
Contributor

igoroctaviano commented Apr 22, 2021

Hey @JamesAPetts, I'm probably setting it up wrong but I tried to take a look at the MVP for this extension and failed to do to:
"Exception thrown while trying to call getCommandsModule for the dicom-tag-browser extension"
Any chance you can let me know where I got it wrong?
Thanks 🙏
Screen Shot 2021-04-22 at 14 38 42

Quickly looking at your screenshot... you might have found a bug too (maybe not related to your problem). Both debugging and dicom-tag-browser uses the same library name in their webpack prod files:

@fedorov
Copy link
Member

fedorov commented Feb 23, 2022

To enable "Tag browser" extension, uncomment these lines:

//import OHIFDicomTagBrowserExtension from '@ohif/extension-dicom-tag-browser';

//OHIFDicomTagBrowserExtension,

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

8 participants