BlueBrain / Atlas-Download-Tools

Search, download, and prepare brain atlas data.
https://atlas-download-tools.rtfd.io
GNU Lesser General Public License v3.0
17 stars 7 forks source link

Avoid recomputatation of `transformation` inside of `DisplacementField.warp` #64

Open jankrepl opened 3 years ago

jankrepl commented 3 years ago

Whenever one calls warp the transformation needs to be computed from the displacements.

https://github.com/BlueBrain/Atlas-Download-Tools/blob/60f0221916f4f9987a4728807be0b37934784cd0/src/atldld/base.py#L319

This operation requires np.meshgrid or np.indices and can be costly for big shapes. Anyway, the DisplacementField should be immutable and it should be enough to compute the transformation once.

Some ideas

Why relevant?

The primary example is when we download both the section and the expression image. We use the same DisplacementField to warp them, however, transformation is computed twice.