BrownBiomechanics / SlicerAutoscoperM

This 3D Slicer extension enables users to perform image registration.
https://autoscoperm.slicer.org
MIT License
0 stars 3 forks source link

PERF: Update Autoscoper to include PSO optimization #69

Closed jcfr closed 8 months ago

jcfr commented 8 months ago

Refactor the Particle Swarm Optimization (PSO) implementation by introducing a specialized Particle data structure alongside a particle collection. This structure allows us to efficiently manage and track computed Normalized Cross-Correlation (NCC) values for each particle. As a result, we now evaluate each particle only once per iteration, as opposed to between 2 and 5 times in the worst-case scenario.

This optimization has led to a remarkable reduction in per-frame execution time on a typical workstation using the OpenCL back-end, dropping it from the range of 9 to 18 seconds to a much-improved 3 to 6 seconds.

List of changes:

$ git shortlog 73eb359dc..4bdedd802 --no-merges
Anthony Lombardi (1):
      PERF: Introduce particle data structure for PSO