Skip to content

Instructions for uploading V3 atlases to AWS - #504

Draft
IgorTatarnikov wants to merge 2 commits into
mainfrom
aws-instructions
Draft

Instructions for uploading V3 atlases to AWS#504
IgorTatarnikov wants to merge 2 commits into
mainfrom
aws-instructions

Conversation

@IgorTatarnikov

@IgorTatarnikov IgorTatarnikov commented Jun 2, 2026

Copy link
Copy Markdown
Member

Before submitting a pull request (PR), please read the contributing guide.

Please fill out as much of this template as you can, but if you have any problems or questions, just leave a comment and we will help out :)

Description

What is this PR

  • Bug fix
  • Addition of a new feature
  • Other

Why is this PR needed?
brainglobe-atlsapi V3 uses AWS to host the atlases. The current instructions refer to GIN as the remote source.

What does this PR do?
Adds basic instructions for uploading new altases to V3.

How has this PR been tested?

Commands ran locally.

Checklist:

  • The code has been tested locally
  • The documentation has been updated to reflect any changes
  • The code has been formatted with pre-commit

@IgorTatarnikov
IgorTatarnikov requested a review from PolarBean June 2, 2026 20:14
@PolarBean

Copy link
Copy Markdown
Member

When following the instructions

aws login

returns

No AWS region has been configured. The AWS region is the geographic location of your AWS resources.

If you have used AWS before and already have resources in your account, specify which region they were created in. If you have not created resources in your account before, you can pick the region closest to you: https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html.

You are able to change the region in the CLI at any time with the command "aws configure set region NEW_REGION".

The instructions should let the user know the best response

* This directory should contain the `annotation-sets`, `atlases`, `coordinate-spaces`, `templates`, and `terminologies` subdirectories and nothing else
3. Get a preview of the files that will be synced with the remote by running:
```bash
aws s3 sync --dry-run . s3://brainglobe/atlas

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(base) harrycarey@snowy:~/brainglobe_workingdir/hoops_dragon/brainglobe-atlasapi$ aws s3 sync --dry-run . s3://brainglobe/atlas

aws: [ERROR]: An error occurred (ParamValidation): Unknown options: --dry-run

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the cli is apparently dryrun with no hyphen

```
4. If the output of the dry-run is correct, upload the new atlas using:
```bash
aws s3 sync . s3://brainglobe/atlas

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using dot is so dangerous lol, we're going to get a lot of people uploading their home directories. can we ask people to spell out the directory they want to upload

@PolarBean

Copy link
Copy Markdown
Member

ok something im confused about. say we have the allen which is generated at 10, 25, 50, and 100. in the 2022 version some of these meshes are reused across all resolutions and some are generated at each resolution.

Do we store meshes for each resolution?

Would i combine all these generated folders into one before uploading?

Is there an order i should follow to copy them into the same directory, for instance so that anything overwritten is overwritten with the highest resolution copy of that file?

@adamltyson

Copy link
Copy Markdown
Member

Do we store meshes for each resolution?

The meshes don't have a resolution in the same way that the images do (they're in real space). In principle I think we should probably only generate them from the highest resolution atlas?

@IgorTatarnikov

Copy link
Copy Markdown
Member Author

I agree with @adamltyson, the intention would be that meshes are generated once, at the highest resolution.

The wrapup function should be able to take a multi-resolution set of templates/annotations and run the mesh generation once on the highest resolution. The resulting output can be uploaded whole sale to AWS once generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants