Fast model align does not operate

Hi, in the last stable release, 3D Slicer 5.12.4, the SlicerMorph- FastModelAlign extension does not operate.I know from a previous issue that this extension runs only on the stable release, so when it failed with the 3.13.0 release, I downloaded the stable 5.12.4 release, installed the Python package, then tried to run the extension, which froze on the subsampling task, as you can see in the screenshot. Did I do something wrong? Is there any way to get fastmodelalign to work?

Thanks for any help.

Can you provide a log file? (Use View → Error Log)

Session start time …: 20261012_170630

Slicer version …: 5.12.4 (revision 34645 / 4e21c19) macosx-amd64 - installed release

Operating system …: macOS / 26.6.2 / 25G83 / UTF-8 - 64-bit

Memory …: 16384 MB physical, 5120 MB virtual

CPU …: Apple M2 Pro, 10 cores, 10 logical processors

VTK configuration …: OpenGL2 rendering, TBB threading

Qt configuration …: version 5.15.18, with SSL, requested OpenGL 3.2 (core profile)

DCMTK configuration …: version 3.7.0, no SSL

Internationalization …: disabled, language=

Developer mode …: disabled

Application path …: /Applications/Slicer.app/Contents/MacOS

Additional module paths ..: Extensions-34645/SegmentEditorExtraEffects/lib/Slicer-5.12/qt-loadable-modules, Extensions-34645/SegmentEditorExtraEffects/lib/Slicer-5.12/qt-scripted-modules, Extensions-34645/MarkupsToModel/lib/Slicer-5.12/qt-loadable-modules, Extensions-34645/SurfaceMarkup/lib/Slicer-5.12/qt-loadable-modules, Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules, Extensions-34645/Sandbox/lib/Slicer-5.12/qt-loadable-modules, Extensions-34645/Sandbox/lib/Slicer-5.12/qt-scripted-modules

libpng warning: iCCP: profile ‘ICC Profile’: ‘CMYK’: invalid ICC profile color space

libpng warning: iCCP: known incorrect sRGB profile

DeserializeTerminologyEntry: Invalid type component

Scripted subject hierarchy plugin registered: SegmentEditor

Scripted subject hierarchy plugin registered: SegmentStatistics

Switch to module: “Data”

Scripted subject hierarchy plugin registered: FormatMarkups

Adding SlicerMorph Volume Rendering Presets

GetSliceOrientationPreset: invalid orientation preset name: Reformat

GetSliceOrientationPreset: invalid orientation preset name: Reformat

GetSliceOrientationPreset: invalid orientation preset name: Reformat

“MRB Slicer Data Bundle” Reader has successfully read the file “/Users/philippe/Dropbox/dossier livre craniofaciale/Illustration livre craniofaciale/untitled folder 2/superposition fente 6.mrb” “[1.68s]”

Switch to module: “FastModelAlign”

5 Python packages need to be installed.

This will modify Slicer’s Python environment. Continue?

Populating font family aliases took 169 ms. Replace uses of missing font family “Monospace” with one that exists to avoid this cost.

Collecting itk~=5.4.0

Using cached itk-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl.metadata (22 kB)

Collecting scikit-learn

Using cached scikit_learn-1.9.1-cp312-cp312-macosx_10_13_x86_64.whl.metadata (9.3 kB)

Collecting itk-fpfh~=0.2.0

Using cached itk_fpfh-0.2.0-cp311-abi3-macosx_10_9_x86_64.whl.metadata (16 kB)

Collecting itk-ransac~=0.2.1

Using cached itk_ransac-0.2.1-cp311-abi3-macosx_10_9_x86_64.whl.metadata (17 kB)

Collecting cpdalp

Using cached cpdalp-1.2.0-py3-none-any.whl.metadata (2.8 kB)

Collecting itk-core==5.4.7 (from itk~=5.4.0)

Using cached itk_core-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl.metadata (22 kB)

Collecting itk-numerics==5.4.7 (from itk~=5.4.0)

Using cached itk_numerics-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl.metadata (22 kB)

Collecting itk-io==5.4.7 (from itk~=5.4.0)

Using cached itk_io-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl.metadata (22 kB)

Collecting itk-filtering==5.4.7 (from itk~=5.4.0)

Using cached itk_filtering-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl.metadata (22 kB)

Collecting itk-registration==5.4.7 (from itk~=5.4.0)

Using cached itk_registration-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl.metadata (22 kB)

Collecting itk-segmentation==5.4.7 (from itk~=5.4.0)

Using cached itk_segmentation-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl.metadata (22 kB)

Requirement already satisfied: numpy in ./Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages (from itk~=5.4.0) (2.4.6)

Requirement already satisfied: scipy>=1.10.0 in ./Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages (from scikit-learn) (1.17.1)

Collecting joblib>=1.4.0 (from scikit-learn)

Using cached joblib-1.6.0-py3-none-any.whl.metadata (6.5 kB)

Collecting narwhals>=2.0.1 (from scikit-learn)

Downloading narwhals-2.27.1-py3-none-any.whl.metadata (15 kB)

Collecting threadpoolctl>=3.5.0 (from scikit-learn)

Using cached threadpoolctl-3.7.0-py3-none-any.whl.metadata (24 kB)

Collecting cloudpickle>=3.0 (from joblib>=1.4.0->scikit-learn)

Using cached cloudpickle-3.1.2-py3-none-any.whl.metadata (7.1 kB)

Using cached itk-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl (16 kB)

Using cached itk_core-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl (71.1 MB)

Using cached itk_filtering-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl (46.8 MB)

Using cached itk_io-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl (22.4 MB)

Using cached itk_numerics-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl (35.8 MB)

Using cached itk_registration-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl (22.0 MB)

Using cached itk_segmentation-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl (13.1 MB)

Using cached itk_fpfh-0.2.0-cp311-abi3-macosx_10_9_x86_64.whl (357 kB)

Using cached itk_ransac-0.2.1-cp311-abi3-macosx_10_9_x86_64.whl (1.6 MB)

Using cached scikit_learn-1.9.1-cp312-cp312-macosx_10_13_x86_64.whl (8.8 MB)

Using cached cpdalp-1.2.0-py3-none-any.whl (18 kB)

Using cached joblib-1.6.0-py3-none-any.whl (306 kB)

Using cached cloudpickle-3.1.2-py3-none-any.whl (22 kB)

Downloading narwhals-2.27.1-py3-none-any.whl (483 kB)

Using cached threadpoolctl-3.7.0-py3-none-any.whl (26 kB)

Installing collected packages: threadpoolctl, narwhals, itk-core, cpdalp, cloudpickle, joblib, itk-numerics, itk-io, scikit-learn, itk-filtering, itk-segmentation, itk-registration, itk, itk-ransac, itk-fpfh

Successfully installed cloudpickle-3.1.2 cpdalp-1.2.0 itk-5.4.7 itk-core-5.4.7 itk-filtering-5.4.7 itk-fpfh-0.2.0 itk-io-5.4.7 itk-numerics-5.4.7 itk-ransac-0.2.1 itk-registration-5.4.7 itk-segmentation-5.4.7 joblib-1.6.0 narwhals-2.27.1 scikit-learn-1.9.1 threadpoolctl-3.7.0

parameters are {‘pointDensity’: 1.0, ‘normalSearchRadius’: 2.0, ‘FPFHNeighbors’: 100, ‘FPFHSearchRadius’: 5.0, ‘distanceThreshold’: 2.0, ‘maxRANSAC’: 1000000, ‘ICPDistanceThreshold’: 1.5, ‘alpha’: 2.0, ‘beta’: 2.0, ‘CPDIterations’: 100, ‘CPDTolerance’: 0.001, ‘gridSpacing’: 1.0, ‘gridSpacingAuto’: False, ‘Acceleration’: False, ‘GeodesicKernel’: False, ‘GeodesicTau’: 0.2, ‘BCPDFolder’: ‘’}

:: Loading point clouds and downsampling

Scale length are 286.6114269804389 260.31233478037495

Voxel Size is 5.2111168541897985

Scaling factor is 1

Generic Warning: In vtkMath.cxx, line 778

vtkMath::Jacobi: Error extracting eigenfunctions

------------------------------------------------------------

movingMeshPoints.shape (4321, 3)

movingMeshPointNormals.shape (4321, 3)

fixedMeshPoints.shape (6465, 3)

fixedMeshPointNormals.shape (6465, 3)

------------------------------------------------------------

Traceback (most recent call last):

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 473, in onRunRegistrationButton

self.sourcePoints, self.targetPoints, self.scalingTransformNode, self.ICPTransformNode, self.voxelSize = logic.ITKRegistration(

                                                                                                         ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 757, in ITKRegistration

) = logic.runSubsample(

    ^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2827, in runSubsample

source_fpfh = self.get_fpfh_feature(

              ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2727, in get_fpfh_feature

fpfh.ComputeFPFHFeature(pointset, normalset, float(radius), int(neighbors))

File “/Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages/itk/itkPointFeaturePython.py”, line 632, in ComputeFPFHFeature

return \_itkPointFeaturePython.itkPointFeatureMF3MF3_ComputeFPFHFeature(self, input, input_normals, radius, neighbors)

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

RuntimeError: /Users/svc-dashboard/D/P/ITKPythonPackage/ITK-source/ITK/Modules/Core/Common/include/itkPointSet.hxx:190:

ITK ERROR: PointSet(0x600002707b40): Point id doesn’t exist: 18446744073709551615

parameters are {‘pointDensity’: 1.0, ‘normalSearchRadius’: 2.0, ‘FPFHNeighbors’: 100, ‘FPFHSearchRadius’: 5.0, ‘distanceThreshold’: 2.0, ‘maxRANSAC’: 1000000, ‘ICPDistanceThreshold’: 1.5, ‘alpha’: 2.0, ‘beta’: 2.0, ‘CPDIterations’: 100, ‘CPDTolerance’: 0.001, ‘gridSpacing’: 1.0, ‘gridSpacingAuto’: False, ‘Acceleration’: False, ‘GeodesicKernel’: False, ‘GeodesicTau’: 0.2, ‘BCPDFolder’: ‘’}

:: Loading point clouds and downsampling

Scale length are 286.6114269804389 260.31233478037495

Voxel Size is 5.2111168541897985

Scaling factor is 1

Generic Warning: In vtkMath.cxx, line 778

vtkMath::Jacobi: Error extracting eigenfunctions

------------------------------------------------------------

movingMeshPoints.shape (4321, 3)

movingMeshPointNormals.shape (4321, 3)

fixedMeshPoints.shape (6465, 3)

fixedMeshPointNormals.shape (6465, 3)

------------------------------------------------------------

Traceback (most recent call last):

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 473, in onRunRegistrationButton

self.sourcePoints, self.targetPoints, self.scalingTransformNode, self.ICPTransformNode, self.voxelSize = logic.ITKRegistration(

                                                                                                         ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 757, in ITKRegistration

) = logic.runSubsample(

    ^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2827, in runSubsample

source_fpfh = self.get_fpfh_feature(

              ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2727, in get_fpfh_feature

fpfh.ComputeFPFHFeature(pointset, normalset, float(radius), int(neighbors))

File “/Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages/itk/itkPointFeaturePython.py”, line 632, in ComputeFPFHFeature

return \_itkPointFeaturePython.itkPointFeatureMF3MF3_ComputeFPFHFeature(self, input, input_normals, radius, neighbors)

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

RuntimeError: /Users/svc-dashboard/D/P/ITKPythonPackage/ITK-source/ITK/Modules/Core/Common/include/itkPointSet.hxx:190:

ITK ERROR: PointSet(0x60000270bb40): Point id doesn’t exist: 18446744073709551615

parameters are {‘pointDensity’: 1.0, ‘normalSearchRadius’: 2.0, ‘FPFHNeighbors’: 100, ‘FPFHSearchRadius’: 5.0, ‘distanceThreshold’: 2.0, ‘maxRANSAC’: 1000000, ‘ICPDistanceThreshold’: 1.5, ‘alpha’: 2.0, ‘beta’: 2.0, ‘CPDIterations’: 100, ‘CPDTolerance’: 0.001, ‘gridSpacing’: 1.0, ‘gridSpacingAuto’: False, ‘Acceleration’: False, ‘GeodesicKernel’: False, ‘GeodesicTau’: 0.2, ‘BCPDFolder’: ‘’}

:: Loading point clouds and downsampling

Scale length are 286.6114269804389 260.31233478037495

Voxel Size is 5.2111168541897985

Scaling factor is 1

Generic Warning: In vtkMath.cxx, line 778

vtkMath::Jacobi: Error extracting eigenfunctions

------------------------------------------------------------

movingMeshPoints.shape (4321, 3)

movingMeshPointNormals.shape (4321, 3)

fixedMeshPoints.shape (6465, 3)

fixedMeshPointNormals.shape (6465, 3)

------------------------------------------------------------

Traceback (most recent call last):

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 393, in onSubsampleButton

) = logic.runSubsample(

    ^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2827, in runSubsample

source_fpfh = self.get_fpfh_feature(

              ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2727, in get_fpfh_feature

fpfh.ComputeFPFHFeature(pointset, normalset, float(radius), int(neighbors))

File “/Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages/itk/itkPointFeaturePython.py”, line 632, in ComputeFPFHFeature

return \_itkPointFeaturePython.itkPointFeatureMF3MF3_ComputeFPFHFeature(self, input, input_normals, radius, neighbors)

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

RuntimeError: /Users/svc-dashboard/D/P/ITKPythonPackage/ITK-source/ITK/Modules/Core/Common/include/itkPointSet.hxx:190:

ITK ERROR: PointSet(0x60000270b3c0): Point id doesn’t exist: 18446744073709551615

parameters are {‘pointDensity’: 1.0, ‘normalSearchRadius’: 2.0, ‘FPFHNeighbors’: 100, ‘FPFHSearchRadius’: 5.0, ‘distanceThreshold’: 2.0, ‘maxRANSAC’: 1000000, ‘ICPDistanceThreshold’: 1.5, ‘alpha’: 2.0, ‘beta’: 2.0, ‘CPDIterations’: 100, ‘CPDTolerance’: 0.001, ‘gridSpacing’: 1.0, ‘gridSpacingAuto’: False, ‘Acceleration’: False, ‘GeodesicKernel’: False, ‘GeodesicTau’: 0.2, ‘BCPDFolder’: ‘’}

:: Loading point clouds and downsampling

Scale length are 286.6114269804389 260.31233478037495

Voxel Size is 5.2111168541897985

Scaling factor is 1

Generic Warning: In vtkMath.cxx, line 778

vtkMath::Jacobi: Error extracting eigenfunctions

------------------------------------------------------------

movingMeshPoints.shape (4321, 3)

movingMeshPointNormals.shape (4321, 3)

fixedMeshPoints.shape (6465, 3)

fixedMeshPointNormals.shape (6465, 3)

------------------------------------------------------------

Traceback (most recent call last):

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 393, in onSubsampleButton

) = logic.runSubsample(

    ^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2827, in runSubsample

source_fpfh = self.get_fpfh_feature(

              ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2727, in get_fpfh_feature

fpfh.ComputeFPFHFeature(pointset, normalset, float(radius), int(neighbors))

File “/Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages/itk/itkPointFeaturePython.py”, line 632, in ComputeFPFHFeature

return \_itkPointFeaturePython.itkPointFeatureMF3MF3_ComputeFPFHFeature(self, input, input_normals, radius, neighbors)

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

RuntimeError: /Users/svc-dashboard/D/P/ITKPythonPackage/ITK-source/ITK/Modules/Core/Common/include/itkPointSet.hxx:190:

ITK ERROR: PointSet(0x600002740e40): Point id doesn’t exist: 18446744073709551615

parameters are {‘pointDensity’: 1.0, ‘normalSearchRadius’: 2.0, ‘FPFHNeighbors’: 100, ‘FPFHSearchRadius’: 5.0, ‘distanceThreshold’: 2.0, ‘maxRANSAC’: 1000000, ‘ICPDistanceThreshold’: 1.5, ‘alpha’: 2.0, ‘beta’: 2.0, ‘CPDIterations’: 100, ‘CPDTolerance’: 0.001, ‘gridSpacing’: 1.0, ‘gridSpacingAuto’: False, ‘Acceleration’: False, ‘GeodesicKernel’: False, ‘GeodesicTau’: 0.2, ‘BCPDFolder’: ‘’}

:: Loading point clouds and downsampling

Scale length are 286.6114269804389 260.31233478037495

Voxel Size is 5.2111168541897985

Scaling factor is 1

Generic Warning: In vtkMath.cxx, line 778

vtkMath::Jacobi: Error extracting eigenfunctions

------------------------------------------------------------

movingMeshPoints.shape (4321, 3)

movingMeshPointNormals.shape (4321, 3)

fixedMeshPoints.shape (6465, 3)

fixedMeshPointNormals.shape (6465, 3)

------------------------------------------------------------

Traceback (most recent call last):

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 393, in onSubsampleButton

) = logic.runSubsample(

    ^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2827, in runSubsample

source_fpfh = self.get_fpfh_feature(

              ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2727, in get_fpfh_feature

fpfh.ComputeFPFHFeature(pointset, normalset, float(radius), int(neighbors))

File “/Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages/itk/itkPointFeaturePython.py”, line 632, in ComputeFPFHFeature

return \_itkPointFeaturePython.itkPointFeatureMF3MF3_ComputeFPFHFeature(self, input, input_normals, radius, neighbors)

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

RuntimeError: /Users/svc-dashboard/D/P/ITKPythonPackage/ITK-source/ITK/Modules/Core/Common/include/itkPointSet.hxx:190:

ITK ERROR: PointSet(0x600002737780): Point id doesn’t exist: 18446744073709551615

parameters are {‘pointDensity’: 1.0, ‘normalSearchRadius’: 2.0, ‘FPFHNeighbors’: 100, ‘FPFHSearchRadius’: 5.0, ‘distanceThreshold’: 2.0, ‘maxRANSAC’: 1000000, ‘ICPDistanceThreshold’: 1.5, ‘alpha’: 2.0, ‘beta’: 2.0, ‘CPDIterations’: 100, ‘CPDTolerance’: 0.001, ‘gridSpacing’: 1.0, ‘gridSpacingAuto’: False, ‘Acceleration’: False, ‘GeodesicKernel’: False, ‘GeodesicTau’: 0.2, ‘BCPDFolder’: ‘’}

:: Loading point clouds and downsampling

Scale length are 286.6114269804389 260.31233478037495

Voxel Size is 5.2111168541897985

Scaling factor is 1

Generic Warning: In vtkMath.cxx, line 778

vtkMath::Jacobi: Error extracting eigenfunctions

------------------------------------------------------------

movingMeshPoints.shape (4321, 3)

movingMeshPointNormals.shape (4321, 3)

fixedMeshPoints.shape (6465, 3)

fixedMeshPointNormals.shape (6465, 3)

------------------------------------------------------------

Traceback (most recent call last):

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 393, in onSubsampleButton

) = logic.runSubsample(

    ^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2827, in runSubsample

source_fpfh = self.get_fpfh_feature(

              ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2727, in get_fpfh_feature

fpfh.ComputeFPFHFeature(pointset, normalset, float(radius), int(neighbors))

File “/Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages/itk/itkPointFeaturePython.py”, line 632, in ComputeFPFHFeature

return \_itkPointFeaturePython.itkPointFeatureMF3MF3_ComputeFPFHFeature(self, input, input_normals, radius, neighbors)

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

RuntimeError: /Users/svc-dashboard/D/P/ITKPythonPackage/ITK-source/ITK/Modules/Core/Common/include/itkPointSet.hxx:190:

ITK ERROR: PointSet(0x6000027e4780): Point id doesn’t exist: 18446744073709551615

parameters are {‘pointDensity’: 1.0, ‘normalSearchRadius’: 2.0, ‘FPFHNeighbors’: 100, ‘FPFHSearchRadius’: 5.0, ‘distanceThreshold’: 2.0, ‘maxRANSAC’: 1000000, ‘ICPDistanceThreshold’: 1.5, ‘alpha’: 2.0, ‘beta’: 2.0, ‘CPDIterations’: 100, ‘CPDTolerance’: 0.001, ‘gridSpacing’: 1.0, ‘gridSpacingAuto’: False, ‘Acceleration’: False, ‘GeodesicKernel’: False, ‘GeodesicTau’: 0.2, ‘BCPDFolder’: ‘’}

:: Loading point clouds and downsampling

Scale length are 286.6114269804389 260.31233478037495

Voxel Size is 5.2111168541897985

Scaling factor is 1

Generic Warning: In vtkMath.cxx, line 778

vtkMath::Jacobi: Error extracting eigenfunctions

------------------------------------------------------------

movingMeshPoints.shape (4321, 3)

movingMeshPointNormals.shape (4321, 3)

fixedMeshPoints.shape (6465, 3)

fixedMeshPointNormals.shape (6465, 3)

------------------------------------------------------------

Traceback (most recent call last):

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 393, in onSubsampleButton

) = logic.runSubsample(

    ^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2827, in runSubsample

source_fpfh = self.get_fpfh_feature(

              ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2727, in get_fpfh_feature

fpfh.ComputeFPFHFeature(pointset, normalset, float(radius), int(neighbors))

File “/Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages/itk/itkPointFeaturePython.py”, line 632, in ComputeFPFHFeature

return \_itkPointFeaturePython.itkPointFeatureMF3MF3_ComputeFPFHFeature(self, input, input_normals, radius, neighbors)

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

RuntimeError: /Users/svc-dashboard/D/P/ITKPythonPackage/ITK-source/ITK/Modules/Core/Common/include/itkPointSet.hxx:190:

ITK ERROR: PointSet(0x60000276c600): Point id doesn’t exist: 18446744073709551615

parameters are {‘pointDensity’: 1.0, ‘normalSearchRadius’: 2.0, ‘FPFHNeighbors’: 100, ‘FPFHSearchRadius’: 5.0, ‘distanceThreshold’: 2.0, ‘maxRANSAC’: 1000000, ‘ICPDistanceThreshold’: 1.5, ‘alpha’: 2.0, ‘beta’: 2.0, ‘CPDIterations’: 100, ‘CPDTolerance’: 0.001, ‘gridSpacing’: 1.0, ‘gridSpacingAuto’: False, ‘Acceleration’: False, ‘GeodesicKernel’: False, ‘GeodesicTau’: 0.2, ‘BCPDFolder’: ‘’}

:: Loading point clouds and downsampling

Scale length are 286.6114269804389 260.31233478037495

Voxel Size is 5.2111168541897985

Scaling factor is 1

Generic Warning: In vtkMath.cxx, line 778

vtkMath::Jacobi: Error extracting eigenfunctions

------------------------------------------------------------

movingMeshPoints.shape (4321, 3)

movingMeshPointNormals.shape (4321, 3)

fixedMeshPoints.shape (6465, 3)

fixedMeshPointNormals.shape (6465, 3)

------------------------------------------------------------

Traceback (most recent call last):

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 393, in onSubsampleButton

) = logic.runSubsample(

    ^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2827, in runSubsample

source_fpfh = self.get_fpfh_feature(

              ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2727, in get_fpfh_feature

fpfh.ComputeFPFHFeature(pointset, normalset, float(radius), int(neighbors))

File “/Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages/itk/itkPointFeaturePython.py”, line 632, in ComputeFPFHFeature

return \_itkPointFeaturePython.itkPointFeatureMF3MF3_ComputeFPFHFeature(self, input, input_normals, radius, neighbors)

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

RuntimeError: /Users/svc-dashboard/D/P/ITKPythonPackage/ITK-source/ITK/Modules/Core/Common/include/itkPointSet.hxx:190:

ITK ERROR: PointSet(0x600002737780): Point id doesn’t exist: 18446744073709551615

parameters are {‘pointDensity’: 1.0, ‘normalSearchRadius’: 2.0, ‘FPFHNeighbors’: 100, ‘FPFHSearchRadius’: 5.0, ‘distanceThreshold’: 2.0, ‘maxRANSAC’: 1000000, ‘ICPDistanceThreshold’: 1.5, ‘alpha’: 2.0, ‘beta’: 2.0, ‘CPDIterations’: 100, ‘CPDTolerance’: 0.001, ‘gridSpacing’: 1.0, ‘gridSpacingAuto’: False, ‘Acceleration’: False, ‘GeodesicKernel’: False, ‘GeodesicTau’: 0.2, ‘BCPDFolder’: ‘’}

:: Loading point clouds and downsampling

Scale length are 286.6114269804389 260.31233478037495

Voxel Size is 5.2111168541897985

Scaling factor is 1

Generic Warning: In vtkMath.cxx, line 778

vtkMath::Jacobi: Error extracting eigenfunctions

------------------------------------------------------------

movingMeshPoints.shape (4321, 3)

movingMeshPointNormals.shape (4321, 3)

fixedMeshPoints.shape (6465, 3)

fixedMeshPointNormals.shape (6465, 3)

------------------------------------------------------------

Traceback (most recent call last):

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 473, in onRunRegistrationButton

self.sourcePoints, self.targetPoints, self.scalingTransformNode, self.ICPTransformNode, self.voxelSize = logic.ITKRegistration(

                                                                                                         ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/FastModelAlign.py”, line 757, in ITKRegistration

) = logic.runSubsample(

    ^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2827, in runSubsample

source_fpfh = self.get_fpfh_feature(

              ^^^^^^^^^^^^^^^^^^^^^^

File “/Applications/Slicer.app/Contents/Extensions-34645/SlicerMorph/lib/Slicer-5.12/qt-scripted-modules/ALPACA.py”, line 2727, in get_fpfh_feature

fpfh.ComputeFPFHFeature(pointset, normalset, float(radius), int(neighbors))

File “/Applications/Slicer.app/Contents/lib/Python/lib/python3.12/site-packages/itk/itkPointFeaturePython.py”, line 632, in ComputeFPFHFeature

return \_itkPointFeaturePython.itkPointFeatureMF3MF3_ComputeFPFHFeature(self, input, input_normals, radius, neighbors)

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

RuntimeError: /Users/svc-dashboard/D/P/ITKPythonPackage/ITK-source/ITK/Modules/Core/Common/include/itkPointSet.hxx:190:

ITK ERROR: PointSet(0x6000027ee340): Point id doesn’t exist: 18446744073709551615

I’m not familiar with the internals of that module, but this looks very wrong:

ITK ERROR: PointSet(0x600002707b40): Point id doesn’t exist: 18446744073709551615

Probably someone who know’s the code could check if there’s a datatype issue. Or if someone points their Claude at this I’ll bet it’s an easy fix.

Looks like one of your models has at least one vertex marked as NaN, and functions are failing because that.

Try this in your python window, and then rerun the FastModelAlign.

import numpy as np, vtk
m = getNode('MovingModel')
pts = slicer.util.arrayFromModelPoints(m)
bad = np.where(~np.isfinite(pts).all(axis=1))[0]
print(len(bad), "invalid vertices")
poly = m.GetPolyData(); poly.BuildLinks()
for i in bad:
ids = vtk.vtkIdList(); poly.GetPointCells(int(i), ids)
for k in range(ids.GetNumberOfIds()): poly.DeleteCell(ids.GetId(k))
poly.RemoveDeletedCells()
c = vtk.vtkCleanPolyData(); c.SetInputData(poly); c.Update()
m.SetAndObservePolyData(c.GetOutput())

ALPACA already detects and offers to fix these, I opened an issue to implement that for FastModelAlign too. Thanks for reporting.

Thanks both of you for your help

I tried your lines oc code and got this:

import numpy as np, vtk

m = getNode(‘MovingModel’)

pts = slicer.util.arrayFromModelPoints(m)

bad = np.where(~np.isfinite(pts).all(axis=1))[0]

print(len(bad), “invalid vertices”)

poly = m.GetPolyData(); poly.BuildLinks()

for i in bad:

ids = vtk.vtkIdList(); poly.GetPointCells(int(i), ids)

for k in range(ids.GetNumberOfIds()): poly.DeleteCell(ids.GetId(k))

poly.RemoveDeletedCells()

c = vtk.vtkCleanPolyData(); c.SetInputData(poly); c.Update()

m.SetAndObservePolyData(c.GetOutput())

File “”, line 8

ids = vtk.vtkIdList(); poly.GetPointCells(int(i), ids)

^^^

IndentationError: expected an indented block after ‘for’ statement on line 7

>>>

Looks like paste messed up indentations. Try this:

import numpy as np, vtk
m = getNode('MovingModel')
pts = slicer.util.arrayFromModelPoints(m)
bad = np.where(~np.isfinite(pts).all(axis=1))[0]
print(len(bad), "invalid vertices")
poly = m.GetPolyData(); poly.BuildLinks()
for i in bad:
    ids = vtk.vtkIdList(); poly.GetPointCells(int(i), ids)
    for k in range(ids.GetNumberOfIds()): poly.DeleteCell(ids.GetId(k))
poly.RemoveDeletedCells()
c = vtk.vtkCleanPolyData(); c.SetInputData(poly); c.Update()
m.SetAndObservePolyData(c.GetOutput())

Also make sure to replace the MovingModel with the actual name of the model failed in your tries.

Dear Murat, It worked, this time. The FastModelAlign runs smoothly with the 5.13.0. Do I have to run your lines of code each time I need to perform the fast align?
Thanks a lot for your kind help. Best regards.

Not unless you encounter the same error. Error is because there are degenerate surfaces on the model. This script removes them.

Got it, thanks a lot

Envoyé de mon iPhone