Comments (12)
If we don't have urgent considerations on GIN space
This shouldn't be an issue, we're only ever going to be downsampling, so the space needed will be relatively small.
from brainglobe-atlasapi.
Yeah sounds good, I don't mind having extra atlases/resolutions.
How slow is the downsampling? Should we just host the high res version and implement the downsampling locally?
from brainglobe-atlasapi.
I'd like all resolutions to be hosted for testing and troubleshooting. If we need to download and then downsample the atlas, a lot of the amap & cellfinder tests would time out.
from brainglobe-atlasapi.
ok no prob
from brainglobe-atlasapi.
If we don't have urgent considerations on GIN space - which I don't think we have ATM - I would go for hosting multiple resolutions versions, making sure they are generated with the same scripts changing resolution only
from brainglobe-atlasapi.
Related to this so I won't open another issue - the meshes should be generated all in the same measurement units - matching the resolution metadata specification, I would say in microns - although this might be weird for big things like human atlas. @FedeClaudi what do you think? What units are they currently in the human stack?
from brainglobe-atlasapi.
I'm not sure if microns is the best or if it can be specified on a per-atlas basis (which should be fine since you'd only be using one atlas at the time).
Either way, we can add code to `mesh_utils.extract_mesh_from_mask' to enforce a certain resolution (which ultimatly consists of multiplying each vertex's coordinates by some scalar factor no?)
from brainglobe-atlasapi.
It's just that ideally the user is never really exposed to the numbers and we don't care about that too much. But then I wonder if it affects file size and read speed - maybe yes, as they are saved as ascii?)...?
So my proposal:
- if resolution does not change file size, we keep microns and forget about the problem;
- If resolution does change significantly (>20%?) file size and reading speed, then let's add that as an option to be specified per-atlas.
from brainglobe-atlasapi.
we can check I guess. But given that all it changes is a constant factor for all vertices coordinates, you can save it in a more economical way and then multiply the values when loading, though that's not the best.
Maybe it's worth having slightly larger files for the sake of consistency
from brainglobe-atlasapi.
Ok, I did a quick test and it does not change anything over 6 orders of magnitude as full floats are written anyway. So I would opt for consistency - the only place where this could come out is scalebar in visualisations, and that would be quick to automatically change.
from brainglobe-atlasapi.
okay, where how do we want to implement this?
from brainglobe-atlasapi.
So, I will make in half an hour another PR - finger crossed you won't kill me :p - that cleans up a bit more the saving part of the atlas generation so that all the files will be saved by the same function. So ideally the scripts will be loading/polishing the data, but all the final saving for all files is handled by a single function for all atlases - I am sure we must have this for consistency.
So in this schema you load you meshes, in the script you do the multiplication on the vertices to ensure they are in microns, and then you pass to the saving function some meshes objects (or even better, vertices-faces-edges tuple) with vertices in microns coordinates that will be saved.
from brainglobe-atlasapi.
Related Issues (20)
- [Feature] Functionality to validate an newly-generated local atlas given a path
- [BUG] `brainglobe` entry point lost
- [BUG]Mesh issues with perens (20um) and kim (10um) HOT 4
- [BUG] the link to documentation in your github description is broken HOT 1
- [Feature] Are there plans for developing an online version of BrainGlobe-atlasapi? HOT 3
- [BUG] Hemisphere map not correctly set for mpin_zfish_1um_v1.0 HOT 2
- [Feature] Add Ambystoma mexicanum (axolotl) atlas
- Decide what to do with `atlas_generation/main_script` HOT 1
- deal with local and remote atlas versions in validate_atlases.py HOT 9
- validate_atlases.py additional_references error HOT 5
- Add updated version of the kim atlas HOT 1
- [Feature] flexibly generate atlases with different resolutions
- perens_atlas alignment trouble with new version [BUG] HOT 4
- perens_lsfm_mouse_20um_v1.1 is oriented incorrectly HOT 1
- Use pooch to download data
- User is informed (twice) that the atlas is not the latest when they're updating it
- The warning that an atlas is not the latest is missing a space
- Standardise the axial resolution of the allen spinal cord atlas HOT 1
- Save atlases to `.brainglobe/atlases`
- Atlases should be returned by `brainglobe list` in alphabetical order
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from brainglobe-atlasapi.