How about creating .bdv file type?

bigdataviewer
hdf5
format
scifio
Tags: #<Tag:0x00007fb88379ab38> #<Tag:0x00007fb88379a7a0> #<Tag:0x00007fb88379a4a8> #<Tag:0x00007fb88379a228>

#1

Dear all,

Quite long time ago, I proposed @tpietzsch to support .bdv instead of .xml for the bigdataviewer file.
Then, probably, we can support drag/drop and double-clicking for opening it directly.

The below step is based on MacOSX for example:

1 . Register “.bdv” with Fiji (for macosx)

defaults write com.apple.LaunchServices LSHandlers -array-add "<dict><key>LSHandlerContentTag</key><string>bdv</string>
<key>LSHandlerContentTagClass</key><string>public.filename-extension</string>
<key>LSHandlerRoleAll</key><string>org.fiji</string></dict>"

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

2 . Add “.bdv” handler in fiji/IO/HandleExtraFileTypes.java (refer: https://github.com/hkmoon/IO/commit/24929383218bb13ddddb24a5923c344db93a18e0)

3 . Accept arg in BigDataBrowserPlugin (refer: https://github.com/hkmoon/bigdataviewer_fiji/commit/3f658c8f51e2423a216b22df8a4a6ed771fa2723)

4 . Rename “dataset.xml” to “dataset.bdv”

5 . Start BigDataBrowserPlugin by double-clicking “dataset.bdv” file.

If step 1. is skipped, we can support drag/drop “.bdv” into the Fiji status bar at least, which might be quite convenient rather than opening BigDataViewer plugin each time.

How do you think?

Cheers,
HongKee


#2

Why not write a SCIFIO format plugin, and/or SciJava I/O plugin? Then:

  • You can keep using .xml for the extension
  • You do not have to use the legacy+limited HandleExtraFileTypes approach of ImageJ 1.x
  • The SciJava I/O plugin can display the data in BigDataViewer as desired

The only thing you can’t do without using a dedicated extension is step 1, the OS-level extension registration.


#3

Hi @ctrueden,

You are awesome. Actually, I did not think of it.
I will nag at @tpietzsch for having BigDataViewer SCIFIO plugin-compatible.

Thank you so much,
HongKee


#4

I would definitely keep supporting .xml extension. (This can also be done with HandleExtraFileTypes, for example look at how TrakEM2 xml files are handled). Drag-and-dropping XML files would then work. We could add .bdv as an additional extension, if it can be used such that links to datasets on the bigdataserver could be then opened directly in Fiji (from the browser).

SCIFIO format plugin is wuite some work I think. I would keep that for later, when BDV and SCIFIO cache architecture have converged, if at all.

SciJava I/O plugin seems like the “modern” way to do HandleExtraFileTypes. Do you want to have a go at it @hkmoon?


#5

@tpietzsch, I am thinking that HDF5 based BigDataViewer format is getting more demanding because the images are growing so fast and it might be one of (big) image export types sooner or later. That is why I suggest .bdv as an export format when all the meta data can be provided.

Surely, I will have a look on SciJava I/O plugin.