Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open
#64 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
45/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Stale
Tech stack
numpy, python
Domain
performance

Research direction

Start at src/atldld/base.py around line 319 and inspect DisplacementField.warp and how transformation is computed with np.meshgrid or np.indices. Compare repeated warps using the same field; done means an immutable DisplacementField reuses one computed transformation for both operations without changing warp results.

Written by the indexing model from the issue text.

Description

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
  • LRU cache
  • Explicit caching e.g. (self._tx, self._ty)
  • Optionally pass it in the constructor (assuming it was computed already)
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.

Dominant language
Python
Stars
17
Forks
8
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from BlueBrain/Atlas-Download-Tools

All issues in BlueBrain/Atlas-Download-Tools

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.