How to skip alignments during para to spharm mesh

Hello, I’m using 3D Slicer and SPHARM extentions.

I tried making surface ssm with tibias. To apply this methods, I align all models before using SPHARM(picture on right).

However, while SPHARM module is running, the alignments were changed.
(the picture on the left is result of alignment which is done by SPHARM module)
I tried to run with using registration templetes but the results were same.

So, I want to know if it can do SPHARM mesh generation without doing align again(suppose the models are all aligned already like picture on the right)

Thank you for read this question.!
Screenshot from 2020-01-17 14-33-35|690x391

Regards,
Jeongseok

Operating system: ubuntu 16.04
Slicer version: 4.10.2
Expected behavior:
Actual behavior:

Hello,

I tried making surface ssm with tibias. To apply this methods, I align all models before using SPHARM(picture on right).

However, while SPHARM module is running, the alignments were changed.
(the picture on the left is result of SPHARM module’s doing alignment)
I tried to run with using registration templetes but the results were same.

So, I want to know if it can do SPHARM mesh generation without doing align again(suppose the models are all aligned already like picture on the right)

Thank you for read this question.

Regards,
Jeongseok

Hi Jeonseonk

Sorry to hear you are having trouble.
What output files are you showing in that display? What is the suffix appended by the module?

Thanks,
Bea

The left side is capture of __surf_SPHARM_ellalign.vtk s and colormap attribute was paraPhi , and right side is of __surf_SPHARM.vtk s.

I’m using 3D slicer, so I didn’t use command lines. I changed iteration numbers, subdivision levels and registration templete options. As I mentioned above, I tried without templete option too but it doesn’t changed. I also tried flip option but it was not really good.

Thank you,
Jeongseok.

Hi,

First, you need to work only with the *surf_SPHARM.vtk cases. In those (that right now are flipped), you will need to manually enforce flips (see pp. 44 in the SPHARM tutorial) since some of your tibias are wider in the upside than the downside.

This will mean identifying those cases that are flipped and enforce the right alignment for those cases.
When you recompute those flips then you will be able to use the *ellalign.vtk cases.

Hope that helps!
Bea

Hi,

Thank you for your suggestion. However, I have some more questions.

  1. Can I skip alignment process?
    Either I use flip or not, it seems like that do ellipsoid align to find poles and then make the mesh, and after this process, multiply the inverse of transformation matrix to go back to original location. It might be the *surf_SPHARM.vtk s. The figures are results with some flip options but no flip to 1~6th models, but alignments are changed and the *surf_SPHARM.vtk s are also affected by that… So I take care about ellalign things and try to find skipping alignment process.

  1. Is GenParaMesh process necessary to solve this problem? I’m now thinking this can occur because from GenParaMesh process also affected with alignments that I didn’t expect. I didn’t check ‘Overwrite’ options in GenParaMesh process so that I can use existing files.

If I have wrong concept, please let me know.

because english is not native language, I couldn’t explain simple and clear. Please understand me.
Thank you for your help.
Jeongseok

Hi Jeongseok

For what i see, the only way you will be able to use all your data is to flip certain cases (for what i can see 11B07, 11b09, 11B21, 11B23 and 11B24). The flip process is very fast, it only re-runs paratospharmmesh. What i would do is:

  1. First generate all possible flips for one of those cases, just to find the right flip for your data.
  2. Once the right flip has been identified, run it for all the cases that require flipping.

We incorporated all of this in the new module to make it easier, before we used bash scripts that just re-run ParaToSPHARMMesh. Let me know if you rather use that.

HTH
Bea

1 Like