Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    tpietzsch
    @tpietzsch
    @StephanPreibisch Can you tell David Hörl? Is he in this room?
    Curtis Rueden
    @ctrueden
    I have nothing substantial to say about the N5 format though. :-( I'm sure it's lovely.
    tpietzsch
    @tpietzsch
    @ctrueden there's more unicode in there...
    │├ ...
    :-)
    Josh Moore
    @joshmoore
    "about ready to merge" --> :clap:
    Curtis Rueden
    @ctrueden
    I thought was in the extended (128-255) ASCII set.
    tpietzsch
    @tpietzsch
    @ctrueden no idea... I copied it from https://en.wikipedia.org/wiki/Box-drawing_character#Unicode ... You are probably right
    After the bigdataviewer-core PR is merged, I also have an export dialog ready for https://github.com/bigdataviewer/bigdataviewer_fiji/commits/n5
    (but need a bdv-core release first)
    Stephan Saalfeld
    @axtimwalde
    @tpietzsch Wonderful! Comment on the format: Can we replace /setup%02d/timepoint%05d/s%d by /setup%d/timepoint%d/s%d? It's an artificial constraint and helps with nothing else but bad file sorters?
    Thanks for keeping the compatibility redundancies for Paintera and n5-view!
    tpietzsch
    @tpietzsch
    @axtimwalde do you have a trick how to sort it nicely on the command line
    ls sorts it in the stupid way
    tpietzsch
    @tpietzsch
    hmm, ls -l | sort --version-sort sorts setup_%d correctly but not setup%d
    would you prefer /setup_%d/timepoint_%d/s%d?
    It's a bit weird, because there is no s_%d
    ok, forget it
    I did ls -l and it sorted by creation time then :-)
    tpietzsch
    @tpietzsch
    ls -l1 | sort --version-sort works
    so, ok, /setup%d/timepoint%d/s%d is fine
    I'll change it
    Stephan Saalfeld
    @axtimwalde
    Cool!
    Philipp Hanslovsky
    @hanslovsky
    @tpietzsch In paintera format, I put the downsamplingFactors in s0, s1 etc
    tpietzsch
    @tpietzsch
    yes, I put it there additionally
    Philipp Hanslovsky
    @hanslovsky
    Gotcha
    What might also be nice (which I do not have in Paintera), is to add the resolution and offset (or the affine) to each of s0, s1 etc, so you can load each mipmap level individually with the correct transform
    Can be useful for debugging
    But looks good to me :plus1:
    tpietzsch
    @tpietzsch
    @hanslovsky I'll add it to the format description document as a TODO
    This is similar to adding channel, angle, etc metadata
    It would be nice to have, but there is no agreed upon specification
    For BDV, for the foreseeable future, that stuff is contained in the XML.
    It will be easy to make a small tool that replicates it into existing n5 dataset later.
    Philipp Hanslovsky
    @hanslovsky
    :plus1:
    Philipp Hanslovsky
    @hanslovsky

    @tpietzsch I am revisiting VolatileViews.wrapAsVolatile and how to expose the underlying Cache/Invalidate. If I understand your proposed changes correctly, I would have to write something like this:

    final VolatileCache< Long, Cell< A > > volatileCache = createVolatileCache( grid, vtype, dirty, ( Cache ) cache, queue );
    final VolatileCachedCellImg< V, ? > img = new VolatileCachedCellImg<>( grid, vtype, hints, volatileCache.unchecked()::get );

    This would require that

    1. createVolatileCache is made public, and
    2. I write two lines of code instead of just VolatileViews.wrapAsVolatile. This is not a big deal but also not as easy to remember (and auto-complete in the IDE) as VolatileViews.wrapAsVolatile.

    I propose instead:

    1. Remove VolatileCachedCellImg.Get interface and always use UncheckedVolatileCache inside VolatileCachedCellImg (the name includes Cached after all).
    2. expose cache of VolatileCachedCellImg.
    3. Have CachedCellImg, VolatileCachedCellImg, and possibly VolatileViewData implement Invalidate and just delegate to the internal cache. With a growing number of image classes that can hold caches it is going to be much easier to check if a RandomAccessibleInterval can be invalidated if the check is only rai instanceof Invalidate
    tpietzsch
    @tpietzsch
    @hanslovsky I think you misunderstood me completely
    I'm fine with VolatileViewData implementing Invalidate
    I was just suggesting how to get rid of the ugly Pair return value in the implementation details
    Please have another look at what I suggested
    -> If the current master would be modified like this, then it would be easy to adapt your proposed changes to work without the Pair
    ...
    Philipp Hanslovsky
    @hanslovsky
    :plus1:
    Cool
    Thanks for the clarification @tpietzsch
    tpietzsch
    @tpietzsch
    @hanslovsky I'm on vacation next week, I'll review it afterwards...
    I hope that is soon enough...
    Philipp Hanslovsky
    @hanslovsky
    No worries @tpietzsch I have a workaround in Paintera so there is no rush on my side. It's just going to be nicer to have it available in vistools as well. Enjoy your vacation!
    tpietzsch
    @tpietzsch
    :-) thanks
    Curtis Rueden
    @ctrueden
    @tpietzsch Hope you have a nice vacation!
    Kyle I S Harrington
    @kephale
    bigdataviewer doesn't naturally work with jitpack because the group-id doesn't match the github organization