# ROI Registration Non-Functional

**URL:** <https://discourse.slicer.org/t/roi-registration-non-functional/14509>\
**Category:** SlicerCMF\
**Tags:** registration\
**Created:** [November 9, 2020, 5:02pm UTC](https://discourse.slicer.org/t/roi-registration-non-functional/14509 "2020-11-09T17:02:04Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ahopf](https://avatars.discourse-cdn.com/v4/letter/a/b9bd4f/32.png) [@ahopf](https://discourse.slicer.org/u/ahopf)\
**Post date:** [November 9, 2020, 5:02pm UTC](https://discourse.slicer.org/t/roi-registration-non-functional/14509/1 "2020-11-09T17:02:04Z")

</div>

I am trying to use ROI registration (within the surface registration module) to register two .ply models based on an overlapping section of the models after fiducial registration (which gave close pre-alignment).

![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/c/c/cc196bd0308f078730d39b4285ca845fe6ceabfc.jpeg)

I have placed the fiducials to border the overlapping region with both the markups module and the built-in landmark functionality in the ROI registration module.

After placing the fiducials and setting an output transform, the module does not run to completion/register the models when I click compute (a previous attempt turned the models blue but also did not work).

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/a/4/a4c3342378d5a5d79f52c7628afbb0e8e80059b3.png)  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/f/3/f389f79085ad9a1bb9ffc79e5f14cc7a978dc1c2.png)

Error log:

Traceback (most recent call last):  
File “C:/Users/socce/AppData/Roaming/NA-MIC/Extensions-28257/CMFreg/lib/Slicer-4.10/qt-scripted-modules/SurfaceRegistration.py”, line 331, in onComputeButton  
self.applyROIRegistration(outputTrans)  
File “C:/Users/socce/AppData/Roaming/NA-MIC/Extensions-28257/CMFreg/lib/Slicer-4.10/qt-scripted-modules/SurfaceRegistration.py”, line 386, in applyROIRegistration  
fixedROIPolydata = self.logic.getROIPolydata(self.inputFixedLandmarksSelector.currentNode())  
File “C:/Users/socce/AppData/Roaming/NA-MIC/Extensions-28257/CMFreg/lib/Slicer-4.10/qt-scripted-modules/SurfaceRegistration.py”, line 673, in getROIPolydata  
activeLandmarkState = landmarkDescription[markupID]  
KeyError: ‘vtkMRMLMarkupsFiducialNode\_25’
