Grooming doesn't seem to compute proper global alignment when using command line interface
I have a multi-domain project consisting of three pelvis parts (left/right ilium + sacrum) and a .swproj project that is used to run a global alignment on those shapes. The shapes are groomed individually beforehand to close holes, resample, clean and smooth the surfaces.
When I run the grooming step via command line, the alignment_{1,2,3,global} matrices are added to the swproj, but the alignment_global matrix doesn't seem to be correct. If I take the same project and run it in Shapeworks Studio however, the alignment_global matrix is set properly.
For reference, here are the .swproj :
Before grooming : joint_model_alignment - before groom.json After grooming via command line: joint_model_alignment - after groom.json After grooming via studio: joint_model_alignment - after sw studio.json
We can see that the global_alignment is different between the two grooming versions.
Note that the command line grooming is launched on Linux with Shapeworks version "6.5.0-dev" and the grooming via Studio is launched on Windows with Shapeworks version "6.6.1". I can't update the Linux's shapeworks for the moment for technical reasons, so if this is the problem I will run grooming on Studio, copy the project back to the linux machine to run optimization. While not ideal at least it'd work.
The difference is almost certainly the version (6.5.0-dev vs 6.6.1) and not Studio vs command-line. The code is very much set up such that Studio's grooming does the same thing as shapeworks groom.
Would it be possible to upgrade to at least 6.5.1 on your linux system? The 6.5.1 release notes page says:
- Fix VTK Python version for windows (https://github.com/SCIInstitute/ShapeWorks/issues/2308)
- Fix some alignment issues in grooming
- Fix crash during ICP alignment with multiple domains
Closing unless there is anything further