If you need to acquire more than a few landmarks or you need to capture landmark points regularly then there are several much better options. Without knowing your constraints - how often you need to do this, how many points, how much time you have, how reliable your tools are, do you need to do it during a surgery or just in a lab, etc. - I cannot make a recommendation, just list a few techniques that we used over the years.
First of all, the “two clicks”. You can capture any number of transforms (and images, and state of any other nodes) using snapshot feature of Sequences module. Once you captured the transforms you need, you can either step through your recording and place points manually, or write a few-line Python script that does this automatically.
If Fiducial registration wizard module is already almost exactly what you need and the only problem is that you need to click twice then we could add a “Place From and To” button to capture both positions a the same time (I remembered that we added this button already, but I’ve just checked the module and apparently it is not there).
Reaching for a mouse and clicking it while holding tools is certainly inconvenient, but there are several easier ways to trigger capturing of transforms or landmarks.
- Foot switch or handheld wireless button
If you need to acquire a lot of points with both hands holding instruments then you can use a USB foot switch that can simulate keypress or mouse click events. Alternatively, you can attach a presentation clicker to the stylus or use a ring mouse so that you can trigger a snapshot while holding the tool.
- Automatic landmark point detection
If you only have a limited landmarks points to acquire (so they need to have higher accuracy and you have more time to record them) or foot pedal or ring mouse is not usable (e.g., due to sterility requirements) then you can use an automatic landmark point detection algorithm. We developed one that detects when you pivot the stylustip around a point for a certain amount of time and records it as a new point (if you move the stylustip or you just keep the stylus stationary then it does not record a point). The implementation is available here. If you want to use it in Slicer then probably the easiest way would be to move it to IGSIO library and expose it as a Slicer module, similarly to the volume reconstructor module.
- Record and replay
In recent years, we often use Sequences module to record a live video feed with a webcam, live ultrasound images, and all tracking transforms, etc. After this we can put down all the tools and just replay the data, find the frame we need (where we saw the stylus was held at the right location), and add landmarks there. It is also a good way of documenting the data collection, which is useful for quality control later (e.g., if accuracy is not good then you can go back and review everything to figure out what went wrong). See the U-37 SlicerIGT tutorial and associated sample data sets for an example.