Replies: 6 comments
-
|
It has been suggested to use distance transforms rather than binary masks directly (though the payoff here may depend on metric) https://discourse.itk.org/t/mutual-information-metric-in-registration/3812 CC is an expensive metric to compute. You can reduce the burden somewhat by using metric masks. But Mean Squares may work as well. May I ask what the use case of this is? You may also need to think about regularization because there's not very much information besides the exterior edge |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Just putting it out there in case you start using more than one label and are open to using the ANTsPy extension, there's always our ants.label_image_registration tool. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the recommendation to use Mean Squares. Using it only on the SyN step (of my Rigid, Affine, SyN approach) squeezed a few percentage improvement in the dice score. This binary to binary transform later gets applied to a 70+ labelmap. The warps look reasonable and not too overly aggressive. ntustison, is the python script you recommended for mask to mask using Mean Squares for the SyN step under the hood? |
Beta Was this translation helpful? Give feedback.
-
|
Yes. I think there's a definite trade-off with using the signed distance transform and with this originally designed with 10s of labels per image in mind, I prefer using binary masks with MSQ. |
Beta Was this translation helpful? Give feedback.
-
|
Looping back to this thread as my project evolves. So as stated, I am moving a single-label atlas volume to a single-label fixed volume (my experimental tissue). Thanks to your suggestion, I am having great results using Mean Squares as my metric (registering using the ANTs extension in 3d Slicer). In an attempt to improve registration robustness, I started incorporating fixed and moving masks, but this is yielding some unexpected results. The affine transform with the fixed mask alone looks very reasonable; but if I add a moving mask to this same affine configuration (along with the fixed) the registration is much poorer. The largest components of a "healthy" affine transform are a Z translation (shift) and a Z scaling (expansion). Something about showing the moving mask loses this info. As a test, I included a 2nd dummy affine stage (following the correct/complete one), where there are zero convergence steps, but the two masks are shown, and this somehow changes the 3-3 matrix value (Z scaling factor) from 1.2 (ideal) to ~1. If this dummy step only has the fixed mask, this "affine erasure" doesn't happen. I know this could be tricky without you knowing the exact shape and sizes of the fixed and moving masks (relative to the F and M volumes), but I wonder if this problem has anything to do with the challenges of mask to mask registration--hence why I am posting here... But I also intend to post a more general question on this with more details. Perhaps someone will just tell me this is a slicer error. Really appreciate your help. Cheers |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
I am running ANTs within the 3D Slicer extension, but I feel my question is relevant to any ANTs users. I want to squeeze out more edge accuracy for the alignment of two binary masks. With the following attached parameters (default Quick SyN is slicer; rigid, affine, Syn) I am able to get fairly acceptable result. Each image stack is roughly 500x500x2000 (XYZ) and this runs in about 20 minutes. When I change the SyN parameters (sigma, shrink, sampling, etc) this seems to only worsen performance. I'm now tempted to change the "metric" from MI to something else (options in image below). So far CC takes forever to run (>10 hrs without completing) and PSE crashes. Can anyone propose a new .json configuration that that squeeze out better performance? I'm willing to wait a few hours to run if that's what it takes. Also, I'm a beginner, so any general advice is also greatly appreciated.
Thanks!
QuickSyN.json

Beta Was this translation helpful? Give feedback.
All reactions