From e54735093f0ff08a316d853ee0001680713ad098 Mon Sep 17 00:00:00 2001 From: Matt Clarkson Date: Mon, 12 Feb 2024 11:47:31 +0000 Subject: [PATCH] Issue #222: Fix use of VTK threshold API, deprecated in vtk 9.3+ --- requirements.txt | 2 +- setup.py | 2 +- sksurgeryvtk/models/voxelise.py | 3 ++- sksurgeryvtk/models/vtk_grid_model.py | 4 +++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index a141305f..55c60819 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ # It is not to be confused with the software requirements, # which are listed in requirements-dev.rst and requirements-docs.rst numpy>=1.11 -vtk==9.2.6 +vtk>=9.2.6 PySide6>=6.5.1.1 opencv-contrib-python-headless>=4.2.0.32 scikit-surgerycore>=0.1.7 diff --git a/setup.py b/setup.py index 3fd32e9b..529b34da 100644 --- a/setup.py +++ b/setup.py @@ -52,7 +52,7 @@ install_requires=[ 'numpy>=1.11', - 'vtk==9.2.6', + 'vtk>=9.2.6', 'PySide6>=6.5.1.1', 'opencv-contrib-python-headless>=4.2.0.32', 'scikit-surgerycore>=0.1.7', diff --git a/sksurgeryvtk/models/voxelise.py b/sksurgeryvtk/models/voxelise.py index 96d64129..89a3e4d8 100644 --- a/sksurgeryvtk/models/voxelise.py +++ b/sksurgeryvtk/models/voxelise.py @@ -606,7 +606,8 @@ def apply_displacement_to_mesh(mesh: Union[vtk.vtkDataObject, str], 0, vtk.vtkDataObject.FIELD_ASSOCIATION_POINTS, "preoperativeSurface") - threshold.ThresholdByLower(0) + threshold.SetLowerThreshold(0) + threshold.SetThresholdFunction(threshold.THRESHOLD_LOWER) threshold.SetInputData(field) threshold.Update() fieldInternal = threshold.GetOutput() diff --git a/sksurgeryvtk/models/vtk_grid_model.py b/sksurgeryvtk/models/vtk_grid_model.py index 9927dc3f..9ea24870 100644 --- a/sksurgeryvtk/models/vtk_grid_model.py +++ b/sksurgeryvtk/models/vtk_grid_model.py @@ -125,5 +125,7 @@ def threshold_between(self, lower: float, upper: float): :param upper: Upper limit :type upper: float """ - self.threshold.ThresholdBetween(lower, upper) + self.threshold.SetLowerThreshold(lower) + self.threshold.SetUpperThreshold(upper) + self.threshold.SetThresholdFunction(self.threshold.THRESHOLD_BETWEEN) self.threshold.Update()