Stone RT Viewer issues

Hi there,

I’ve been using Orthanc for a while now and I’m just getting into some of the more advanced features, particularly the MPR viewer. I have several Orthanc instances running and I’m running into the following issues with one imaging modality:

1. “Stone MPR RT Sample Viewer” Button doesn’t work
I get the following error: “Uncaught TypeError: Cannot read properties of undefined (reading ‘MainDicomTags’)” and the JS console shows the error at “explorer.js:224:37”: siblingSeries.MainDicomTags.Modality == “RTDOSE”.

Looking at the API calls, there is no “Modality” tag on the siblingSeries. However, on the series itself, everything is fine, “Modality: CT” is present where I’d expect it. Every other imaging modality seems to generate the MainDicomTags just fine, so I’m not sure why this one is special. Is there something that needs to be done to populate this siblingSeries?

2. Stone RT Viewer only works on 512 x 512 images
This may be working as designed, but I have failed to get RT Viewer to work with any images that are not 512 x 512 and I don’t see anything in the docs or source code that suggests this is a limitation. I have tried the following resolutions:

  • 512 x 512: Works
  • 256 x 256: Fails
  • 512 x 513: Fails
  • 513 x 513: Fails
  • 768 x 768: Fails
  • 768 x 758: Fails
  • 1024 x 1024: Fails
    The failure manifests itself mostly through console errors, on the UI the first image loads, but no subsequent images do. I get the following trace, with the only error being: VM4250:1 Exception on callable: Incompatible size of the images

OnRequestAnimationFrame
VM4250:1 WebAssemblyViewport::DereferenceObjectCookie(cookie = 0x218b2c8)
VM4250:1 WebAssemblyViewport::ReleaseObjectCookie(cookie = 0x218b2c8)
VM4250:1 Exiting: OnRequestAnimationFrame
VM4250:1 OnRequestAnimationFrame
VM4250:1 WebAssemblyViewport::DereferenceObjectCookie(cookie = 0x219df68)
VM4250:1 WebAssemblyViewport::ReleaseObjectCookie(cookie = 0x219df68)
VM4250:1 Exiting: OnRequestAnimationFrame
VM4250:1 OnRequestAnimationFrame
VM4250:1 WebAssemblyViewport::DereferenceObjectCookie(cookie = 0x2176098)
VM4250:1 WebAssemblyViewport::ReleaseObjectCookie(cookie = 0x2176098)
VM4250:1 Exiting: OnRequestAnimationFrame
VM4250:1 OnRequestAnimationFrame
VM4250:1 WebAssemblyViewport::DereferenceObjectCookie(cookie = 0x2167810)
VM4250:1 WebAssemblyViewport::ReleaseObjectCookie(cookie = 0x2167810)
VM4250:1 Exiting: OnRequestAnimationFrame
VM4250:1 OnRequestAnimationFrame
VM4250:1 WebAssemblyViewport::DereferenceObjectCookie(cookie = 0x2167e80)
VM4250:1 WebAssemblyViewport::ReleaseObjectCookie(cookie = 0x2167e80)
VM4250:1 Exiting: OnRequestAnimationFrame
VM4250:1 About to call emscripten_fetch_close
VM4250:1 Successfully called emscripten_fetch_close
VM4250:1 OrthancSeriesVolumeProgressiveLoader::LoadJpegSliceContent
VM4250:1 Exception on callable: Incompatible size of the images

3. Quick question about Stone RT Viewer
One final question, does the RT Viewer have any measure functionality? This Osimis video seems to suggest that it does, but I can’t figure out how to enable it. https://www.youtube.com/watch?v=UPXKrpJEeqM

Thanks in advance and let me know if you need any additional info! It’s unclear if most Orthanc support packs cover Stone of Orthanc, but the organization I work with may also be interested in purchasing a support pack if these issues can be resolved by doing so!

Best,
Logan

(Apologies if you receive an alternate and earlier version of this reply… I need more caffeine.)

I just tested the MPR sample viewer with one of the CT+RTSTRUCT+RTDOSE I have and it’s working fine.
Can you please confirm you are clicking on the button once you have opened the CT series in the Orthanc Explorer ?

Would it be feasible to post anonymized versions of your offending study here?

Regarding your support question, I am not sure since I do not work for Osimis , but please note that the MPR sample should be seen as a “Hello world” for Stone MPR objects. For instance, it only works with all three series and the error handling is minimal.
A fully fledged app requires a certain amount of integration work. And I think the video you have linked comes from such a custom integration made for a customer.