Meeting Notes
DICOMBrowser Integration
- @DeepaKrishnaswamy inquired about integrating DICOMBrowser functionality into the QuantitativeReporting extension.
vtk-sdk-python-distributions
- Plan to review and integrate:
PR #2
Refactoring to Support Improvements to Segment Editor Effects
To eliminate the need to interact with the Qt layer directly, @Thibault_Pelletier proposed enhancing vtkMRMLAbstractViewNode with new properties and mechanisms:
-
New weak pointers:
DisplayableManagerGroupRenderWindowLogic(for accessing slice/view logic)
-
New events:
ScheduleRenderForceRender
These additions will allow accessing the RenderWindow, DisplayableManager, and associated logic purely through the MRML view node, minimizing dependency on the GUI layer.
Current code example requiring layout manager access:
qMRMLSliceWidget* sliceWidget = layoutManager->sliceWidget(sliceViewName);
if (!d->segmentationDisplayableInView(sliceWidget->mrmlSliceNode()))
// ...
qMRMLSliceWidget* sliceWidget = qobject_cast<qMRMLSliceWidget*>(viewWidget);
if (sliceWidget)
{
auto* crosshairDisplayableManager =
vtkMRMLCrosshairDisplayableManager::SafeDownCast(
sliceWidget->sliceView()->displayableManagerByClassName(
"vtkMRMLCrosshairDisplayableManager"));
}
SlicerSOFA
-
To help @RafaelPalomar create a
docs-resourcesrelease:- Used this release script as a template (based on SlicerAutoscoperM/docs-resources).
- The
slicer-sofa-maintainersteam was granted appropriate access permissions on GitHub.
Qt6 Styling Discussion
- @benzwick (in context of Talk2View project) discussed matching the QtQuickControls style to the operating system. See: Qt Docs
- Post-Qt6 migration, consider experimenting with modern styles like qlementine
- StyleTester module in the
Sandboxextension can be used to test styles interactively.
Support for Boolean Functions in Implicit Functions
- VTK-related discussion on enabling support for combining implicit functions via boolean logic.
- See: VTK Discourse post
Proposed API: vtkMRMLScene::GetNodesByClass
@Thibault_Pelletier suggested adding a utility method to retrieve all nodes of a given type with proper type casting:
template <class T>
std::vector<T*> GetNodesByClass(const char* className)
{
std::vector<vtkMRMLNode*> nodes;
GetNodesByClass(className, nodes);
std::vector<T*> typedNodes;
for (const auto& node : nodes)
{
auto castNode = T::SafeDownCast(node);
if (castNode)
{
typedNodes.emplace_back(castNode);
}
}
return typedNodes;
}
Next Step:
- Create a pull request demonstrating usage of this helper by updating select call sites.