# FIducial Registration Wizard through Python Interactor

**URL:** <https://discourse.slicer.org/t/fiducial-registration-wizard-through-python-interactor/13641>\
**Category:** Support\
**Created:** [September 23, 2020, 4:44am UTC](https://discourse.slicer.org/t/fiducial-registration-wizard-through-python-interactor/13641 "2020-09-23T04:44:06Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![Vincebisca](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/vincebisca/32/10722_2.png) [@Vincebisca](https://discourse.slicer.org/u/Vincebisca)\
**Post date:** [May 19, 2021, 12:41pm UTC](https://discourse.slicer.org/t/fiducial-registration-wizard-through-python-interactor/13641/6 "2021-05-19T12:41:24Z")

</div>

No indeed I didn’t, but then Fiducial Registration Wizard is not the same as the Fiducial Registration module that there is on the classic version of Slicer? Because that is the one I wish to use.

Searching a bit, I found that the following code works to create a transform from 2 lists of fiducials :

```
transformNode = slicer.mrmlScene.AddNewNodeByClass("vtkMRMLLinearTransformNode")
transformNode.SetName("Registration Transform")
parameters = {}
parameters["saveTransform"] = transformNode.GetID()
parameters["movingLandmarks"] = self.VariableMarkupsNode.GetID() # fiducial points
parameters["fixedLandmarks"] = self.FixedMarkupsNode.GetID() # fiducial points
fiduciaReg = slicer.modules.fiducialregistration
slicer.cli.runSync(fiduciaReg, None, parameters) # run the registration

```

Precision : the code is not mine, I found it [here](https://discourse.slicer.org/t/automate-fiducial-registration/3061/5).

I have now to find how to apply the transform to the volume I wish to move

---

_[View the full topic](https://discourse.slicer.org/t/fiducial-registration-wizard-through-python-interactor/13641)._
