Today, we will be having our next weekly hangout at 11:00 AM ET until 12:00 PM ET, after the project week meeting. We will be reusing the Project Week Zoom link.
I’d like to discuss some work I’ve been doing on integrating SimNIBS in SlicerTMS using rpyc and some of the performance issues I’ve discovered in updating the scalar array.
As a followup, here’s info on the rendering performance issue I mentioned during the meeting. Looks like it will be easy to resolve with a patch to VTK. I’ll test it out and make a an MR to upstream VTK that we may want to merge into Slicer/VTK sooner.
@pieper explored the use of RPyC (Remote Python Call) to stream scalar fields associated with unstructured grids.
What is RPyC?
A Python library for symmetrical remote procedure calls, clustering, and distributed computing. It can use shared memory for efficient local communication of large arrays between processes.
Current Bottleneck:
When updating the scalar field, the surface mesh is re-extracted during each render, even though the underlying unstructured grid remains unchanged.
This causes performance issues for large meshes.
Next Steps:
Investigate possible rendering optimizations, likely at the vtkMRMLModelDisplayNode level, to avoid redundant surface extraction.
SlicerTelemetry
Test Server Deployment:
A test server has been deployed using domcloud.co under a free-tier plan.
It allows trying out the SlicerTelemetry extension and viewing collected data via a web interface.
Note: Free-tier hosting may trigger browser phishing warnings—this will not be an issue for the production deployment.
Hosting Plans:
To avoid giving a poor first impression, discussed alternative testing hosts that do not trigger phishing warnings.
In production, the service will be hosted under a proper domain, such as stats.slicer.org.
Repository Renaming:
The server repository was renamed from BerDom-Ing/Slicer-Telemetry → BerDom-Ing/slicer-usage-stats-backend.