Stone Viewer emhancement and avaialble tags with the new MainDicomTag feature.

I added a few items to my hosted Stone Viewer and was hoping to get some of them added to the official version. Also wondering if more instance tags can now be available with some of the new features add to Orthanc with the ExtraMainDicomTags feature. Not sure how that relates to items returned to the Stone Viewer though.

I have attached a screen shot and summarized briefly below.

  1. Refresh button: Basically refreshes the window/tab, but it also detects if it is being display in an iframe. Mostly a convenience thing if it is an iframe.

  2. Make key image button: Essentially converts the viewport or canvas to an image (i.e. screenshot using a .js library, html2canvas.min.js, and then attaches it to series #0 (creates that if it doesn’t exist, all with a Python script, which could probably be added to the C++ code for orthanc later if you wanted to make it part of a release). In the screen shot, there is a KEY_IMAGES series with 2 instances already. In the bottom left, the Instance # div is also editable so that you can add some text there if you want, but I am hoping that an ‘arrow’ and ‘text-annotation’ tool will be added to the Stone Viewer soon also. This probably needs to be refined a little, but also not a lot of code, but it is dependent upon the Python script that processes the generated request.

  3. Added labels for the NAME, MRN, SEX, DOB, REFERRER, etc.

  4. Show All for MRN button, which shows up with the study= URL if there is just one study. Makes it easy to switch to the patient=URL view where it will show all studies for the patient’s MRN. Pretty easy to implement and it also detects whether it is in an iframe or not.

I am also hoping to add additional annotations for MRI and CT studies, but now sure how that works with the responses that the stone viewers gets via dicom web yet:

e.g.

“ExtraMainDicomTags” : { “Instance” : [ “Rows”, “Columns”, “ImageType”, “SOPClassUID”, “ContentDate”, “ContentTime”, “FrameOfReferenceUID”, “PixelSpacing”, “SpecificCharacterSet”, “BitsAllocated”, “BitsStored” ],

I need to play around with that.

/sds

stone.png

I was looking at the C++ code to see how it might be possible to return additional tags for an instance so that a more complete set of annotations could be displayed for an instance, like the matrix size, MR paramters, etc. for CT and MRI. Not sure, but it seems like this method in StoneWebViewer.cpp could be modified to return some additional tags such that they could be displayed when a new instance is loaded into a viewport ? Just curious if adding something like that is on the roadmap for the StoneViewer ? If those were returned, looks like it would be fairly simple to add them to the front-end as options.

There are quite a few that would be helpful for CT and MRI, e.g., among others.

  • 0008,0070 (Manufacturer):

  • 0008,0080 (InstitutionName):

  • 0018,0020 (ScanningSequence): IR