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

Determine `donwsample_img` automatically

Open
#51 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
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
numpy, python
Domain
data

Research direction

Start at download_parallel_dataset and inspect how downsample_ref, downsample_img, image shape, and API metadata are handled for image id 101349501. Evaluate the proposed integer formula against refspace_shape and the download API's supported maximum; done means downsample_img is inferred safely while avoiding synchronization artifacts and unsupported values.

Written by the indexing model from the issue text.

Description

In download_parallel_dataset one can specify both the downsample_ref and downsample_img manually. However,
it might be very useful to imply a reasonable downsample_img from the selected downsample_ref and the resolution of a given image (can be found in the API metadata).

Intuitively, the following should be true to avoid artifacts in the synchronized image

img_shape / (2 ** downsample_img) > refspace_shape / downsample_ref

At the same time, we want the downsample_img to be as large as possible to make the download fast + avoid wasting disk space.

So specifically let's take a section image id = 101349501. It comes from a coronal dataset and has a shape of (4344, 5096). As usually, we set downsample_ref to 25.

Therefore

refspace_shape = (8000, 11400)
downsample_ref = 25

img_shape = (4344, 5096)
downsample_img = x  # we want to solve for this and it must be an integer

Just using the above unequality one proposition could be

downsample_img < log_2((min(img_shape) * downsample_ref) / max(refspace_shape)))

So the below formula could work?

int(np.log2((min(img_shape) * downsample_ref) / max(refspace_shape)))
3

I checked the synchronized image and there seem to be no artifacts.

Finally, we should be also careful about downsample_img being too high because the image download API does not support high values.

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.