Wide-field microscopes are increasingly used to collect optical sections of human tissue, allowing the reconstruction of multiplex volumetric image data. 3D images have been generated by high-resolution optical sectioning of selected fields of view. The volumetric data can enable novel biological analysis regarding tissue anatomy and morphology. However, only a few tools (primarily proprietary) can handle the size and multiplex structure of these datasets. Challenge participants will extend an open-source volume visualization tool developed by Google (Neuroglancer: https://github.com/google/neuroglancer) to handle multiplex volumetric image data in OME tiff format, typically used in digital histopathology.
Here, we describe some of your tasks in general. The tasks are intentionally open to give you the freedom to find the best solution.
1. Download and read the data
- You can download the data here
- each channel is a 3D volume of the same tissue showing different antibody reactions
- try to load the data using this code snippet
2. Visualizing single channels including segmentations
- how do you need to transform the OME-TIFF data format to load a single channel and segmentations into Neuroglancer
- can you convert OME-TIFF files into the neuroglancer precomputed format with multiresolution volumes and/or meshes
- is direct volume rendering an option? See this issue.
3. Visualizing multiple channels simultaneously, including segmentations
- can you load two volumes simultaneously using different data layers?
- how many volumes could you render simultaneously?
Here, we provide a list of open-source software tools you might find useful. Feel free also to consider other software libraries.
We provide you with three datasets containing the same channels but feature different interesting biological findings. The datasets are available via Synapse.org. Each dataset or cube has 40 slices x 29 channels x 1080 x 1080. All but the last channel are different markers, and the last channel is an instance segmentation mask computed from the DNA1 channel.
Channel Descriptions:
- DNA1
- PD1
- TLR3
- SOX10
- DNA2
- CD163
- CD3D
- PDL1
- DNA3
- CD4
- ICOS
- HLADPB1
- DNA4
- CD8A
- CD68
- GZMB
- DNA5
- CD40L
- LAG3
- HLAA
- DNA6
- SQSTM
- VIN
- TIM3
- DNA7
- LAMP1/CD107A
- PDL1_2
- PD1_2
- Nuclei Segementation Masks
you can load the data using the tiffile library in python. install it via:
pip install tiffile
Loading an image and printing the shape:
import tiffile
# tifffile.imread() returns a numpy array
image = tifffile.imread("<awesome_name>.tiff")
print(image.shape)
(z, c, y, x)