BigStitcher define dataset not working...?



Hi all,

So I´m trying to use Bigstitcher (and it looks very promising as a software) as suggested by @imagejan but I am not able to define a dataset in any way I tried so far. Not sure this is the best place to report this. Happy to report somewhere else.

I always get the following error:

    	at java.util.HashMap$HashIterator.nextNode(
    	at java.util.HashMap$
    	at net.preibisch.mvrecon.fiji.datasetmanager.FileListDatasetDefinition.createDataset(
    	at net.preibisch.mvrecon.fiji.plugin.Define_Multi_View_Dataset.defineDataset(
    	at ij.IJ.runUserPlugIn(
    	at ij.IJ.runPlugIn(
    	at ij.Executer.runCommand(

This is my system
(Fiji Is Just) ImageJ 2.0.0-rc-65/1.51w; Java 1.8.0_66 [64-bit]; Windows 10 10.0; 71MB of 12165MB (<1%)

with a clean Fiji install.

I would like to be able to define the tiles from a config file but I´m not able to even get to that point…
Thanks a lot for the help.


Hi @Helio_Roque ,

Can you give us some information about what kind of file(s), e.g. which format, how many channels, etc., you are trying to open? Can you also tell us which options you chose in the Assign metadata step?

From the error I can see that you are using the Automatic Loader - as a fallback, you could also save the tiles of your dataset as simple TIFF stacks and import them using the Manual Loader (TIFF only, ImageJ Opener).

But since the Automatic loader should ideally work with everything, we are happy about detailed feedback and we’ll try to fix any bugs you encounter!



Hi @hoerldavid,

Sorry for the late response but its been a few busy days…
I´ve tried every way to define the dataset and in the end what worked for me was to rename all the files to a simpler name. It went trough all the steps and it always failed after the step “Define metadata for Views” regardless of the options I made. That´s were I always got the error. Hope this helps.
The files are simple tiffs with no metadata as far as I am aware from an in-house built scope
I attached here one of those tiff files. Once I named all the files to file{x}.tif it worked fine.



Hi @Helio_Roque,

Okay, I get it now. The problem is that we only detect simple patterns of uninterrupted sequences of numbers at the moment. Also, everything between the variable parts has to be the same. So for your filename czv263p1derechaex532_em572_5x_0_X0.001_Y-0.123_Z0.000_R0.000_R.tif, there are two problems:

  • The floating point numbers would be treated as two separate variable regions (this should still be okay though, you just have to select Pattern n represents: Tile for all of them).
  • If a minus sign is there in some files but not in others, the dataset definition would fail since it is a non-digit varying region. Also, I guess that _R.tif represents illumination direction? In that case, you would run into the same problem if other files contain _L.tif.

Also, we do not use these numbers as metadata at the moment (X0.001_Y-0.123 would not shift the tile), only as indices.

A simpler version like:
should work.

You then would have to load the locations from a Tile configuration file, of course.

I hope this explains the problem, at least.
Good luck with the next steps!



Hi @hoerldavid,

Thanks for the clarification, I assumed there was some problem with the appearance of minus signals in the files, yes.
I have follow the path you mentioned of loading the positions from a configuration file and have my database with the tiles more or less well positioned. The problem that I appear to be having is that when calculating pairwise shifts it appears that it does not take into account the z planes…Is there an option that I missed to say to ignore shifts along Z?

In any case, wanted to say good work to everyone involved in BigStitcher!



Hi @Helio_Roque,

Does it completely ignore z or just give very small numbers?
How big are your stacks and how much do you downsample when calculating pairwise shifts?

By default, we only ignore z if the stacks are 1px deep (2d, essentially) .



Hi @hoerldavid,

So I´m not sure what I´m doing here wrong but it has loads of problems. I attache here the database file and the tileconfiguration file. It might be a simple error on any of these and if thats the case I apologize but I really get quite alot of strange errors.

To answer your questions the database is not big: 7 x 5 x 13 at 2K per image. I loaded them in pixels so 1x1x1.

I also convert the files to hdf5 to make things faster. I get the table with all the files loaded but of BigDataViewer I can only visualize the first Z plane. If I select tiles from other planes then the first they don´t appear.
I can run the calculate pairwise shifts and it appears to function (it takes quite a long time) and it gives me correlations and changes in the coordinates.
From there I cannot optimize globally, and if I do it by planes, the merge does not look good but more importantly the other z planes are empty.

Cheers, (151.4 KB)


Hi Helio,

I see that you save every z-plane as a single file - we do not support that unfortunately.
The stitcher will thus assign every (x,y,z)-combination to a separate Tile. That explains why BDV only displays one plane and why the stitching does not calculate z shifts.

I fear I have not quick solution for that - you probably have to concatenate the planes into a stack in Fiji and save the stack - then everything should be OK.

Sorry for that,

Define BigDataViewer dataset xml to join several planes

Hi David,

That explains it all!! Its fine for me since changing the arrange of the images is straigthforward for me so no big issues. Now I will get on with trying BigStitcher and see what I can get out of it!

Thanks again,