jcfr
(Jean Christophe Fillion Robin (Kitware))
July 29, 2025, 1:16pm
1
Later this morning, we will be having our next weekly hangout at 10:00 AM ET until 11:00 AM ET.
Anyone is welcome to join at this link: https://bit.ly/slicer-googlemeet-hosted-by-kitware
Agenda:
Please post to this thread to put a topic on the agenda! We will try to prioritize agenda items during the meeting.
Thanks
Sam and J-Christophe
Hi,
I would like to discuss issues with how the DICOM Browser chooses series to display as references in the pop-up.
Thanks!
jcfr
(Jean Christophe Fillion Robin (Kitware))
August 4, 2025, 7:58pm
3
Meeting Notes
DICOMBrowser Integration
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
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.