Can I speed up ALPACA?

Hi,

I have around 7500 landmarks, and now I would like to use ALPACA to get other subjects’ landmarks. I have in total of 50 subjects, but the current problem is the processing is very slow and takes so long time for even one subject.
Kindly ask here if anyone know there are methods to speed up the ALPACA process?

Best regards,
Chuan

You can disable the projection which sometimes slows down things.

ALPACA is already fairly optimized. You can use the Bayesian coherent drift implementation to speed up the deformable registration, but unless you are on windows, it needs to be built from the source. See the instructions on how to get bcpd from the repo and once you have it built, enable it in alpaca (check acceleration option and locate where the executable is):

Having said that 7500 landmark is very large. Even loading and interacting with them in 3D Slicer as is will be slow. Also more importantly, when we extract point clouds in ALPACA to do the point cloud registration, we typically aim for 5000-8000 points (see our paper). So make sure your point cloud densities are not less than the landmarks you are trying to register.

If your goal is to establish dense point clouds of semi landmarks, instead of trying to speed up ALPACA, take a look at our DeCa tool: GitHub - smrolfe/DeCA: Dense Correspondence Analysis (DeCA) toolkit. It is not finished yet, and finess, but functional. You need a handful of landmarks (10-12) to align the models rigidly, then you can extract as many points as you like from the template, and then use the DeCaL module to transfer them to the samples. Here is the paper.

https://www.researchgate.net/publication/375111739_DeCA_A_Dense_Correspondence_Analysis_Toolkit_for_Shape_Analysis

1 Like

Hi,

Thank you very much for your reply, especially for the point cloud density. I am using bactch processing, and there is no info showing the point density. Does it mean it uses the default setting?

Best regards,
Chuan

Hi Muratmaga,

Just have a random thought suddenly, but I’m not sure if it’s right. What do you think if I use the bottom-layer python of ALPACA directly instead of using GUI for batch process? Do you think it will be more faster because now it always shows the GUI has no response and stuck.

I assume it will be easy to use python for batch process of ALPACA, because there are only four parameters I need to fill in the GUI.

Best regards,
Chuan

If you have more than one sample, you should definitely use the Batch mode. But if you have only one pair of samples, it probably wouldn’t save you too much time, but you can definitely try.

Thank you, you saved my time.