Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unclear how to build JSON files #19

Open
justjess678 opened this issue Oct 30, 2019 · 1 comment
Open

Unclear how to build JSON files #19

justjess678 opened this issue Oct 30, 2019 · 1 comment

Comments

@justjess678
Copy link

Not an issue so much as a question: in phase 2." Preparing input tile configuration files", what is that file shown as an example? What is it called? What is stored in the ch0.json file? Do I need to fill it myself or is it generated?

And more importantly what do all the parameters mean? Why are there three in each list? (I would have expected 2 instead, for length and height values).

I have two .tif images, in black and white, with a size of 441x372px, what would I put in their configuration files?

Thanks for any help on this :)

@justjess678 justjess678 changed the title Unclear how to build JSON fiels Unclear how to build JSON files Oct 30, 2019
@igorpisarev
Copy link
Contributor

Hi @justjess678, sorry for the delayed reply and if the readme was unclear.
We use this tool to do large-scale 3D image registration, where a biological sample is imaged using a light microscope as a collection of overlapping tiles. In our case the number of tiles in a single acquisition can vary from a few hundred to several thousand, and the total amount of data can reach several terabytes. To be able to process these acquisitions in reasonable time, this tool carries out all computations on a high-performance compute cluster, where the registration is split into small tasks and parallelized over a large number of executors.

From what I understand, you work with two-dimensional images. Although 2D mode is supported in this tool, I would suggest to try other tools such as Fiji's Stitching plugin: https://imagej.net/Image_Stitching. This plugin essentially solves the same problem of combining several tiles into a single image while providing an intuitive user interface, and it's perfectly suitable for 2D and small 3D image collections. Our high-performance cluster-based solution uses a similar approach but scales it up to enable support of very large datasets.

The example JSON tile configuration file in the readme is what this tool takes as an input, which is called ch0.json (or ch1.json, etc.) throughout the rest of the readme. The acquisitions I've worked with usually contain several image channels where each channel may highlight different structures/cells in the imaged sample, and these channels are usually stored as separate .tif images so it makes sense to have a separate tile configuration file for each channel.
We do generate these JSON files by converting metadata files from other formats, but for general use these JSON files would need to be filled manually, or you could write a script to convert your metadata files into the specified JSON format:

  • position and size are defined in pixels. The example JSON is for 3D data, so there are three values in each property, and for 2D tiles you would have just two values.
  • pixelResolution defines physical size of a pixel and is something that we use when working with 3D microscopy data, and for 2D you can just set it to [1,1].
  • type can be either GRAY8, GRAY16, or GRAY32, and should correspond to the bit depth of your image tiles.
  • file is just the file path to the image tile.

I hope this helps, and thanks for the interest in this project!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants