Hi, This is actually a continuation of a previous question. I was trying to build a new sequence using segmented .stl files. But when I load them onto slicer as separate STL files, they get overlapped on one another on 3 D view. As this segments show motion of the same structure ultimately after loading 10 STL models I get a hugely distorted view of the original structure- combining all the possible positions of that.
Could ypu kindly advise please. I am planning to register these segmented models using elastix as a sequence.
Load the models as individual nodes and create a sequence from them as explained here: https://www.slicer.org/wiki/Documentation/Nightly/Extensions/Sequences#Creating_sequences_from_a_set_of_nodes
You can then delete the individual nodes and just keep the sequence node.
Elastix is for image registration, so you cannot directly use it to register surface meshes.
One possible approach is to convert surface meshes to distance map images and use image registration on them. This is implemented in Segment Registration extension, so you can use that or take some ideas from that to implement your own module.
Another approach is to remain in the surface mesh domain and use SlicerSALT shape analysis modules.
What is your goal? Would you like to compute a transform sequence? What do you plan to use that for?
Thanks, Prof Lasso, @lassoan. Yes I am trying to compute a transform sequence. And then use markers to compute the displacement of the points on he surface mesh.
Thanks for your input.
Will try the segment registration module.
If you can identify corresponding landmark points then you don’t need to use Elastix or surface registration but you can go with simple landmark registration. There are a couple of modules available for that in Slicer but I would recommend SlicerIGT’s “Fiducial registration wizard” module for this use case.
You can either register each pair of markup point lists manually or write a short Python script. Once you have computed all the transforms, you can put them in a sequence and apply it to your model sequence.
Thanks a lot Prof. Lasso @lassoan.
Unfortunately there are no clearly identifiable landmarks. And the number of models is in the range of 10-20 that I want to register, each depict motion within a fraction of a second.
So I think the first solution will probably be the answer
I am afraid I cannot add more than one node as the proxy node. Prof lasso @lassoan could you kindly let me know whether I am doing something wrong. I ve attached a screenshot
You can ignore the warnings, a spacing difference of about 0.001mm should be negligible.
I would recommend to first just try the registration method between two timepoints, without involving sequences. Once you confirmed what processing steps are needed and everything works well, we can find the best way to automate it.