bigdataprocessor / bigdataprocessor1

Other
1 stars 2 forks source link

generating xml for entire multistack dataset #6

Open pawlowska opened 5 years ago

pawlowska commented 5 years ago

I have a dataset from Luxendo microscope that I can "stream" with the Big Data Processor. I am looking for a way to generate xml file compatible with BiGDataViewer for the purpose of loading it into BigStitcher and stiching.

There exists an option Big Data Tools -> "Save as BigDataViewer xml/hdf5", however -it lets me only to select a single file, not folder -when selecting a h5 file it returns an error "This folder does not contain any tiff, jpeg, ..."

tischi commented 5 years ago

Dear Monika,

Thank you for your request.

You first have to stream the data set into the plugin and then, second, save the stream.

Does that work?

Could you please also try the BigDataProcessor2 plugin? https://github.com/tischi/fiji-plugin-bigDataProcessor2 I am not really supporting the old one anymore as much...

Let me know if you still have trouble! We could also have a short Skype.

pawlowska commented 5 years ago

BigDataProcessor2 has a separate github page, but it installs from the same Fiji update site, correct? "EMBL-CBA"?

tischi commented 5 years ago

Correct!

image

Another note: If there is an an option "Save as Imaris" you can also use that and then in Fiji:

image
pawlowska commented 5 years ago

I can open my dataset using BigDataProcessor2 and it looks fine, but I still don't know how to generate the xml. Resaving as Imaris takes ages (after a few minutes I am still at 0%) and it will duplicate the data, correct? I have a few huge datasets (cleared samples) and I'm looking for a way to read the into BigSticher (which is also based on BigDataViewer) WITHOUT resaving everything.

tischi commented 5 years ago

Oh, I see. You just want to generate the bdv xml header for already existing data! I do not have code for this. The Luxendo company people should have such code! In case you get something from them, could you let me know?

pawlowska commented 5 years ago

I asked them already yesterday, in parallel with asking here, but last time I talked to them they were still working on it. In the meantime, I tried opening with BigDataProcessor2 and then:

Save->Save as...->Hdf5 Volumes,

because I think for stitching I will have to do it anyway. However, this causes an error (and it's not the RAM for sure, because I'm trying on a smaller test dataset. Also reducing the threads doesn't help) error

tischi commented 5 years ago

Could you please try again, using save as "Imaris Volumes"?

pawlowska commented 5 years ago

I think saving as "Imaris Volumes" freezes. I started again, and after 20 minutes: -progress bar stll at 0% -Java console not open (when I tried saving tif projections, this worked and the Java console displayed messages with the number of channel it is working on) -no file is generated -the CPU and RAM activity doesn't change.

When I click "Stop saving" (again this worked for tif projections), the this error appears in console: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at de.embl.cba.bdp2.ui.SaveMenuDialog.stopSave(SaveMenuDialog.java:141) at de.embl.cba.bdp2.ui.SaveMenuDialog.lambda$actionPerformed$2(SaveMenuDialog.java:134) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

tischi commented 5 years ago

hmmm. strange.

  1. when did you last update your Fiji?
  2. can you some, e.g. dropbox provide me with a minimal subset of your data?
pawlowska commented 5 years ago
  1. today :)
  2. I'll try
pawlowska commented 5 years ago

@tischi here is some data. I'm sorry that it's still quite large. https://drive.google.com/open?id=1cRT9h2pnIDNaOkgoxXv85uM4N6GcLY

tischi commented 5 years ago

Thanks I will try later today!

tischi commented 5 years ago

"The requested URL was not found on this server." The link seems broken...

pawlowska commented 5 years ago

try now. The last character of the link, the "_", was somehow being ignored

tischi commented 5 years ago

Thank you very much! Your post and data allowed me to find a couple of bugs!

If you update your Fiji, it should now be possible to save as Imaris Volumes, which can be opened in Bdv. If is quite slow though: several minutes per channel and time-point. I hope to improve this in the next couple of weeks.

image image
tischi commented 5 years ago

I did some changes. If you update your Fiji again, the export could be somewhat faster already.

pawlowska commented 5 years ago

Hi, thanks for taking time to look into it. What I can see: -saving tiff volumes works -saving Imaris volumes seems to work, too, but I don't know how to use it in Fiji -saving hdf5 disappeared - are you not planning to support it anymore?

tischi commented 5 years ago

Hi,

there are two ways of opening the imaris files with Fiji:

Open whole imaris data set with Bdv

image

And click on the *.ims file. Then you can browse the whole data set in Bdv.

Open individual volume with Hdf5

image

Here you can even select the resolution layer that you would like to open :)

image

This will open it in the ImageJ Hyperstack viewer.

Saving "plain hdf5"

I do not plan to support this currently, because saving as Imaris seems to be better to me. What do you think?