I’m on the preview release version (4.13) and I’m using the Slicer Elastix module to perform non-rigid registration in the 4D CT dataset of lungs. Firstly, I tried to use the default preset (rigid + bspline parameters) with success since the warped volume was correctly aligned with the reference volume.
Even so, since the patient’s anatomy is nearly the same over the breathing phases (the movement is predominantly in the lungs and diaphragm), I just want to use b-spline parameters. To do so, I added the ‘par0007’ preset to the parameter file database (http://elastix.bigr.nl/wiki/index.php/Par0007) which seems to be more suitable for my data type. However, when I tried to run the registration, I got the following message regarding the last parameter file (Parameters.MI.RP.Bspline_tuned.txt):
Running elastix with parameter file 2: “C:\Users\MIM\AppData\Roaming\NA-MIC\Extensions-29506\SlicerElastix\lib\Slicer-4.13\qt-scripted-modules\Resources\RegistrationParameters\Parameters.MI.RP.Bspline_tuned.txt”.
Current time: Sun Dec 20 15:13:23 2020.
Reading the elastix parameters from file …
MattesMutualInformationWithRigidityPenalty(index 3) - This component is not installed!
ERROR: error occurred while creating Metric 0.
Description: itk::ERROR: itk::ERROR: ElastixMain(00000000022942B0): The following component could not be created: MattesMutualInformationWithRigidityPenalty
One or more components could not be created.
vtkDebugLeaks has found no leaks.
Command ‘elastix’ returned non-zero exit status 1.
Traceback (most recent call last):
File “C:/Users/MIM/AppData/Roaming/NA-MIC/Extensions-29506/SlicerElastix/lib/Slicer-4.13/qt-scripted-modules/Elastix.py”, line 335, in onApplyButton
forceDisplacementFieldOutputTransform = self.forceDisplacementFieldOutputChecbox.checked)
File “C:/Users/MIM/AppData/Roaming/NA-MIC/Extensions-29506/SlicerElastix/lib/Slicer-4.13/qt-scripted-modules/Elastix.py”, line 807, in registerVolumes
File “C:/Users/MIM/AppData/Roaming/NA-MIC/Extensions-29506/SlicerElastix/lib/Slicer-4.13/qt-scripted-modules/Elastix.py”, line 728, in logProcessOutput
raise subprocess.CalledProcessError(return_code, “elastix”)
subprocess.CalledProcessError: Command ‘elastix’ returned non-zero exit status 1.
Does anyone know why this is happening? and how to fix it?