Comments (10)
I have updated this:
- elf is fully optional now and you can convert to n5 as long as you have
z5py
in your env (conda install -c conda-forge z5py
) - I have disabled the check for number of setup ids for n5.
from pybdv.
the HDF5 structure does not support more than 2 digit
ViewSetup
s.
Would N5 support it? I can see thesetupN
directory structure. Is there a limitation to the digits ofN
?
Yes, the n5 structure supports an arbitrary number of setups. To make it work in pybdv I would need to change this check so it is only triggered for hdf5:
https://github.com/constantinpape/pybdv/blob/master/pybdv/converter.py#L90-L92
BTW: Where can I find the
elf
package? I cannot getpybdv
's n5 conversion to work.
You can find it here; but maybe I shouldn't depend on it in pybdv. I will check if it's easy to replace later.
https://github.com/constantinpape/elf
from pybdv.
OK, cool,
then I will just use n5 if there are more than 100 ViewSetups.
elf
is a bit of an ambiguous package name. I did some research and just could not find the right one... Maybe just rename it. And yes, that obvious place I did not check...
from pybdv.
Hi,
this seems to work.
The conversion to n5 with the default chunk size (that is 64, correct?) takes ages. I guess this is because the group shrae filers are not optimized for dealing with such many small files...?
Is there any mechanism in n5 (or similar other data format) that would overcome this?
from pybdv.
I just found that even reading the chunks seems very slow from the group shares as compared to h5.
Is there some hybrid format, or would you just increase the chunk size?
from pybdv.
I just found that even reading the chunks seems very slow from the group shares as compared to h5.
Is there some hybrid format, or would you just increase the chunk size?
Normally h5 and n5 should be more or less the same speed; could you maybe post the h5 and n5 file where you have observed this, the exact environment you have used and the access pattern?
from pybdv.
can you see /g/emcf/schorb/data/BDV/montages/LLP_001/bdv_LLP
?
That's both the same thing. N5 took 5x as long to create using the current master commit.
When loading in BDV, h5 appears instantaneously while N5 takes >20 s until reaching the stage where bdv-playground considers the data loaded and performs the centering and auto-contrast. This is in a VM, so IO to the group share should be comparable.
from pybdv.
that's with default chunk size (64,64,64). It gets a bit better when setting the chunks to something like (1,512,512) instead.
from pybdv.
Ok, I had a look at the data. Indeed I also see quite a big difference in the loading speed.
However, this data is 2d, so (1, 64, 64) chunks are tiny! I would definitely go with (1, 512, 512).
In my experience, the over-head of reading the individual chunks from file system is not too large; however at some point it becomes problematic.
At some point I measured it on the Janelia distributed file system and there it wasn't a big problem if chunks were ~ 64** 3 size; we should measure this at EMBL at some point as well to determine what is a good minimal size.
In any case, for 2d data I would always go with at least (1, 512, 512) chunks.
from pybdv.
I closed this, feel free to reopen if this is still relevant.
from pybdv.
Related Issues (20)
- anisotropic voxel sizes HOT 4
- dealing with absolute paths HOT 4
- attributes no longer supported HOT 4
- Downsampling if already present HOT 2
- memmaps while modifying metadata only HOT 2
- edit mode and group mode kill each other HOT 3
- pybdv crashes when I import HOT 1
- Scales by make_bdv seem to 'move' the data HOT 5
- Halo computation in downsample function does not work correctly HOT 3
- make_bdv fails upon certain dataset size HOT 2
- TIF conversion fails due to missing extension in directory path HOT 13
- generate N5 fails HOT 2
- chunk boundaries visible as black cubes HOT 7
- On the fly editing much slower for n5 than hdf5 HOT 2
- on the fly example 3D, multi channels, multi timepoints HOT 1
- Updating version on conda HOT 3
- Feature request: working with dask arrays HOT 5
- file not found error in abspath HOT 2
- Interpolation mode failed in the newest version?
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 pybdv.