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:
DisplayableManagerGroup
RenderWindow
Logic
(for accessing slice/view logic)
-
New events:
ScheduleRender
ForceRender
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-resources
release:- Used this release script as a template (based on SlicerAutoscoperM/docs-resources).
- The
slicer-sofa-maintainers
team 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
Sandbox
extension 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.