OHIF / Viewers

OHIF zero-footprint DICOM viewer and oncology specific Lesion Tracker, plus shared extension packages
https://docs.ohif.org/
MIT License
3.37k stars 3.39k forks source link

Draw/edit/save contour #2602

Closed ashkanbashiri closed 1 year ago

ashkanbashiri commented 3 years ago

Hi, I was wondering if the segmentation extension comes with the ability to draw contours on an image? I've seen screenshots of the app where there are buttons for drawing contours but I don't get that feature in my local version cloned from the master branch. Any help is much appreciated, I'm new to this area (Dicom, medical imaging etc.)

Here's a screenshot of my local instance (I have the segmentation extension enabled- I think) Capture

ArturRod commented 3 years ago

Hi @ashkanbashiri Yes, you have to add the FrehandRoi tool to be able to draw contours freely, you will have to add it at the beginning of the cornertone tools, the icon and its call. https://tools.cornerstonejs.org/examples/tools/freehand-mouse.html Then for them to appear as a drawing in measurements, you will have to add it manually in core/src/measurements/tools: image

ashkanbashiri commented 3 years ago

Thank you @ArturRod but my question was how do I enabled the segmentation extension and see its toolbar. After further investigation I noticed I had it enabled and uncommented the code in extensions\dicom-segmentation\src\toolbarModule.js to enable the toolbar. That worked, however my next question is "Does OHIF come with the ability to save the drawn contours per series so that if I refresh I'd be able to see them again?" I have the same question regarding saving measurements. When I do measurements and click save measurements, when I refresh and come back to the same study I don't see the previous measurements pop up even though there's stuff being written to my database. I'm using dcmjs as my DicomWeb server https://github.com/dcmjs-org/dicomweb-server.

Thanks

pieper commented 3 years ago

I don't have a working example, but from the big picture, the drawn contours would be saved in a structured report (SR) that references the series/instance it was created on. So you would need to load both or start with the SR and pull in anything it references.

ashkanbashiri commented 3 years ago

Thank you Steve @pieper for responding. Isn't a SR used for measurements? I do see SRs showing up on the left panel when I save measurements, but my question is regarding save/load of the contours. Does the viewer save contours to RTSTRCUTs? I didn't see any evidence of that but this extension @ohif/extension-dicom-rt seems to be responsible for load/display of contours, is that right? my goal is to be able to create/edit/save/load contours, the first two seem to be included in the extensions but how about the last two (save/load)? Any help in pointing me in the right direction is much appreciated.

pieper commented 3 years ago

Oh, I see - you can save freehand polylines/polygons in SR, but yes, RTSTRUCT is a different thing. I believe ohif currently only displays RTSTRUCT but doesn't (yet) create them. I know there was some effort in that direction but I don't think it's available. If you have time/skills/resources to contribute that would be geat. You can see display, e.g., here: https://viewer.imaging.datacommons.cancer.gov/viewer/1.3.6.1.4.1.14519.5.2.1.1706.8040.141473127645431244275904143582

ArturRod commented 3 years ago

Hi @pieper and @ashkanbashiri Indeed, as @pieper comments, currently the RTSTRUCT only allows you to see them, not create them. Sorry if I misunderstood you about freehandroi. The only thing I know is enabled for drawing is Segmentations https://tools.cornerstonejs.org/examples/tools/freehand-scissors.html But this I do not know if it will serve you for what you want, even so this part is also a little green.

hechmik commented 2 years ago

Hi @ArturRod @pieper , I hope you both are doing well!

My team is currently having a look at OHIF and we will be really interested in having the possibility to save contours in our dicom server of choice (Orthanc) so that users can see if for a given DICOM studio someone has already made a contours for a given ROI. Do you have any pointers/code references for being able to do that? At the current stage we can draw them, however we lose them at the first tab refresh.

Thank you in advance!

pieper commented 2 years ago

I believe saving / restoring toolstates via dicom is still an experimental feature. There have been proof of concept implementations for a while but nothing comprehensive in a supported release I believe. This IDC implementation of display for RTSTRUCT and SEG is the most complete production release that I know of.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

sedghi commented 1 year ago

There are advanced segmentation contours coming very soon. Please stay tuned