Hi all,
I’m using the ALPACA in SlicerMorph to register two cardiac models. However, when I clicked “Run ALPACA”, no results were shown. (see the screenshot below)
Here’s my steps:
- load two .stl files as the target and the source model
- use the “PseudoLMGenerator” to generate landmarks for the source model
- run ALPACA
And here is the output:
There’s an error jumped out:
Traceback (most recent call last):
File “F:/Slicer 5.2.1/NA-MIC/Extensions-31317/SlicerMorph/lib/Slicer-5.2/qt-scripted-modules/ALPACA.py”, line 448, in onRunALPACAButton
self.transformMatrix = logic.estimateTransform(self.sourcePoints, self.targetPoints, self.sourceFeatures, self.targetFeatures, self.voxelSize, self.ui.skipScalingCheckBox.checked, self.parameterDictionary)
File “F:/Slicer 5.2.1/NA-MIC/Extensions-31317/SlicerMorph/lib/Slicer-5.2/qt-scripted-modules/ALPACA.py”, line 1325, in estimateTransform
ransac = self.execute_global_registration(sourcePoints, targetPoints, sourceFeatures, targetFeatures, voxelSize,
File “F:/Slicer 5.2.1/NA-MIC/Extensions-31317/SlicerMorph/lib/Slicer-5.2/qt-scripted-modules/ALPACA.py”, line 1445, in execute_global_registration
evaluation = registration.evaluate_registration(target_down, source_down, distance_threshold, np.linalg.inv(result.transformation))
File “<array_function internals>”, line 180, in inv
File “F:\Slicer 5.2.1\lib\Python\Lib\site-packages\numpy\linalg\linalg.py”, line 552, in inv
ainv = _umath_linalg.inv(a, signature=signature, extobj=extobj)
File “F:\Slicer 5.2.1\lib\Python\Lib\site-packages\numpy\linalg\linalg.py”, line 89, in _raise_linalgerror_singular
raise LinAlgError(“Singular matrix”)
numpy.linalg.LinAlgError: Singular matrix
Does anyone have any ideas why the ALPACA is not working? Thanks in advance!
Best,
Gening