How to load landmarks?

Hello,
I have been using the landmark registration tool in 3D slicer. I started this registration yesterday and would like to refine the registration today by adding more landmarks. However, when I opened my saved file, I can see the landmark “fiducials” file, but I cannot get any of the landmarks to load. Could you tell me how to load them?
Many thanks!

What Slicer version do you use? Does the content of your .fcsv files look valid? Can you load them using File / Add data?

We are using version 4.10.2. Our fcsv file does not seem to have any coordinates saved.

After closing the program, is this information gone from the project file or does 3D slicer keep these landmarks internally?

Thank you!

Slicer only saves markups fiducial point coordinates in the .fcsv file.

Can you reproduce the problem using Slicer-4.10.2 and latest preview release?

Sorry, I don’t understand what you mean by the preview release. We are using version 4.10.2. But if I am understanding correctly, you are saying that we must save the landmarkers separately (not just the project file) to be able to access them again. Is this correct?

Thank you!

Screenshot from 2020-02-06 11-46-34

Ahh okay, we did not see this. We will download soon! Thank you so much!!

Using 3D sliver 4.10.2, we were able to solve our problem with the landmarks. They are now loaded and we would like to apply the thinplate registration .

We tried to generate the transformation grid and we believe that we have been successful with this. However, when we try to save the transformation grid, we get an error that states we are unable to save the grid.

When we try to apply the transformation grid (the grid generated by the landmark registration, not the one that was unsuccessfully saved) by using “Resample Scalar/Vector/DWI Volume,” we get a message that the “Resample Scalar/Vector/DWI Volume stopped working. Do you want to end the program.”

Do you have any suggestions for how we can solve this? We are new to this software and cannot understand what we are doing wrong. We are very thankful for your help!

Probably the reason is given in the application log. The problem may have been fixed in more recent Slicer versions.

Inability to save the transform may be the root cause. You can also apply a transformation by hardening the transform on the selected node in Transforms module.

Thank you so much for the quick reply. We did download version 4.11.0 but when we opened the file and tried landmark registration, the resulting registration was completely off. I am not sure if somehow the landmarks changed/were misaligned in the new version, but we could not use the registration at all in the. This is why we did not continue with the new version.

Yes, the LandmarkRegistration module is very broken in the current nightly. It hasn’t been updated and I guess I’ll disable it until there are resources to work on it (I just haven’t had time to dig in).

[Edit - it will be off for now]

@pieper Could you transfer the Landmark registration repository to Slicer organization? That way it would be easier to make changes right away when we make changes in Slicer core.

You can use “Fiducial registration wizard” module in SlicerIGT extension. “Landmark registration” is optimized for tuning slight alignment differences in images, while “Fiducial registration wizard” is a general-purpose landmark registration module, but both can be used to get the job done.

Okay, done. I started looking for fixes a couple times but didn’t have time to finish. If we can sort out some core issues the rest is probably not hard. I think the main thing is adapting to the fiducial creation and placement events.

Maybe also we can think of a more robust way to differentiate the concepts of fiducial (a fixed point in space) from the concept of landmark (corresponding points on multiple data objects). A lot of the custom-code in LandmarkRegistration is about making sure that landmarks are only visible on the datasets to which they belong using naming conventions, but there could be better ways.

We tried to use the “Fiducial registration wizard” module in the SlicerIGT extension, but were unable to figure out how to properly place the landmarks. It seems that if you moved xy in one image, it moved xy in the second image as well. Only z was able to be manipulated differently in the two images. To register our images, we must be able to manipulate xyz.

We played more with the landmark registration in version 4.10.2 and were finally able to get this to work. It seems that there is a limit to the number of landmarks you can use. Our original file had 51 landmarks and with this, we could not create the transformation grid. We cropped the image and have continued to use under 30 landmarks and were able to load and apply the transformation grid. So, we believe that the problem is that there is a limit to the number of landmarks that can be used to successfully produce the transformation grid.

Many thanks for all of your help and suggestions! We will look out for the landmark registration in version 4.11 when it is ready.

You can drop the landmarks in any view (including volume rendered surfaces in 3D view). If you use a recent Slicer Preview Release then you can click on a point to show it in all views and then drag-and-drop it in any of the views (this is how you move it between slices, not just within a slice).