Obviously, the patching result falls short of expectation. I guess this is due to the inappropriate selection of Landmark set, where instead of selecting a set of landmarks, I only selected landmark 1. I followed the Youtube tutorial but this tutorial imported landmarks digitized elsewhere rather than producing fixed landmarks inside SlicerMorph. How can I patch semilandmarks based on fixed landmarkd digitized in SlicerMorph?
Method 2: I followed the video tutorial above and digitized landmarks 1 to 4 in Avizo. I then tried to create a fcsv file for import into SlicerMorph. Strangely, when I load the fcsv file into SlicerMorph, the four landmarks do not appear where they are expected to lie. Actually, they are hidden inside the bony structures. However, I checked in R and I am sure that there is no issue with the coordinates.
I am therefore wondering if I am not making the correct format for the fcsv file. I did not file what is the format that landmarkd digitized externally should be imported. If it is fcsv, what should the format be like.
BTW, I have got a further question on how to obtain the pairing information for semilandmarks created. Using the example form the youtube video:
Landmark 36 and 37 are paired landmarks on right and left side. Similarly, semilandmark A and B are paired. While it is straightforward to keep a record that lm 36 and 37 are bilaterally corresponding landmarks, I wonder how could we extract such pairing information for semilandmarks?
Such pairing information is needed for both the geomorph and Morpho R package to implement GPA for specimens with object symmetry.
Also we renamed the modules to reflect their functions better. SemiLandmark module is now called CreateSemiLMPatches. This module will create triangular patches based on the three fixed landmarks you specified. The nasal area has a lot of curvature changes so you will need to play with the advanced features (maximum projection and smoothing of the projection vectors) to get a triangular patch of points (right now you are only seeing a line, I suspect all other rows ended up in side the model). It also takes a few iterations to find the ideal triangulation pattern that works for your needs.
There is currently no way to make distinguish left and right pairs of semi-landmarks created this way.
As for why your points from Avizo doesn’t show up correctly in Slicer, I suspect that’s a coordinate issue. Slicer assumes models to be saved in LPS coordinate system. If this is not what Avizo does, that might explain the issue. You can specify the coordinate system for the model to be RAS and see if that helps. If that still doesn’t solve the issue, please send me a PLY model saved out of Avizo and coordinates of four landmarks as shown in avizo (a text file would suffice, do not try to convert them to fcsv), and I can take a look.
In general, if you do both your digitization and analysis in SlicerMorph, you won’t have to worry about this coordinate change issue.
Actually looking more closely to your screenshot, now I see what might have gone wrong. You have created each fiducial as a separate node. Instead you want to have single fiducial node that stores all those four points. @smrolfe can we limit the numbers to be legitimate entries?
This is one of the Slicer gotchas. There are two icons that look almost identical but have different functions. The top red box is the fiducial placement only. It will keep adding new fiducials to the currently active fiducial node. Whereas the second button (same icon with the little + sign) will simultaneously both create a new fiducial node and place the first point in. The second time you click this icon, it will create a second node and assign the newly created point this node. What you really want to use is the icon in the top row.
@lassoan we really have to do something about this as this is confusing to almost everyone starting to use Slicer first time to do landmark. May be we can try to come up with different icons for these two functions?
I agree that changing the icons could help. We should remove the arrow from the create new node icons and add multiple points for the markup fiducial icon. Please send a pull request with the proposed change.
We should also put a place point button prominently in the Markups module GUI. Maybe in the Control points section?
Thank you Prof. Murat and everyone else. I am expecting the incorporation of plane of symmetry into PseudoLMGenerator. That will allow for GMM analysis of degree of symmetry of specimens.
Following your recommendations, I also learned ALPACA. In your preprint paper, you described the step in which the predicted landmarks are projected to the target surface mesh as “final and optional”. I would like to ask:
How to technically perform this optional step in SlicerMorph module in 3D Slicer? I did not seem to find a button for such projection. I could only see “Run CPD non-rigid registration” and “Show registered source model”.
For downstream GMM analysis, is it preferrable to perform or not to perform this “final and optional” step?